Setup mysql
Asked by Mikkel Thomsen:

Hi,

I started installing a clean bamboo installation, and upon reaching the database step, the installer crashes. I managed to install some other applications just fine.

MySQL version: 10.2.23-MariaDB MariaDB Server

Bamboo build: version 6.8.1 build 60805 - 13 Mar 19

I copied the JDBC as said in the instructor.

My JDBC:  
jdbc:mysql://\<db-ip\>/bamboo?autoReconnect=true\&useUnicode=true\&characterEncoding=utf8

I see that it does in fact create tables in the database.

Bamboo log:

```
2019-04-03 15:55:16,559 INFO [performSetupDatabaseConnectionBackgroundThread] [SetupDatabaseConnectionAction] Validating database configuration...
2019-04-03 15:55:16,561 INFO [performSetupDatabaseConnectionBackgroundThread] [SetupDatabaseConnectionAction] Validating connection to url: [jdbc:mysql://xxx/bamboo?autoReconnect=true&useUnicode=true&characterEncoding=utf8]
2019-04-03 15:55:16,575 INFO [performSetupDatabaseConnectionBackgroundThread] [SetupDatabaseConnectionAction] Database configuration is valid.
2019-04-03 15:55:16,575 INFO [performSetupDatabaseConnectionBackgroundThread] [SetupUtilityBean] Setting up database: mysql
2019-04-03 15:55:16,576 INFO [performSetupDatabaseConnectionBackgroundThread] [SetupUtilityBean] Bootstrapping database: mysql
2019-04-03 15:55:16,576 INFO [performSetupDatabaseConnectionBackgroundThread] [DefaultHibernateConfigurator] Saving bootstrap configuration...
2019-04-03 15:55:16,582 INFO [performSetupDatabaseConnectionBackgroundThread] [DefaultHibernateConfigurator] Refreshing Spring context...
2019-04-03 15:55:17,038 WARN [performSetupDatabaseConnectionBackgroundThread] [GenericTypeAwarePropertyDescriptor] Invalid JavaBean property 'mappingResources' being accessed! Ambiguous write methods found next to actually used [public void bucket.core.persistence.hibernate.ConfigurableLocalSessionFactoryBean.setMappingResources(bucket.core.persistence.hibernate.MappingResources)]: [public void org.springframework.orm.hibernate5.LocalSessionFactoryBean.setMappingResources(java.lang.String[])]
2019-04-03 15:55:17,491 INFO [performSetupDatabaseConnectionBackgroundThread] [AbstractPoolBackedDataSource] Initializing c3p0 pool... com.mchange.v2.c3p0.PoolBackedDataSource@6cc62e69 [ connectionPoolDataSource -> com.mchange.v2.c3p0.WrapperConnectionPoolDataSource@c8b31eb0 [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, contextClassLoaderSource -> caller, debugUnreturnedConnectionStackTraces -> false, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, forceSynchronousCheckins -> false, identityToken -> 1izqusja11rh3noyg15vc7|1bf03c17, idleConnectionTestPeriod -> 30, initialPoolSize -> 3, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 120, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 100, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, nestedDataSource -> com.mchange.v2.c3p0.DriverManagerDataSource@9822e2cb [ description -> null, driverClass -> null, factoryClassLocation -> null, forceUseNamedDriverClass -> false, identityToken -> 1izqusja11rh3noyg15vc7|77020bac, jdbcUrl -> jdbc:mysql://198.50.185.100/bamboo?autoReconnect=true&useUnicode=true&characterEncoding=utf8, properties -> {handling_mode=DELAYED_ACQUISITION_AND_HOLD, user=******, password=******} ], preferredTestQuery -> null, privilegeSpawnedThreads -> false, propertyCycle -> 0, statementCacheNumDeferredCloseThreads -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false; userOverrides: {} ], dataSourceName -> null, extensions -> {}, factoryClassLocation -> null, identityToken -> 1izqusja11rh3noyg15vc7|106c1717, numHelperThreads -> 3 ]
2019-04-03 15:55:17,582 INFO [performSetupDatabaseConnectionBackgroundThread] [ResettableTableHiLoGenerator] Registering exportables...
2019-04-03 15:55:17,583 INFO [performSetupDatabaseConnectionBackgroundThread] [ResettableTableHiLoGenerator] Generator table: org.hibernate.mapping.Table(hibernate_unique_key)
2019-04-03 15:55:17,629 ERROR [performSetupDatabaseConnectionBackgroundThread] [PojoEntityTuplizer] HHH000243: Setters of lazy classes cannot be final: com.atlassian.bamboo.plan.AbstractChain.notificationSet
2019-04-03 15:55:17,798 ERROR [performSetupDatabaseConnectionBackgroundThread] [MetadataContext] HHH015007: Illegal argument on static metamodel field injection : com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl_#subnetIds; expected type : org.hibernate.metamodel.internal.SingularAttributeImpl; encountered type : javax.persistence.metamodel.CollectionAttribute
2019-04-03 15:55:17,803 ERROR [performSetupDatabaseConnectionBackgroundThread] [MetadataContext] HHH015007: Illegal argument on static metamodel field injection : com.atlassian.bamboo.agent.elastic.server.ElasticImageConfigurationImpl_#availabilityZones; expected type : org.hibernate.metamodel.internal.SingularAttributeImpl; encountered type : javax.persistence.metamodel.CollectionAttribute
2019-04-03 15:55:17,807 ERROR [performSetupDatabaseConnectionBackgroundThread] [MetadataContext] HHH015007: Illegal argument on static metamodel field injection : com.atlassian.bamboo.project.DefaultProject_#allPlans; expected type : org.hibernate.metamodel.internal.PluralAttributeImpl$CollectionAttributeImpl; encountered type : javax.persistence.metamodel.ListAttribute
2019-04-03 15:55:17,828 ERROR [performSetupDatabaseConnectionBackgroundThread] [MetadataContext] HHH015007: Illegal argument on static metamodel field injection : com.atlassian.bamboo.commit.CommitImpl_#files; expected type : org.hibernate.metamodel.internal.PluralAttributeImpl$SetAttributeImpl; encountered type : javax.persistence.metamodel.ListAttribute
2019-04-03 15:55:18,214 INFO [performSetupDatabaseConnectionBackgroundThread] [BrokerService] Using Persistence Adapter: KahaDBPersistenceAdapter[/var/atlassian/application-data/bamboo/jms-store/bamboo/KahaDB]
2019-04-03 15:55:18,215 INFO [performSetupDatabaseConnectionBackgroundThread] [SharedFileLocker] Database /var/atlassian/application-data/bamboo/jms-store/bamboo/KahaDB/lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired
2019-04-03 15:55:18,780 WARN [http-nio-8085-exec-3] [TokenHelper] Could not find token mapped to token name: token
2019-04-03 15:55:21,251 ERROR [http-nio-8085-exec-4] [FiveOhOh] 500 Exception was thrown.
java.lang.IllegalStateException: No WebApplicationContext found: no ContextLoaderListener registered?
at org.springframework.web.context.support.WebApplicationContextUtils.getRequiredWebApplicationContext(WebApplicationContextUtils.java:84)
at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.lookupSessionFactory(OpenSessionInViewFilter.java:190)
at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.lookupSessionFactory(OpenSessionInViewFilter.java:176)
at org.springframework.orm.hibernate5.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:127)
at com.atlassian.bamboo.persistence.BambooSessionInViewFilter.doFilterInternal(BambooSessionInViewFilter.java:24)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.atlassian.bamboo.filter.BambooCompressingFilter.doFilter(BambooCompressingFilter.java:39)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.atlassian.bamboo.filter.RequestCacheThreadLocalFilter.doFilter(RequestCacheThreadLocalFilter.java:40)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.atlassian.bamboo.filter.ClickjackingAndMimeTypeSniffingPreventionFilter.doFilter(ClickjackingAndMimeTypeSniffingPreventionFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.atlassian.bamboo.filter.CookieCacheControlFilter.doFilter(CookieCacheControlFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:44)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:64)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.valves.StuckThreadDetectionValve.invoke(StuckThreadDetectionValve.java:206)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:800)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)
```


Answers:
author: Daniel Santos
body: Hi [@Mikkel Thomsen](/t5/user/viewprofilepage/user-id/2961745)

The following error line usually happens when there are multiple Bamboo processes running in the same server, therefore, locking part of the installation process:
> 2019-04-03 15:55:18,215 INFO \[performSetupDatabaseConnectionBackgroundThread\] \[SharedFileLocker\] Database /var/atlassian/application-data/bamboo/jms-store/bamboo/KahaDB/lock is locked by another server. This broker is now in slave mode waiting a lock to be acquired

Please try:

1. Make sure all Bamboo processes are killed
2. Remove the Bamboo home directory (if it was created)
3. Drop the MySQL DB and create a new one or make sure you tick the option to override the data
4. Start a new installation

I hope that helps.

comments: author: Mikkel Thomsen
body: Hi [@Daniel Santos](/t5/user/viewprofilepage/user-id/502125) ,

This helps, however when the installer finish the setup, I'm yet again returned to the /setup/performSetupDatabaseConnection.action which again is prompting me for sql credentials. Once I provide these again, I run into the error I described in the original post.

Upon re-inspecting the logs again, I see the following:

```
2019-04-06 03:57:28,976 INFO [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Testing compatibility of [MySQL] 5.5.5 (5.5.5-10.2.23-MariaDB) using JDBC driver [MySQL Connector Java] 5.1.0 (mysql-connector-java-5.1.47 ( Revision: fe1903b1ecb4a96a917f7ed3190d80c049b1de29 )) with this version of Bamboo.
2019-04-06 03:57:28,976 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Detected MYSQL version [MySQL] 5.5.5 (5.5.5-10.2.23-MariaDB), minimal supported version is 5.6.3
2019-04-06 03:57:28,976 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] Bamboo doesn't support MySQL version 5.5.5-10.2.23-MariaDB. Please check https://confluence.atlassian.com/display/BAMBOO/Supported+Platforms for more information.
2019-04-06 03:57:28,976 ERROR [performSetupDatabaseConnectionBackgroundThread] [DatabaseIsSupported] For avoiding failure please set system property bamboo.upgrade.fail.if.mysql.unsupported to true
2019-04-06 03:57:28,977 ERROR [performSetupDatabaseConnectionBackgroundThread] [BootstrapUpgradeManagerImpl] Task 51111 failed
com.atlassian.upgrade.UpgradeException: Bamboo doesn't support MySQL version 5.5.5-10.2.23-MariaDB. Please check https://confluence.atlassian.com/display/BAMBOO/Supported+Platforms for more information.
```

The thing is, MariaDB 10.2 is compatible with mysql 5.7.

I must admit I recently upgraded the MariaDB version, so I don't know if this could be the way bamboo detects the version, or if it's simply not compatible with MariaDB?


author: Mikkel Thomsen
body: According to this:

<https://github.com/MariaDB/server/blob/f6633bf058802ad7da8196d01fd19d75c53f7274/include/mysql_com.h#L42>

I guess this just isn't supported. Perhaps upgrading the JDBC connector could fix this issue, but I doubt it :/

Do you know if there's a way to skip the compatibility check?


author: Mikkel Thomsen
body: I solved this issue by using a mariadb connector instead of the mysql


author: Daniel Santos
body: Hi [@Mikkel Thomsen](/t5/user/viewprofilepage/user-id/2961745)

I was not able to see your messages during the weekend but I'm glad that you found your own way to solve the issue.

Yes, Bamboo does not support MariaDB, although some users (like you) will find their way to make it happen.

Thank you for accepting the answer. See you in the next thread!