killbill/killbill-commons

can not configure pool's org.killbill.dao.minIdle connections

Closed this issue · 0 comments

kares commented

sample KB configuration :

JAVA_OPTS="${JAVA_OPTS} -Dorg.killbill.dao.maxActive=80"
JAVA_OPTS="${JAVA_OPTS} -Dorg.killbill.dao.minIdle=30"

KB's relevant logs and exception on startup :

2015-01-12 11:30:13,274 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [true] for [org.killbill.dao.cachePrepStmts] on [org.killbill.commons.jdbi.guice.DaoConfig#isPrep$
2015-01-12 11:30:13,275 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [true] for [org.killbill.dao.useServerPrepStmts] on [org.killbill.commons.jdbi.guice.DaoConfig#is$
2015-01-12 11:30:13,276 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning null default value for [org.killbill.dao.dataSourceClassName] on [org.killbill.commons.jdbi.guice.DaoConfig#get$
2015-01-12 11:30:13,277 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning null default value for [org.killbill.dao.driverClassName] on [org.killbill.commons.jdbi.guice.DaoConfig#getDriv$
2015-01-12 11:30:13,277 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [4.0] for [org.killbill.dao.mysqlServerVersion] on [org.killbill.commons.jdbi.guice.DaoConfig#get$
2015-01-12 11:30:13,277 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [HIKARICP] for [org.killbill.dao.poolingType] on [org.killbill.commons.jdbi.guice.DaoConfig#getCo$
2015-01-12 11:30:13,278 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [0m] for [org.killbill.dao.maxConnectionAge] on [org.killbill.commons.jdbi.guice.DaoConfig#getMax$
2015-01-12 11:30:13,278 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [5m] for [org.killbill.dao.idleConnectionTestPeriod] on [org.killbill.commons.jdbi.guice.DaoConfi$
2015-01-12 11:30:13,279 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [500] for [org.killbill.dao.prepStmtCacheSize] on [org.killbill.commons.jdbi.guice.DaoConfig#getP$
2015-01-12 11:30:13,279 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [2048] for [org.killbill.dao.prepStmtCacheSqlLimit] on [org.killbill.commons.jdbi.guice.DaoConfig$
2015-01-12 11:30:13,280 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning value [jdbc:mysql://killbill.cjafxh9qc2le.us-west-2.rds.amazonaws.com:3306/killbill] for [org.killbill.dao.url]$
2015-01-12 11:30:13,280 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning value [killbill] for [org.killbill.dao.password] on [org.killbill.commons.jdbi.guice.DaoConfig#getPassword()]
2015-01-12 11:30:13,281 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [DEBUG] for [org.killbill.dao.logLevel] on [org.killbill.commons.jdbi.guice.DaoConfig#getLogLevel$
2015-01-12 11:30:13,289 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning value [killbill] for [org.killbill.dao.user] on [org.killbill.commons.jdbi.guice.DaoConfig#getUsername()]
2015-01-12 11:30:13,290 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning default value [10s] for [org.killbill.dao.connectionTimeout] on [org.killbill.commons.jdbi.guice.DaoConfig#getC$
2015-01-12 11:30:13,290 [localhost-startStop-1] INFO  o.s.c.ConfigurationObjectFactory - Assigning value [80] for [org.killbill.dao.maxActive] on [org.killbill.commons.jdbi.guice.DaoConfig#getMaxActive()]
2015-01-12 11:30:14,225 [localhost-startStop-1] INFO  com.google.inject.Guice - An exception was caught and reported. Message: java.lang.IllegalArgumentException: maxPoolSize cannot be negative or greater than $
java.lang.IllegalArgumentException: maxPoolSize cannot be negative or greater than maximumPoolSize
        at com.zaxxer.hikari.HikariConfig.setMinimumIdle(HikariConfig.java:552) ~[HikariCP-java6-2.0.1.jar:na]
        at org.killbill.commons.jdbi.guice.DataSourceProvider.getHikariCPDataSource(DataSourceProvider.java:101) ~[killbill-jdbi-0.2.28.jar:na]
        at org.killbill.commons.jdbi.guice.DataSourceProvider.getDataSource(DataSourceProvider.java:88) ~[killbill-jdbi-0.2.28.jar:na]
        at org.killbill.commons.jdbi.guice.DataSourceProvider.get(DataSourceProvider.java:72) ~[killbill-jdbi-0.2.28.jar:na]
        at org.killbill.billing.server.modules.KillbillPlatformModule.configureDao(KillbillPlatformModule.java:97) ~[killbill-platform-server-0.1.1-classes.jar:na]
        at org.killbill.billing.server.modules.KillbillServerModule.configureDao(KillbillServerModule.java:99) ~[KillbillServerModule.class:na]
        at org.killbill.billing.server.modules.KillbillPlatformModule.configure(KillbillPlatformModule.java:75) ~[killbill-platform-server-0.1.1-classes.jar:na]
        at org.killbill.billing.server.modules.KillbillServerModule.configure(KillbillServerModule.java:88) ~[KillbillServerModule.class:na]
        at com.google.inject.AbstractModule.configure(AbstractModule.java:59) ~[guice-3.0.jar:na]
        at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) ~[guice-3.0.jar:na]
        at com.google.inject.spi.Elements.getElements(Elements.java:101) ~[guice-3.0.jar:na]
        at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) ~[guice-3.0.jar:na]
        at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) [guice-3.0.jar:na]
        at com.google.inject.Guice.createInjector(Guice.java:95) [guice-3.0.jar:na]
        at org.killbill.commons.skeleton.listeners.GuiceServletContextListener.getInjector(GuiceServletContextListener.java:92) [killbill-skeleton-0.2.28.jar:na]
        at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:45) [guice-servlet-3.0.jar:na]
        at org.killbill.commons.skeleton.listeners.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:54) [killbill-skeleton-0.2.28.jar:na]
        at org.killbill.billing.server.listeners.KillbillPlatformGuiceListener.initializeGuice(KillbillPlatformGuiceListener.java:137) [killbill-platform-server-0.1.1-classes.jar:na]
        at org.killbill.billing.server.listeners.KillbillPlatformGuiceListener.contextInitialized(KillbillPlatformGuiceListener.java:89) [killbill-platform-server-0.1.1-classes.jar:na]

hopefully swapping these lines will fix the issue ... if not it's a Hikari bug