Fred Krone created GEODE-4266: --------------------------------- Summary: jdbc exception not handled in gfsh Key: GEODE-4266 URL: https://issues.apache.org/jira/browse/GEODE-4266 Project: Geode Issue Type: Bug Components: regions Reporter: Fred Krone
Steps Created a jdbc-connection, jdbc-mapping, region in gfsh Tried a .get from the region which attempted to read through with the JdbcLoader However it could not connect to the endpoint and threw an exception (fine). But the exception wasn't handled in gfsh -- gfsh appeared hung. java.lang.IllegalStateException: Could not connect ... at org.apache.geode.connectors.jdbc.internal.SqlHandler.getConnection(SqlHandler.java:59) at org.apache.geode.connectors.jdbc.internal.SqlHandler.read(SqlHandler.java:73) at org.apache.geode.connectors.jdbc.JdbcLoader.load(JdbcLoader.java:52) at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.doLocalLoad(SearchLoadAndWriteProcessor.java:791) at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.load(SearchLoadAndWriteProcessor.java:602) at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.searchAndLoad(SearchLoadAndWriteProcessor.java:461) at org.apache.geode.internal.cache.SearchLoadAndWriteProcessor.doSearchAndLoad(SearchLoadAndWriteProcessor.java:177) at org.apache.geode.internal.cache.DistributedRegion.findUsingSearchLoad(DistributedRegion.java:2338) at org.apache.geode.internal.cache.DistributedRegion.findObjectInSystem(DistributedRegion.java:2208) at org.apache.geode.internal.cache.LocalRegion.nonTxnFindObject(LocalRegion.java:1477) at org.apache.geode.internal.cache.LocalRegionDataView.findObject(LocalRegionDataView.java:176) at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1366) at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1300) at org.apache.geode.internal.cache.LocalRegion.get(LocalRegion.java:1285) at org.apache.geode.internal.cache.AbstractRegion.get(AbstractRegion.java:320) at org.apache.geode.management.internal.cli.functions.DataCommandFunction.get(DataCommandFunction.java:443) at org.apache.geode.management.internal.cli.functions.DataCommandFunction.get(DataCommandFunction.java:151) at org.apache.geode.management.internal.cli.functions.DataCommandFunction.execute(DataCommandFunction.java:116) at org.apache.geode.internal.cache.MemberFunctionStreamingMessage.process(MemberFunctionStreamingMessage.java:187) at org.apache.geode.distributed.internal.DistributionMessage.scheduleAction(DistributionMessage.java:382) at org.apache.geode.distributed.internal.DistributionMessage$1.run(DistributionMessage.java:448) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.geode.distributed.internal.ClusterDistributionManager.runUntilShutdown(ClusterDistributionManager.java:1117) at org.apache.geode.distributed.internal.ClusterDistributionManager.access$000(ClusterDistributionManager.java:108) at org.apache.geode.distributed.internal.ClusterDistributionManager$9$1.run(ClusterDistributionManager.java:987) at java.lang.Thread.run(Thread.java:745) Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server. at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:990) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:341) at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2186) at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2219) at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2014) at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:776) at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47) at sun.reflect.GeneratedConstructorAccessor34.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.mysql.jdbc.Util.handleNewInstance(Util.java:425) at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:386) at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:330) at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:117) at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:375) at com.zaxxer.hikari.pool.PoolBase.newPoolEntry(PoolBase.java:204) at com.zaxxer.hikari.pool.HikariPool.createPoolEntry(HikariPool.java:459) at com.zaxxer.hikari.pool.HikariPool.checkFailFast(HikariPool.java:533) at com.zaxxer.hikari.pool.HikariPool.<init>(HikariPool.java:114) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:97) at org.apache.geode.connectors.jdbc.internal.HikariJdbcDataSource.getConnection(HikariJdbcDataSource.java:37) at org.apache.geode.connectors.jdbc.internal.SqlHandler.getConnection(SqlHandler.java:57) ... 26 more Caused by: java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:211) at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:300) ... 46 more -- This message was sent by Atlassian JIRA (v6.4.14#64029)