I've encountered the issue which reason was version conflict regarding disruptor via Storm and Phoenix 5. I've filed
STORM-3077 and resolved the root reason, but I also found that HikariCP doesn't give proper error message on this. It just complains about timeout while initializing pool, but the actual error was NoSuchMethodError.
The issue in HikariCP version we use is that it leverages default implementation of ThreadPoolExecutor even while it checks fail-fast in initialization. So fail-fast works anyway, but it says "timed-out", not exposing the error.
One thing to note is that HikariCP moved the main version line to support JDK 8 and change artifact name to "HikariCP-java7" on JDK7 compatible maintenance version. If we would like to provide same user experience, we should keep using "HikariCP" artifact, not "HikariCP-java7", since Maven might not recognize they're same.
Hopefully I found there's another HikariCP version (2.4.7) which all of below conditions are met:
- artifact name is "HikariCP", not "HikariCP-java7"
- fail-fast works correctly
- supports Java 7
So upgrading HikariCP to 2.4.7 would resolve the issue in simplest and safest way.