Cannot connect to SQL Database after updating JKS file

Oli Reynolds January 15, 2021

Good evening, 

We recently were required to update the jks file to apply a new certificate to the Jira configuration.  The certificate used the same names and the new jks file adopted the same name and keystore password. 

Following the online guides we launched config.bat and went to the webserver tab and browsed to the new file after renaming it with the same name as the original file (The original was renamed to .old).

After selecting the file we pressed Save.  

The Atlassian service was restarted and this is where the problems started.  We were no longer able to connect to the database.  Upon checking the dbconfig.xml file everything looks to be in there and the password is in plain text (Not sure if thats right).  We have tried to revert back to using the old jks file but the error remains.  

 

The following is from the logs when starting JIRA

****************
JIRA starting...
****************

2021-01-15 16:40:12,911+0000 JIRA-Bootstrap INFO [c.a.jira.startup.JiraStartupLogger]

___ Environment _____________________________

JIRA Build : 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049
Build Date : Mon Dec 16 00:00:00 GMT 2019
JIRA Installation Type : Standalone
Application Server : Apache Tomcat/8.5.42 - Servlet API 3.1
Java Version : 1.8.0_202 - AdoptOpenJdk
Current Working Directory : E:\JIRA
Maximum Allowable Memory : 3641MB
Total Memory : 1047MB
Free Memory : 835MB
Used Memory : 212MB
Memory Pool: Code Cache : Code Cache: init = 33554432(32768K) used = 11720448(11445K) committed = 33554432(32768K) max = 536870912(524288K)
Memory Pool: Metaspace : Metaspace: init = 0(0K) used = 24782384(24201K) committed = 25559040(24960K) max = -1(-1K)
Memory Pool: Compressed Class Space : Compressed Class Space: init = 0(0K) used = 2819784(2753K) committed = 3014656(2944K) max = 1073741824(1048576K)
Memory Pool: PS Eden Space : PS Eden Space: init = 100663296(98304K) used = 201472000(196750K) committed = 801112064(782336K) max = 1374683136(1342464K)
Memory Pool: PS Survivor Space : PS Survivor Space: init = 16777216(16384K) used = 0(0K) committed = 28311552(27648K) max = 28311552(27648K)
Memory Pool: PS Old Gen : PS Old Gen: init = 268435456(262144K) used = 19802120(19338K) committed = 268435456(262144K) max = 2863661056(2796544K)
JVM Input Arguments : -Djava.awt.headless=true -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Dorg.dom4j.factory=com.atlassian.core.xml.InterningDocumentFactory -XX:-OmitStackTraceInFastThrow -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=20M -Xloggc:E:\JIRA\logs\atlassian-jira-gc-%t.log -XX:InitialCodeCacheSize=32m -XX:ReservedCodeCacheSize=512m -Dcatalina.home=E:\JIRA -Dcatalina.base=E:\JIRA -Dignore.endorsed.dirs=E:\JIRA\endorsed -Djava.io.tmpdir=E:\JIRA\temp -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.util.logging.config.file=E:\JIRA\conf\logging.properties -Djava.library.path=E:\JIRA\extra exit abort -Xms384m -Xmx4096m
Java Compatibility Information : JIRA version = 8.5.2, Java Version = 1.8.0_202

___ Java System Properties ________________

atlassian.standalone : JIRA
awt.toolkit : sun.awt.windows.WToolkit
catalina.base : E:\JIRA
catalina.home : E:\JIRA
catalina.useNaming : true
common.loader : "${catalina.base}/lib",
"${catalina.base}/lib/*.jar",
"${catalina.home}/lib",
"${catalina.home}/lib/*.jar"
file.encoding : Cp1252
file.encoding.pkg : sun.io
ignore.endorsed.dirs : E:\JIRA\endorsed
java.awt.graphicsenv : sun.awt.Win32GraphicsEnvironment
java.awt.headless : true
java.awt.printerjob : sun.awt.windows.WPrinterJob
java.class.version : 52.0
java.home : E:\JIRA\jre
java.io.tmpdir : E:\JIRA\temp
java.naming.factory.initial : org.apache.naming.java.javaURLContextFactory
java.naming.factory.url.pkgs : org.apache.naming
java.runtime.name : OpenJDK Runtime Environment
java.runtime.version : 1.8.0_202-b08
java.specification.name : Java Platform API Specification
java.specification.vendor : Oracle Corporation
java.specification.version : 1.8
java.util.concurrent.ForkJoinPool.common.threadFactory : org.apache.catalina.startup.SafeForkJoinWorkerThreadFactory
java.util.logging.config.file : E:\JIRA\conf\logging.properties
java.util.logging.manager : org.apache.juli.ClassLoaderLogManager
java.vendor : AdoptOpenJdk
java.vendor.url : https://adoptopenjdk.net/
java.vendor.url.bug : https://github.com/AdoptOpenJDK/openjdk-build/issues
java.version : 1.8.0_202
java.vm.info : mixed mode
java.vm.name : OpenJDK 64-Bit Server VM
java.vm.specification.name : Java Virtual Machine Specification
java.vm.specification.vendor : Oracle Corporation
java.vm.specification.version : 1.8
java.vm.vendor : Oracle Corporation
java.vm.version : 25.202-b08
mail.mime.decodeparameters : true
org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER : true
org.dom4j.factory : com.atlassian.core.xml.InterningDocumentFactory
os.arch : amd64
os.name : Windows Server 2016
os.version : 10.0
package.access : sun.,
org.apache.catalina.,
org.apache.coyote.,
org.apache.jasper.,
org.apache.tomcat.
package.definition : sun.,
java.,
org.apache.catalina.,
org.apache.coyote.,
org.apache.jasper.,
org.apache.naming.,
org.apache.tomcat.
server.loader :
shared.loader :
sun.arch.data.model : 64
sun.boot.library.path : E:\JIRA\jre\bin
sun.cpu.endian : little
sun.cpu.isalist : amd64
sun.desktop : windows
sun.io.unicode.encoding : UnicodeLittle
sun.jnu.encoding : Cp1252
sun.management.compiler : HotSpot 64-Bit Tiered Compilers
sun.os.patch.level :
tomcat.util.buf.StringCache.byte.enabled : true
tomcat.util.scan.StandardJarScanFilter.jarsToScan : log4j-taglib*.jar,
log4j-web*.jar,
log4javascript*.jar,
slf4j-taglib*.jar
tomcat.util.scan.StandardJarScanFilter.jarsToSkip : annotations-api.jar,
ant-junit*.jar,
ant-launcher.jar,
ant.jar,
asm-*.jar,
aspectj*.jar,
bootstrap.jar,
catalina-ant.jar,
catalina-ha.jar,
catalina-jmx-remote.jar,
catalina-storeconfig.jar,
catalina-tribes.jar,
catalina-ws.jar,
catalina.jar,
cglib-*.jar,
cobertura-*.jar,
commons-beanutils*.jar,
commons-codec*.jar,
commons-collections*.jar,
commons-daemon.jar,
commons-dbcp*.jar,
commons-digester*.jar,
commons-fileupload*.jar,
commons-httpclient*.jar,
commons-io*.jar,
commons-lang*.jar,
commons-logging*.jar,
commons-math*.jar,
commons-pool*.jar,
dom4j-*.jar,
easymock-*.jar,
ecj-*.jar,
el-api.jar,
geronimo-spec-jaxrpc*.jar,
h2*.jar,
hamcrest-*.jar,
hibernate*.jar,
httpclient*.jar,
icu4j-*.jar,
jasper-el.jar,
jasper.jar,
jaspic-api.jar,
jaxb-*.jar,
jaxen-*.jar,
jdom-*.jar,
jetty-*.jar,
jmx-tools.jar,
jmx.jar,
jsp-api.jar,
jstl.jar,
jta*.jar,
junit-*.jar,
junit.jar,
log4j*.jar,
mail*.jar,
objenesis-*.jar,
oraclepki.jar,
oro-*.jar,
servlet-api-*.jar,
servlet-api.jar,
slf4j*.jar,
taglibs-standard-spec-*.jar,
tagsoup-*.jar,
tomcat-api.jar,
tomcat-coyote.jar,
tomcat-dbcp.jar,
tomcat-i18n-*.jar,
tomcat-jdbc.jar,
tomcat-jni.jar,
tomcat-juli-adapters.jar,
tomcat-juli.jar,
tomcat-util-scan.jar,
tomcat-util.jar,
tomcat-websocket.jar,
tools.jar,
websocket-api.jar,
wsdl4j*.jar,
xercesImpl.jar,
xml-apis.jar,
xmlParserAPIs-*.jar,
xmlParserAPIs.jar,
xom-*.jar
user.country : GB
user.dir : E:\JIRA
user.home : C:\Users\svc_jiradb
user.language : en
user.name : svc_jiradb
user.script :
user.timezone : Europe/London
user.variant :

2021-01-15 16:40:13,083+0000 https-openssl-nio-443-exec-1 ERROR anonymous 1000x1x1 - 172.64.0.146 /secure/johnson/data [c.atlassian.instrumentation.Instrument] Unable to snapshot thread local operations (implementation of OpTimerFactory is not a ThreadLocalOpTimerFactory): null
2021-01-15 16:40:13,255+0000 https-openssl-nio-443-exec-1 WARN anonymous 1000x1x1 - 172.64.0.146 /secure/johnson/data [c.a.jira.security.JiraSecurityFilter] Rejecting security-sensitive request that bypassed Johnson filter: /secure/johnson/data
2021-01-15 16:40:13,286+0000 JIRA-Bootstrap INFO [c.a.j.config.database.SystemDatabaseConfigurationLoader] Reading database configuration from D:\Home\JIRA\dbconfig.xml
2021-01-15 16:40:13,333+0000 JIRA-Bootstrap INFO [c.a.j.config.database.DatabaseConfigHandler] Trying to get encrypted password from xml and decrypt it
2021-01-15 16:40:13,348+0000 JIRA-Bootstrap INFO [c.a.j.config.database.DatabaseConfigHandler] Database password decryption not performed.
2021-01-15 16:40:13,770+0000 JIRA-Bootstrap ERROR [c.a.config.bootstrap.DefaultAtlassianBootstrapManager] Could not successfully test your database:
com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'svc_jiradb'. ClientConnectionId:44ddfb5e-7f91-49ab-94d3-2982c4e0ca04
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:256)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:258)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:104)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.sendLogon(SQLServerConnection.java:5028)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:3660)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:94)
at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:3619)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7194)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2930)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:2456)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:2103)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1950)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:1162)
at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:735)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.getTestDatabaseConnection(DefaultAtlassianBootstrapManager.java:347)
at com.atlassian.jira.config.database.JdbcDatasource.getConnection(JdbcDatasource.java:219)
at com.atlassian.jira.config.database.DatabaseConfig.testConnection(DatabaseConfig.java:88)
at com.atlassian.jira.health.checks.DbConfigurationAndConnectionCheck.doPerform(DbConfigurationAndConnectionCheck.java:60)
at com.atlassian.jira.health.HealthCheckTemplate.perform(HealthCheckTemplate.java:23)
at com.atlassian.jira.health.DefaultHealthCheckExecutor.runCheck(DefaultHealthCheckExecutor.java:74)
at com.atlassian.jira.health.DefaultHealthCheckExecutor.lambda$applyAndCollectExceptions$1(DefaultHealthCheckExecutor.java:53)
at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:184)
at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
at java.util.Iterator.forEachRemaining(Iterator.java:116)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:151)
at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:174)
at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
at com.atlassian.jira.health.DefaultHealthCheckExecutor.applyAndCollectExceptions(DefaultHealthCheckExecutor.java:53)
at com.atlassian.jira.health.DefaultHealthCheckExecutor.performHealthChecks(DefaultHealthCheckExecutor.java:42)
at com.atlassian.jira.health.HealthChecks.executeChecksAndRecordResults(HealthChecks.java:164)
at com.atlassian.jira.health.HealthChecks.runHealthChecks(HealthChecks.java:154)
at com.atlassian.jira.health.HealthChecks.runHealthChecks(HealthChecks.java:66)
at com.atlassian.jira.startup.BootstrapContainerLauncher.start(BootstrapContainerLauncher.java:48)
at com.atlassian.jira.startup.DefaultJiraLauncher.preDbLaunch(DefaultJiraLauncher.java:117)
at com.atlassian.jira.startup.DefaultJiraLauncher.lambda$start$0(DefaultJiraLauncher.java:103)
at com.atlassian.jira.util.devspeed.JiraDevSpeedTimer.run(JiraDevSpeedTimer.java:31)
at com.atlassian.jira.startup.DefaultJiraLauncher.start(DefaultJiraLauncher.java:102)
at com.atlassian.jira.startup.LauncherContextListener.initSlowStuff(LauncherContextListener.java:154)
at java.lang.Thread.run(Thread.java:748)
2021-01-15 16:40:13,801+0000 JIRA-Bootstrap ERROR [c.a.jira.health.HealthChecks] JIRA couldn't connect to your database
2021-01-15 16:40:13,801+0000 JIRA-Bootstrap ERROR [c.a.jira.health.HealthChecks] JIRA failed to establish a connection to your database.
This could be because:
- Your database isn't running
- The configuration of your dbconfig.xml file is incorrect (user, password, or database URL etc.)
- There is a network issue between JIRA and your database (e.g. firewall, database doesn't allow remote access etc.)

There are several other solutions you can try, review our documentation and see what works for you.

2021-01-15 16:40:13,801+0000 JIRA-Bootstrap INFO [c.a.jira.startup.JiraStartupLogger] Running JIRA startup checks.
2021-01-15 16:40:13,801+0000 JIRA-Bootstrap FATAL [c.a.jira.startup.JiraStartupLogger] Startup check failed. JIRA will be locked.
2021-01-15 16:40:13,911+0000 JIRA-Bootstrap INFO [c.a.jira.startup.LauncherContextListener] Memory Usage:
---------------------------------------------------------------------------------
Heap memory : Used: 369 MiB. Committed: 1047 MiB. Max: 4069 MiB
Non-heap memory : Used: 45 MiB. Committed: 67 MiB. Max: 1536 MiB
---------------------------------------------------------------------------------
TOTAL : Used: 414 MiB. Committed: 1114 MiB. Max: 5605 MiB
---------------------------------------------------------------------------------

 

Please could you advise how we resolve connectivity to the database?

We use

SQL Server 2012

Windows Server 2016

 

1 answer

0 votes
Oli Reynolds January 15, 2021

For those interested, we managed to restore the dbconfig.xml file from backup tape.  Turns out when we saved the config using config.bat application it changed the dbconfig.xml file and removed the value "IntegratedSecurity=True".  Once that was replaced it all ran fine again.

Suggest an answer

Log in or Sign up to answer