I have SonarQube in an Azure container instance and trying to connect sql server to the instance but getting a Web Server failed errror. I been looking thru this log but can’t pinpoint the issue. I have tried different connectionstring formats including this and it still will not work. I check the sonar.jdbc properties and they look good as well. I removed the password and username for security.
jdbc:sqlserver://vinkr3zy3r.database.windows.net:1433;database=Sonar;user=username;password={your_password_here};encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;
2022.04.19 01:57:19 INFO app[][o.s.a.AppFileSystem] Cleaning or creating temp directory /opt/sonarqube/temp
2022.04.19 01:57:19 INFO app[][o.s.a.es.EsSettings] Elasticsearch listening on [HTTP: 127.0.0.1:9001, TCP: 127.0.0.1:43293]
2022.04.19 01:57:20 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[[key='es', ipcIndex=1, logFilenamePrefix=es]] from [/opt/sonarqube/elasticsearch]: /opt/sonarqube/elasticsearch/bin/elasticsearch
2022.04.19 01:57:20 INFO app[][o.s.a.SchedulerImpl] Waiting for Elasticsearch to be up and running
warning: no-jdk distributions that do not bundle a JDK are deprecated and will be removed in a future release
2022.04.19 01:57:24 INFO es[][o.e.n.Node] version[7.16.2], pid[58], build[default/tar/2b937c44140b6559905130a8650c64dbd0879cfb/2021-12-18T19:42:46.604893745Z], OS[Linux/5.4.81-microsoft-standard/amd64], JVM[Eclipse Adoptium/OpenJDK 64-Bit Server VM/11.0.13/11.0.13+8]
2022.04.19 01:57:24 INFO es[][o.e.n.Node] JVM home [/opt/java/openjdk]
2022.04.19 01:57:24 INFO es[][o.e.n.Node] JVM arguments [-XX:+UseG1GC, -Djava.io.tmpdir=/opt/sonarqube/temp, -XX:ErrorFile=../logs/es_hs_err_pid%p.log, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -Djna.tmpdir=/opt/sonarqube/temp, -XX:-OmitStackTraceInFastThrow, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j2.formatMsgNoLookups=true, -Djava.locale.providers=COMPAT, -Des.enforce.bootstrap.checks=true, -Xmx512m, -Xms512m, -XX:MaxDirectMemorySize=256m, -XX:+HeapDumpOnOutOfMemoryError, -Dnode.store.allow_mmap=false, -Des.path.home=/opt/sonarqube/elasticsearch, -Des.path.conf=/opt/sonarqube/temp/conf/es, -Des.distribution.flavor=default, -Des.distribution.type=tar, -Des.bundled_jdk=false]
2022.04.19 01:57:25 INFO es[][o.e.p.PluginsService] loaded module [analysis-common]
2022.04.19 01:57:25 INFO es[][o.e.p.PluginsService] loaded module [lang-painless]
2022.04.19 01:57:25 INFO es[][o.e.p.PluginsService] loaded module [parent-join]
2022.04.19 01:57:25 INFO es[][o.e.p.PluginsService] loaded module [reindex]
2022.04.19 01:57:25 INFO es[][o.e.p.PluginsService] loaded module [transport-netty4]
2022.04.19 01:57:25 INFO es[][o.e.p.PluginsService] no plugins loaded
2022.04.19 01:57:25 INFO es[][o.e.e.NodeEnvironment] using [1] data paths, mounts [[/ (overlay)]], net usable_space [46.6gb], net total_space [49.2gb], types [overlay]
2022.04.19 01:57:25 INFO es[][o.e.e.NodeEnvironment] heap size [512mb], compressed ordinary object pointers [true]
2022.04.19 01:57:25 INFO es[][o.e.n.Node] node name [sonarqube], node ID [Tyefxu3sQWGj_1KZfGix8w], cluster name [sonarqube], roles [data_frozen, master, remote_cluster_client, data, data_content, data_hot, data_warm, data_cold, ingest]
2022.04.19 01:57:32 INFO es[][o.e.t.NettyAllocator] creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=256kb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=1mb, heap_size=512mb}]
2022.04.19 01:57:32 INFO es[][o.e.d.DiscoveryModule] using discovery type [zen] and seed hosts providers [settings]
2022.04.19 01:57:33 INFO es[][o.e.g.DanglingIndicesState] gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually
2022.04.19 01:57:33 INFO es[][o.e.n.Node] initialized
2022.04.19 01:57:33 INFO es[][o.e.n.Node] starting ...
2022.04.19 01:57:34 INFO es[][o.e.t.TransportService] publish_address {127.0.0.1:43293}, bound_addresses {127.0.0.1:43293}
2022.04.19 01:57:34 INFO es[][o.e.b.BootstrapChecks] explicitly enforcing bootstrap checks
2022.04.19 01:57:34 INFO es[][o.e.c.c.Coordinator] setting initial configuration to VotingConfiguration{Tyefxu3sQWGj_1KZfGix8w}
2022.04.19 01:57:34 INFO es[][o.e.c.s.MasterService] elected-as-master ([1] nodes joined)[{sonarqube}{Tyefxu3sQWGj_1KZfGix8w}{uzyBkPpyS6OtjeyHkZ8ZnA}{127.0.0.1}{127.0.0.1:43293}{cdfhimrsw} elect leader, _BECOME_MASTER_TASK_, _FINISH_ELECTION_], term: 1, version: 1, delta: master node changed {previous [], current [{sonarqube}{Tyefxu3sQWGj_1KZfGix8w}{uzyBkPpyS6OtjeyHkZ8ZnA}{127.0.0.1}{127.0.0.1:43293}{cdfhimrsw}]}
2022.04.19 01:57:34 INFO es[][o.e.c.c.CoordinationState] cluster UUID set to [2NnkhATNSHS6lomFe1Mx4A]
2022.04.19 01:57:34 INFO es[][o.e.c.s.ClusterApplierService] master node changed {previous [], current [{sonarqube}{Tyefxu3sQWGj_1KZfGix8w}{uzyBkPpyS6OtjeyHkZ8ZnA}{127.0.0.1}{127.0.0.1:43293}{cdfhimrsw}]}, term: 1, version: 1, reason: Publication{term=1, version=1}
2022.04.19 01:57:34 INFO es[][o.e.h.AbstractHttpServerTransport] publish_address {127.0.0.1:9001}, bound_addresses {127.0.0.1:9001}
2022.04.19 01:57:34 INFO es[][o.e.n.Node] started
2022.04.19 01:57:34 INFO es[][o.e.g.GatewayService] recovered [0] indices into cluster_state
2022.04.19 01:57:35 INFO app[][o.s.a.SchedulerImpl] Process[es] is up
2022.04.19 01:57:35 INFO app[][o.s.a.ProcessLauncherImpl] Launch process[[key='web', ipcIndex=2, logFilenamePrefix=web]] from [/opt/sonarqube]: /opt/java/openjdk/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/opt/sonarqube/temp -XX:-OmitStackTraceInFastThrow --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED -Xmx512m -Xms128m -XX:+HeapDumpOnOutOfMemoryError -Dhttp.nonProxyHosts=localhost|127.*|[::1] -cp ./lib/sonar-application-8.9.8.54436.jar:/opt/sonarqube/lib/jdbc/mssql/mssql-jdbc-9.2.0.jre11.jar org.sonar.server.app.WebServer /opt/sonarqube/temp/sq-process7800988234052753702properties
2022.04.19 01:57:35 INFO web[][o.s.p.ProcessEntryPoint] Starting web
2022.04.19 01:57:36 INFO web[][o.a.t.u.n.NioSelectorPool] Using a shared selector for servlet write/read
2022.04.19 01:57:37 INFO web[][o.s.c.e.CoreExtensionsLoader] Loaded core extensions: developer-edition, developer-scanner, developer-server, license
2022.04.19 01:57:37 INFO web[][o.s.s.e.EsClientProvider] Connected to local Elasticsearch: [http://localhost:9001]
2022.04.19 01:57:37 INFO web[][o.s.s.p.LogServerVersion] SonarQube Server / 8.9.8.54436 / 61b9dc5070d284c5f1030aa326f09173646b73f1
2022.04.19 01:57:37 INFO web[][o.sonar.db.Database] Create JDBC data source for jdbc:sqlserver://vinkr3zy3r.database.windows.net:1433;database=Sonar;user=username;password=password;loginTimeout=30
2022.04.19 01:57:38 ERROR web[][o.s.s.p.PlatformImpl] Web server startup failed
java.lang.IllegalStateException: Fail to connect to database
at org.sonar.db.DefaultDatabase.start(DefaultDatabase.java:86)
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:136)
at org.sonar.server.platform.platformlevel.PlatformLevel.start(PlatformLevel.java:90)
at org.sonar.server.platform.platformlevel.PlatformLevel1.start(PlatformLevel1.java:166)
at org.sonar.server.platform.PlatformImpl.start(PlatformImpl.java:213)
at org.sonar.server.platform.PlatformImpl.startLevel1Container(PlatformImpl.java:172)
at org.sonar.server.platform.PlatformImpl.init(PlatformImpl.java:86)
at org.sonar.server.platform.web.PlatformServletContextListener.contextInitialized(PlatformServletContextListener.java:43)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4763)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5232)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1429)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1419)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
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:118)
at org.sonar.db.DefaultDatabase.start(DefaultDatabase.java:83)
... 24 common frames omitted
Caused by: java.sql.SQLException: Cannot create PoolableConnectionFactory (Login failed for user 'sonar'. ClientConnectionId:4ec52528-5077-4d3a-bd07-0e5998a805d9)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:669)
at org.apache.commons.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:544)
at org.apache.commons.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:753)
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:115)
... 25 common frames omitted
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'sonar'. ClientConnectionId:4ec52528-5077-4d3a-bd07-0e5998a805d9
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:262)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:283)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:129)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:37)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:5332)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:4068)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:4006)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7418)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:3274)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2768)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2418)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:2265)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1291)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:881)
at org.apache.commons.dbcp2.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:55)
at org.apache.commons.dbcp2.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:355)
at org.apache.commons.dbcp2.BasicDataSource.validateConnectionFactory(BasicDataSource.java:115)
at org.apache.commons.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:665)
... 30 common frames omitted
2022.04.19 01:57:38 WARN web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [pool-1-thread-1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:\n java.base@11.0.13/sun.nio.ch.EPoll.wait(Native Method)\n java.base@11.0.13/sun.nio.ch.EPollSelectorImpl.doSelect(Unknown Source)\n java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)\n java.base@11.0.13/sun.nio.ch.SelectorImpl.select(Unknown Source)\n app//org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor.execute(AbstractMultiworkerIOReactor.java:343)\n app//org.apache.http.impl.nio.conn.PoolingNHttpClientConnectionManager.execute(PoolingNHttpClientConnectionManager.java:221)\n app//org.apache.http.impl.nio.client.CloseableHttpAsyncClientBase$1.run(CloseableHttpAsyncClientBase.java:64)\n java.base@11.0.13/java.lang.Thread.run(Unknown Source)
2022.04.19 01:57:38 WARN web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [I/O dispatcher 1] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:\n java.base@11.0.13/sun.nio.ch.EPoll.wait(Native Method)\n java.base@11.0.13/sun.nio.ch.EPollSelectorImpl.doSelect(Unknown Source)\n java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)\n java.base@11.0.13/sun.nio.ch.SelectorImpl.select(Unknown Source)\n app//org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:255)\n app//org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)\n app//org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)\n java.base@11.0.13/java.lang.Thread.run(Unknown Source)
2022.04.19 01:57:38 WARN web[][o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [I/O dispatcher 2] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:\n java.base@11.0.13/sun.nio.ch.EPoll.wait(Native Method)\n java.base@11.0.13/sun.nio.ch.EPollSelectorImpl.doSelect(Unknown Source)\n java.base@11.0.13/sun.nio.ch.SelectorImpl.lockAndDoSelect(Unknown Source)\n java.base@11.0.13/sun.nio.ch.SelectorImpl.select(Unknown Source)\n app//org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:255)\n app//org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104)\n app//org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591)\n java.base@11.0.13/java.lang.Thread.run(Unknown Source)
2022.04.19 01:57:38 INFO web[][o.s.s.a.EmbeddedTomcat] HTTP connector enabled on port 9000
2022.04.19 01:57:38 INFO web[][o.s.p.ProcessEntryPoint] Hard stopping process