Error in custom provider, com.zaxxer.hikari.pool.PoolInitializationException: Exception during pool

723 views
Skip to first unread message

alik.sa...@mainsoft.org

unread,
Jul 7, 2017, 10:45:58 AM7/7/17
to Kill Bill users mailing-list, ali...@tut.by
Hi guys,
I have installed app with KPM, configurate MySQL add records to catalina.properties and when start KillBill I have got this error. I can access to Mysql server from other host and I havn't any problems this Mysql and network. I have tried MariaDB 5.5.52 and now I have installed Mysql (5.6.36) and have the same error. Firewall disabled, selinux too. Sorry for my English.
OS - CentOS Linux release 7.3.1611 (Core)
Java- build 1.8.0_131-b11
KillBill - tried 0.18.6 0.18.9 0.18.11
KAUI - 0.8.8

ERROR
SEVERE: Exception sending context initialized event to listener instance of class org.killbill.billing.server.listeners.KillbillGuiceListener
com.google.inject.CreationException: Guice creation errors:

Error in custom provider, com.zaxxer.hikari.pool.PoolInitializationException: Exception during pool initialization
at org.killbill.billing.server.modules.KillbillPlatformModule.provideDataSourceInAComplicatedWayBecauseOf627(KillbillPlatformModule.java:115)
at org.killbill.billing.server.modules.KillbillPlatformModule.provideDataSourceInAComplicatedWayBecauseOf627(KillbillPlatformModule.java:115)
while locating javax.sql.DataSource
for parameter 1 at org.killbill.commons.jdbi.guice.DBIProvider.(DBIProvider.java:61)
while locating org.killbill.commons.jdbi.guice.DBIProvider
at org.killbill.billing.server.modules.KillbillPlatformModule.configureDao(KillbillPlatformModule.java:106)
while locating org.skife.jdbi.v2.IDBI annotated with @com.google.inject.name.Named(value=Queue)
for parameter 0 at org.killbill.billing.lifecycle.glue.PersistentBusProvider.initialize(PersistentBusProvider.java:55)
at org.killbill.billing.lifecycle.glue.BusModule.configurePersistentEventBus(BusModule.java:87)
1 error
at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:175)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
at com.google.inject.Guice.createInjector(Guice.java:95)
at org.killbill.commons.skeleton.listeners.GuiceServletContextListener.getInjector(GuiceServletContextListener.java:92)
at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45)
at org.killbill.commons.skeleton.listeners.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:54)
at org.killbill.billing.server.listeners.KillbillPlatformGuiceListener.initializeGuice(KillbillPlatformGuiceListener.java:157)
at org.killbill.billing.server.listeners.KillbillPlatformGuiceListener.contextInitialized(KillbillPlatformGuiceListener.java:104)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4939)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5434)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:633)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:656)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1635)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
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:748)
Caused by: com.zaxxer.hikari.pool.PoolInitializationException: Exception during pool initialization
at com.zaxxer.hikari.pool.BaseHikariPool.initializeConnections(BaseHikariPool.java:542)
at com.zaxxer.hikari.pool.BaseHikariPool.(BaseHikariPool.java:171)
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:60)
at com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:48)
at com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:80)
at org.killbill.commons.jdbi.guice.DataSourceProvider$HikariDataSourceBuilder.buildDataSource(DataSourceProvider.java:177)
at org.killbill.commons.jdbi.guice.DataSourceProvider.buildDataSource(DataSourceProvider.java:108)
at org.killbill.commons.jdbi.guice.DataSourceProvider.get(DataSourceProvider.java:95)
at org.killbill.billing.platform.glue.ReferenceableDataSourceSpyProvider.get(ReferenceableDataSourceSpyProvider.java:34)
at org.killbill.billing.platform.glue.ReferenceableDataSourceSpyProvider.get(ReferenceableDataSourceSpyProvider.java:26)
at org.killbill.billing.server.modules.KillbillPlatformModule.provideDataSourceInAComplicatedWayBecauseOf627(KillbillPlatformModule.java:117)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:53)
at com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
at com.google.inject.Scopes$1$1.get(Scopes.java:65)
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:83)
at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75)
at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73)
at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73)
at com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:147)
at com.google.inject.internal.Initializer.injectAll(Initializer.java:92)
at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:173)
... 20 more
Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=127.0.0.1)(port=3306)(type=master) : null
at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:137)
at org.mariadb.jdbc.internal.util.ExceptionMapper.getException(ExceptionMapper.java:101)
at org.mariadb.jdbc.internal.util.ExceptionMapper.throwException(ExceptionMapper.java:91)
at org.mariadb.jdbc.MariaDbDataSource.getConnection(MariaDbDataSource.java:259)
at org.mariadb.jdbc.MariaDbDataSource.getConnection(MariaDbDataSource.java:277)
at com.zaxxer.hikari.pool.BaseHikariPool.addConnection(BaseHikariPool.java:438)
at com.zaxxer.hikari.pool.BaseHikariPool.initializeConnections(BaseHikariPool.java:540)
... 62 more
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Could not connect to address=(host=127.0.0.1)(port=3306)(type=master) : null
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:827)
at org.mariadb.jdbc.internal.util.Utils.retrieveProxy(Utils.java:469)
at org.mariadb.jdbc.MariaDbDataSource.getConnection(MariaDbDataSource.java:256)
... 65 more
Caused by: java.net.SocketTimeoutException
at java.net.SocksSocketImpl.remainingMillis(SocksSocketImpl.java:111)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connect(AbstractConnectProtocol.java:371)
at org.mariadb.jdbc.internal.protocol.AbstractConnectProtocol.connectWithoutProxy(AbstractConnectProtocol.java:823)
... 67 more

catalina.properties

org.killbill.dao.url=jdbc:mysql://127.0.0.1:3306/killbill
org.killbill.dao.user=root
org.killbill.dao.password=root
org.killbill.dao.logLevel=DEBUG

org.killbill.billing.osgi.dao.url=jdbc:mysql://127.0.0.1:3306/killbill
org.killbill.billing.osgi.dao.user=root
org.killbill.billing.osgi.dao.password=root

kaui.db.adapter=jdbcmysql
kaui.db.url=jdbc:mysql://localhost/kaui
kaui.db.username=root
kaui.db.password=root

Pierre-Alexandre Meyer

unread,
Jul 7, 2017, 10:50:23 AM7/7/17
to alik.sa...@mainsoft.org, Kill Bill users mailing-list, ali...@tut.by
On Fri, Jul 7, 2017 at 3:45 PM, <alik.sa...@mainsoft.org> wrote:
I can access to Mysql server from other host

It looks like Kill Bill cannot access MySQL on 127.0.0.1:3306:

Caused by: java.sql.SQLNonTransientConnectionException: Could not connect to address=(host=127.0.0.1)(port=3306)(type=master) : null

Maybe MySQL is bound to another IP or is running on another port?

--
Pierre

alik.sa...@mainsoft.org

unread,
Jul 7, 2017, 10:52:31 AM7/7/17
to Kill Bill users mailing-list, alik.sa...@mainsoft.org, ali...@tut.by
пятница, 7 июля 2017 г., 17:50:23 UTC+3 пользователь Pierre-Alexandre Meyer написал:
netstat -tupln
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2068/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 815/sshd

alik.sa...@mainsoft.org

unread,
Jul 10, 2017, 8:03:37 AM7/10/17
to Kill Bill users mailing-list, alik.sa...@mainsoft.org, ali...@tut.by
пятница, 7 июля 2017 г., 17:52:31 UTC+3 пользователь alik.sa...@mainsoft.org написал:
Have you any ideas?

Pierre-Alexandre Meyer

unread,
Jul 10, 2017, 9:23:53 AM7/10/17
to alik.sa...@mainsoft.org, Kill Bill users mailing-list, ali...@tut.by
On Mon, Jul 10, 2017 at 1:03 PM, <alik.sa...@mainsoft.org> wrote:
> netstat -tupln
> tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      2068/mysqld
> tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      815/sshd

Have you any ideas?

Did you try using 0.0.0.0 instead of 127.0.0.1 in the jdbc url?

Unfortunately, this is quite hard to debug with this limited amount of information. Also, since it's a MySQL setup issue, I would try looking up the problem on Google, StackOverflow, etc. 

In the meantime, you could try our Docker images which will take care of the setup for you (https://github.com/killbill/killbill-cloud/tree/master/docker).

--
Pierre
Reply all
Reply to author
Forward
0 new messages