Unable to connect to Database Postgres

Version using:
Sonarqube 7.8

What are you trying to achieve?
I’m trying to connect to an RDS instance of Postgres using proper JDBC connection strings and username and password
I need to connect to this DB first, then stop sonarqube in order to migrate all the data from mysql.

What have you tried so far to achieve this

  • I’ve tried to create a new schema and updated the url in sonar.properties file, but no luck.

  • I’ve checked from local machine’s command line that, I’m able to access the database and there is no problem with connection.

logs for reference:

sonar.properties file for db connection:
#----- PostgreSQL 9.3 or greater

#By default the schema named “public” is used. It can be overridden with the parameter “currentSchema”.

sonar.jdbc.url=jdbc:postgresql://xxxx.xxx.xxx.amazonaws.com/sonar-xxx?currentSchema=sonar-xxx

web.log:

2020.02.07 10:28:10 INFO  web[][o.s.p.ProcessEntryPoint] Starting web
2020.02.07 10:28:11 INFO  web[][o.a.t.u.n.NioSelectorPool] Using a shared selector for servlet write/read
2020.02.07 10:28:11 INFO  web[][o.s.c.e.CoreExtensionsLoader] Loaded core extensions: developer-edition, developer-scanner, developer-server, license
2020.02.07 10:28:12 INFO  web[][o.e.p.PluginsService] no modules loaded
2020.02.07 10:28:12 INFO  web[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.join.ParentJoinPlugin]
2020.02.07 10:28:12 INFO  web[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.percolator.PercolatorPlugin]
2020.02.07 10:28:12 INFO  web[][o.e.p.PluginsService] loaded plugin [org.elasticsearch.transport.Netty4Plugin]
2020.02.07 10:28:13 INFO  web[][o.s.s.e.EsClientProvider] Connected to local Elasticsearch: [127.0.0.1:9001]
2020.02.07 10:28:13 INFO  web[][o.s.s.p.LogServerVersion] SonarQube Server / 7.8.0.26217 / xxxxxx
2020.02.07 10:28:13 INFO  web[][o.sonar.db.Database] Create JDBC data source for jdbc:postgresql://xxxx.us-west-2.rds.amazonaws.com/sonar-xxx?currentSchema=sonar-xxx
2020.02.07 10:28:23 ERROR web[][o.s.s.p.Platform] Web server startup failed
 java.lang.IllegalStateException: Fail to connect to database
 	at org.sonar.db.DefaultDatabase.start(DefaultDatabase.java:88)
 	at org.sonar.core.platform.StartableCloseableSafeLifecyleStrategy.start(StartableCloseableSafeLifecyleStrategy.java:40)
 	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84)
 	at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169)
 	at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132)
 	at org.picocontainer.behaviors.Stored.start(Stored.java:110)
 	at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1016)
 	at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1009)
 	at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:767)
 	at org.sonar.core.platform.ComponentContainer.startComponents(ComponentContainer.java:135)
 	at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:90)
 	at org.sonar.server.platform.platformlevel.PlatformLevel1.start(PlatformLevel1.java:157)
 	at org.sonar.server.platform.Platform.start(Platform.java:211)
 	at org.sonar.server.platform.Platform.startLevel1Container(Platform.java:170)
 	at org.sonar.server.platform.Platform.init(Platform.java:86)
 	at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:43)
 	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4817)
 	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5283)
 	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1423)
 	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1413)
 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 	at java.lang.Thread.run(Thread.java:748)
 Caused by: java.lang.IllegalStateException: Can not connect to database. Please check connectivity and settings (see the properties prefixed by 'sonar.jdbc.').
 	at org.sonar.db.DefaultDatabase.checkConnection(DefaultDatabase.java:119)
 	at org.sonar.db.DefaultDatabase.start(DefaultDatabase.java:85)
 	... 24 common frames omitted
 Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (The connection attempt failed.)
 	at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2385)
 	at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:2110)
 	at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1563)
 	at org.sonar.db.profiling.NullConnectionInterceptor.getConnection(NullConnectionInterceptor.java:31)
 	at org.sonar.db.profiling.ProfiledDataSource.getConnection(ProfiledDataSource.java:317)
 	at org.sonar.db.DefaultDatabase.checkConnection(DefaultDatabase.java:116)
 	... 25 common frames omitted
 Caused by: org.postgresql.util.PSQLException: The connection attempt failed.
 	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:292)
 	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:454)
 	at org.postgresql.Driver.connect(Driver.java:256)
 	at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:53)
 	at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:291)
 	at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:2395)
 	at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2381)
 	... 30 common frames omitted
 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:70)
 	at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:91)
 	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:192)
 	... 38 common frames omitted
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][[timer]]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  java.lang.Thread.sleep(Native Method)
  org.elasticsearch.threadpool.ThreadPool$CachedTimeThread.run(ThreadPool.java:574)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][scheduler][T#1]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
  java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2078)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1093)
  java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:809)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][transport_worker][T#1]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
  sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
  sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
  io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:765)
  io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:413)
  io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][generic][T#1]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
  java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
  java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][transport_worker][T#2]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
  sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
  sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
  io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:765)
  io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:413)
  io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][transport_worker][T#3]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
  sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
  sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
  io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:765)
  io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:413)
  io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][transport_worker][T#4]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)
  sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)
  sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)
  sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)
  sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)
  io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:62)
  io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:765)
  io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:413)
  io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:909)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][generic][T#2]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
  java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
  java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][generic][T#3]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
  java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
  java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 WARN  web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [elasticsearch[_client_][generic][T#4]] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
  sun.misc.Unsafe.park(Native Method)
  java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
  java.util.concurrent.LinkedTransferQueue.awaitMatch(LinkedTransferQueue.java:737)
  java.util.concurrent.LinkedTransferQueue.xfer(LinkedTransferQueue.java:647)
  java.util.concurrent.LinkedTransferQueue.take(LinkedTransferQueue.java:1269)
  java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)
  java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)
  java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  java.lang.Thread.run(Thread.java:748)
2020.02.07 10:28:23 INFO  web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2020.02.07 10:28:23 INFO  web[][o.s.p.ProcessEntryPoint] Hard stopping process

Hi,

There’s a timeout trying to connect to your database. You should double check your JDBC settings, and make sure that there’s nothing on the network blocking the connection.

 
Ann

1 Like

You are right. I had whitelisted instance’s IP address in postgres security group inbound rule but when instance makes calls it goes through AWS network(internal) IP’s so the IP will be different. Using security groups is always the preferred way within a VPC. Since I usually work with IP’s in internal networks, this slipped out of my mind.