Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Why am I Unable to connect to mySQL from Kepler Database Field

Craig Day April 7, 2016

I can connect to some databases from the Kebler Database Field plug-in. But for some reason one database is giving me troubles. The thing different about this database is that it is not using 3306 as the default port, it is using 3307. So I have configured my database url to mysql://xxx.xxx.xxx.xxx:3307/MyDatabase

However when I try to connect I see the following in my catalina.out

 

Thu Apr 07 13:22:12 PDT 2016 WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

2016-04-07 13:22:12,136 http-nio-8443-exec-1 ERROR admin 802x25x1 kuvf61 192.168.168.1,192.168.170.10 /secure/QuickCreateIssue!default.jspa [c.k.j.c.jira.kconfig.PluginConfiguration] Database JNDI >>mfeDB<<, error obtaining connection

java.sql.SQLException: Cannot create PoolableConnectionFactory (Communications link failure

 

The last packet successfully received from the server was 69 milliseconds ago.  The last packet sent successfully to the server was 64 milliseconds ago.)

 at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:2195)

 at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.createDataSource(BasicDataSource.java:1945)

 at org.apache.tomcat.dbcp.dbcp2.BasicDataSource.getConnection(BasicDataSource.java:1412)

 at com.keplerrominfo.jira.commons.jira.kconfig.PluginConfiguration.getDatabaseConnectionInst(PluginConfiguration.java:242)

 at com.keplerrominfo.jira.commons.jira.kconfig.PluginConfiguration.getDatabaseConnection(PluginConfiguration.java:168)

 at com.keplerrominfo.jira.plugins.databasecf.querydb.impl.QueryDatabaseImpl.getResults(QueryDatabaseImpl.java:62)

 at com.keplerrominfo.jira.plugins.databasecf.querydb.impl.QueryServiceImpl.getResults(QueryServiceImpl.java:96)

 at com.keplerrominfo.jira.plugins.databasecf.querydb.impl.QueryServiceImpl.getResultsAndSaveInSession(QueryServiceImpl.java:562)

 at com.keplerrominfo.jira.plugins.databasecf.customfields.datacolumn.DatabaseCFType.getVelocityParameters(DatabaseCFType.java:119)

 at com.atlassian.jira.issue.customfields.CustomFieldUtils.buildParams(CustomFieldUtils.java:381)

 at com.atlassian.jira.plugin.customfield.CustomFieldTypeModuleDescriptorImpl$2.call(CustomFieldTypeModuleDescriptorImpl.java:177)

 at com.atlassian.jira.plugin.customfield.CustomFieldTypeModuleDescriptorImpl$2.call(CustomFieldTypeModuleDescriptorImpl.java:172)

 at com.atlassian.ozymandias.SafePluginPointAccess.call(SafePluginPointAccess.java:187)

 at com.atlassian.jira.plugin.customfield.CustomFieldTypeModuleDescriptorImpl.getSupplierValueOrHtmlErrorMessage(CustomFieldTypeModuleDescriptorImpl.java:372)

 at com.atlassian.jira.plugin.customfield.CustomFieldTypeModuleDescriptorImpl.getEditHtml(CustomFieldTypeModuleDescriptorImpl.java:172)

 at com.atlassian.jira.issue.fields.CustomFieldImpl.getEditHtml(CustomFieldImpl.java:925)

 at com.atlassian.jira.issue.fields.CustomFieldImpl.getCreateHtml(CustomFieldImpl.java:911)

 at com.atlassian.jira.issue.fields.screen.AbstractFieldScreenLayoutItem.getCreateHtml(AbstractFieldScreenLayoutItem.java:72)

 at com.atlassian.jira.issue.fields.screen.FieldScreenRenderLayoutItemImpl.getCreateHtml(FieldScreenRenderLayoutItemImpl.java:42)

 at com.atlassian.jira.issue.fields.rest.FieldHtmlFactoryImpl$FieldRenderItemWithTab.getCreateHtml(FieldHtmlFactoryImpl.java:282)

 at com.atlassian.jira.issue.fields.rest.FieldHtmlFactoryImpl.getCreateFields(FieldHtmlFactoryImpl.java:91)

 ... 3 filtered

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

 at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:30)

 at com.sun.proxy.$Proxy262.getCreateFields(Unknown Source)

 ... 3 filtered

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

 at com.atlassian.plugin.osgi.bridge.external.HostComponentFactoryBean$DynamicServiceInvocationHandler.invoke(HostComponentFactoryBean.java:161)

 at com.sun.proxy.$Proxy262.getCreateFields(Unknown Source)

 at com.atlassian.jira.quickedit.action.QuickCreateIssue.doDefault(QuickCreateIssue.java:201)

 ... 3 filtered

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

 at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70)

 at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56)

 ... 2 filtered

 at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63)

 ... 7 filtered

 at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)

 ... 55 filtered

 at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:59)

 ... 151 filtered

 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

 at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)

 at java.lang.Thread.run(Thread.java:745)

Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

 

 

I'm not entirely sure what that warning about SSL is about...

 

I can connect to the database using basic mysql command line from the JIRA server. Does the Kepler plug-in have known issues when specifying a port?

 

2 answers

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

2 votes
Michael Partyka
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 7, 2016

Hi did you added configuration in db xml?

After modification restart is required

Craig Day April 7, 2016

I added the database connection to context.xml and restarted JIRA. 

1 vote
Alexandra Topoloaga
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
April 7, 2016

Hi Nick,

 

Could you please show us the configuration added in the context.xml?

Best Regards,

Alexandra

Craig Day April 8, 2016

<Resource name="jiraTestDB"

          auth="Container" type="javax.sql.DataSource"

          username="jira"

          password=""

          driverClassName="com.mysql.jdbc.Driver"

          url="jdbc:mysql://192.168.170.14:3306/jiratest

/>

<Resource name="mfeDB"

          auth="Container" type="javax.sql.DataSource"

          username="jira"

          password=""

          driverClassName="com.mysql.jdbc.Driver"

          url="jdbc:mysql://xxx.xxx.xxx.xxx:3307/AuswerterDB

/>

 

Like I mentioned before I can connect to the "mfeDB" using mysql command line and specifying the -P argument with the 3307 port.

 

Seems like every other database that I connect to on 3306 works fine with the plug-in. 

Craig Day April 11, 2016

I'm still unable to connect. Running out of ideas...

I'm running JIRA behind a Apache proxy. Hmmm I wonder if I need to forward this port directly to my server in the proxy...

Ryan Goodwin
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
July 22, 2016

From what I have gathered, this is related to newer versions of mysql as noted in the log message:

WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established by default if explicit option isn't set. For compliance with existing applications not using SSL the verifyServerCertificate property is set to 'false'. You need either to explicitly disable SSL by setting useSSL=false, or set useSSL=true and provide truststore for server certificate verification.

MySQL is trying to enforce SSL encryption on the traffic, so you have to expressly disable the function in your connector using 

useSSL=false

 

Unfortunately,  using a direct jdbc connector in the dbconfig.xml or *.cfg.xml (for other Atlassian apps) adding useSSL=false to the connection URL results in an error:

2016-07-22 18:32:56,684 ERROR [localhost-startStop-1] [DefaultAtlassianBootstrapManager] Home is not configured properly:
com.atlassian.config.ConfigurationException: Failed to parse config file: Error on line 23 of document  : The reference to entity "useSSL" must end with the ';' delimiter. Nested exception: The reference to entity "useSSL" must end with the ';' delimiter.
	at com.atlassian.config.xml.DefaultDom4jXmlConfigurationPersister.load(DefaultDom4jXmlConfigurationPersister.java:35)
	at com.atlassian.config.xml.DefaultDom4jXmlConfigurationPersister.load(DefaultDom4jXmlConfigurationPersister.java:65)
	at com.atlassian.config.ApplicationConfig.load(ApplicationConfig.java:365)
	at com.atlassian.config.bootstrap.DefaultAtlassianBootstrapManager.init(DefaultAtlassianBootstrapManager.java:68)
	at com.atlassian.bamboo.setup.BootstrapLoaderListener.contextInitialized(BootstrapLoaderListener.java:117)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4812)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5255)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.dom4j.DocumentException: Error on line 23 of document  : The reference to entity "useSSL" must end with the ';' delimiter. Nested exception: The reference to entity "useSSL" must end with the ';' delimiter.
	at org.dom4j.io.SAXReader.read(SAXReader.java:482)
	at org.dom4j.io.SAXReader.read(SAXReader.java:343)
	at com.atlassian.config.xml.AbstractDom4jXmlConfigurationPersister.loadDocument(AbstractDom4jXmlConfigurationPersister.java:68)
	at com.atlassian.config.xml.DefaultDom4jXmlConfigurationPersister.load(DefaultDom4jXmlConfigurationPersister.java:31)
	... 13 more

If I leave off the useSSL=false, then my catalina logs get spammed with the first error, but the app starts and seems to function normally. I'd rather not have to do more SSL configuration with my database, but don't want this warning filling up my catalina logs.

 

Any suggestions?

rTrack Support December 13, 2016

Hi team ,

 

I am also facing the similar issue .

it is working for my test server JIRA version 6.3.14 and 7.2 

but for my production it is not working. JIRA  version is 6.3.14

TAGS
AUG Leaders

Atlassian Community Events