JDBC/Postgres error

1,069 views
Skip to first unread message

merbro...@gmail.com

unread,
Jul 24, 2018, 5:14:19 PM7/24/18
to DSpace Technical Support
I am getting the following error while installing Dspace on Linux (using an Amazon AMI). It seems to be a JDBC/Postgres error. However, I am also in a place where the local connection to the server occasionally flakes out.
Any guidance? Thank you!

Jul 24, 2018 9:00:48 PM org.postgresql.Driver connect

SEVERE: Connection error: 

org.postgresql.util.PSQLException: The connection attempt failed.

at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:259)

at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)

at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)

at org.postgresql.Driver.makeConnection(Driver.java:452)

at org.postgresql.Driver.connect(Driver.java:254)

at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:39)

at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:256)

at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2304)

at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2290)

at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)

at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)

at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141)

at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:301)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)

at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)

at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)

at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1387)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352)

at com.sun.proxy.$Proxy40.beginTransaction(Unknown Source)

at org.dspace.core.HibernateDBConnection.getSession(HibernateDBConnection.java:43)

at org.dspace.core.HibernateDBConnection.configureDatabaseMode(HibernateDBConnection.java:154)

at org.dspace.core.HibernateDBConnection.setConnectionMode(HibernateDBConnection.java:140)

at org.dspace.core.Context.setMode(Context.java:701)

at org.dspace.core.Context.init(Context.java:183)

at org.dspace.core.Context.<init>(Context.java:126)

at org.dspace.administer.CreateAdministrator.<init>(CreateAdministrator.java:101)

at org.dspace.administer.CreateAdministrator.main(CreateAdministrator.java:70)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)

at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)

Caused by: java.net.SocketTimeoutException: connect timed out

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at org.postgresql.core.PGStream.<init>(PGStream.java:69)

at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:158)

... 37 more


Exception: Could not open connection

org.hibernate.exception.GenericJDBCException: Could not open connection

at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:124)

at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:221)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.getConnection(LogicalConnectionImpl.java:157)

at org.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.doBegin(JdbcTransaction.java:67)

at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:160)

at org.hibernate.internal.SessionImpl.beginTransaction(SessionImpl.java:1387)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352)

at com.sun.proxy.$Proxy40.beginTransaction(Unknown Source)

at org.dspace.core.HibernateDBConnection.getSession(HibernateDBConnection.java:43)

at org.dspace.core.HibernateDBConnection.configureDatabaseMode(HibernateDBConnection.java:154)

at org.dspace.core.HibernateDBConnection.setConnectionMode(HibernateDBConnection.java:140)

at org.dspace.core.Context.setMode(Context.java:701)

at org.dspace.core.Context.init(Context.java:183)

at org.dspace.core.Context.<init>(Context.java:126)

at org.dspace.administer.CreateAdministrator.<init>(CreateAdministrator.java:101)

at org.dspace.administer.CreateAdministrator.main(CreateAdministrator.java:70)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.dspace.app.launcher.ScriptLauncher.runOneCommand(ScriptLauncher.java:229)

at org.dspace.app.launcher.ScriptLauncher.main(ScriptLauncher.java:81)

Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The connection attempt failed.)

at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2294)

at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2039)

at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1533)

at org.hibernate.service.jdbc.connections.internal.DatasourceConnectionProviderImpl.getConnection(DatasourceConnectionProviderImpl.java:141)

at org.hibernate.internal.AbstractSessionImpl$NonContextualJdbcConnectionAccess.obtainConnection(AbstractSessionImpl.java:301)

at org.hibernate.engine.jdbc.internal.LogicalConnectionImpl.obtainConnection(LogicalConnectionImpl.java:214)

... 24 more

Caused by: org.postgresql.util.PSQLException: The connection attempt failed.

at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:259)

at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)

at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:195)

at org.postgresql.Driver.makeConnection(Driver.java:452)

at org.postgresql.Driver.connect(Driver.java:254)

at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:39)

at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:256)

at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2304)

at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2290)

... 29 more

Caused by: java.net.SocketTimeoutException: connect timed out

at java.net.PlainSocketImpl.socketConnect(Native Method)

at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)

at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)

at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)

at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)

at java.net.Socket.connect(Socket.java:589)

at org.postgresql.core.PGStream.<init>(PGStream.java:69)

at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:158)

... 37 more

helix84

unread,
Jul 25, 2018, 10:11:02 AM7/25/18
to merbro...@gmail.com, DSpace Technical Support
The cause is desribed by this line:
Caused by: java.net.SocketTimeoutException: connect timed out

Is this an intermittent issue?

Do you see anything at the corresponding time in the Postgres server log?


Regards,
~~helix84

Compulsory reading: DSpace Mailing List Etiquette
https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette


--
All messages to this mailing list should adhere to the DuraSpace Code of Conduct: https://duraspace.org/about/policies/code-of-conduct/
---
You received this message because you are subscribed to the Google Groups "DSpace Technical Support" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dspace-tech...@googlegroups.com.
To post to this group, send email to dspac...@googlegroups.com.
Visit this group at https://groups.google.com/group/dspace-tech.
For more options, visit https://groups.google.com/d/optout.

Meredith Broussard

unread,
Jul 25, 2018, 11:55:08 AM7/25/18
to DSpace Technical Support
I don’t see anything in the Postgres server log. The issue is not intermittent, it is constant.
Could it have something to do with the permissions? I have these users set up:
postgres
dspace-admin
tomcat
I’m not sure what the permissions should be, nor how to check permissions for the various pieces of the dspace application.
Thank you.

helix84

unread,
Jul 25, 2018, 6:12:17 PM7/25/18
to merbro...@gmail.com, DSpace Technical Support
I see. In that case, your connection string might be wrong (db.url in dspace.cfg or local.cfg), so double check it. Also check whether there's any firewall preventing you to connect to postgres.

Try running this diagnostic command to request DSpace to attempt to connect to the DB:

[dspace]/bin/dspace database test


(It may just print out the same error.)

Another thing you can try is to attempt to connect to postgres from the dspace machine manually:

Here's what an unsuccessful attempt would look like:

$ telnet 127.0.0.1 5432
Trying 127.0.0.1...
telnet: Unable to connect to remote host: Connection refused

And a successful one:

$ telnet 127.0.0.1 5432
Trying 127.0.0.1 ...
Connected to 127.0.0.1
Escape character is '^]'.
^CConnection closed by foreign host.


If you're connecting via ssh over a flaky connection, try running mosh (https://mosh.org/) over ssh. (But that has nothing to do with your postgres issue.)


Regards,
~~helix84

Compulsory reading: DSpace Mailing List Etiquette
https://wiki.duraspace.org/display/DSPACE/Mailing+List+Etiquette

Meredith Broussard

unread,
Jul 26, 2018, 1:24:37 PM7/26/18
to DSpace Technical Support
Success! Indeed, one of the problems was the firewall.  
Also, in pg_hba.conf, I added the server’s own IP address rather than 127.0.0.1, and that did the trick.

Thank you!
Reply all
Reply to author
Forward
0 new messages