You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by GitBox <gi...@apache.org> on 2020/03/08 13:13:45 UTC

[GitHub] [incubator-shardingsphere] xunux opened a new issue #4661: [bug] sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12

xunux opened a new issue #4661: [bug] sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12
URL: https://github.com/apache/incubator-shardingsphere/issues/4661
 
 
   ## Bug Report sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12
   
   ### Which version of ShardingSphere did you use?
   ShardingSphere 4.0
   
   ### Which project did you use? Sharding-JDBC or Sharding-Proxy?
   Sharding-JDBC
   
   ### Expected behavior
   i use latest sharding jdbc 4.0 version, when i use it to test masterslave write-read split function on postgresql 12, when i close postgresql master node, dml sql execute failed and immediately return.
   
   ### Actual behavior
   when postgresql master node shutdown, execute dml sql hung up, and has no response until 90s later.  further,when i  restart pg master node, the dml sql which executed before i restarted, unexpectedly execute success later.
   
   
   ### Reason analyze (If you can)
   
   
   ### Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.
   
   sql:
   ```
   update user_info set user_name=?,update_time=?   where user_id=?
   ```
   
   error log
   ```
   2020-03-08 20:17:03.482 |-ERROR [Druid-ConnectionPool-Create-201213864] com.alibaba.druid.pool.DruidDataSource [2699] -| create connection SQLException, url: jdbc:postgresql://localhost:5433/testdb, errorCode 0, state 08001
   org.postgresql.util.PSQLException: Connection to localhost:5433 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
   	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:284)
   	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
   	at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
   	at org.postgresql.Driver.makeConnection(Driver.java:459)
   	at org.postgresql.Driver.connect(Driver.java:261)
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1596)
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1662)
   	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2697)
   Caused by: java.net.ConnectException: Connection refused: connect
   	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
   	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
   	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.PlainSocketImpl.connect(PlainSocketImpl.java:172)
   	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
   	at java.net.Socket.connect(Socket.java:589)
   	at org.postgresql.core.PGStream.<init>(PGStream.java:81)
   	at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:92)
   	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:196)
   	... 7 common frames omitted
   2020-03-08 20:17:04.997 |-ERROR [Druid-ConnectionPool-Create-201213864] com.alibaba.druid.pool.DruidDataSource [2699] -| create connection SQLException, url: jdbc:postgresql://localhost:5433/tongxiangdb, errorCode 0, state 08001
   org.postgresql.util.PSQLException: Connection to localhost:5433 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
   	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:284)
   	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
   	at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
   	at org.postgresql.Driver.makeConnection(Driver.java:459)
   	at org.postgresql.Driver.connect(Driver.java:261)
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1596)
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1662)
   	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2697)
   Caused by: java.net.ConnectException: Connection refused: connect
   	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
   	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
   	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.PlainSocketImpl.connect(PlainSocketImpl.java:172)
   	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
   	at java.net.Socket.connect(Socket.java:589)
   	at org.postgresql.core.PGStream.<init>(PGStream.java:81)
   	at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:92)
   	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:196)
   	... 7 common frames omitted
   ```
   
   ```
   ### Cause: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 500, creating 1, createElapseMillis 747, createErrorCount 971
   ; wait millis 60000, active 0, maxActive 500, creating 1, createElapseMillis 747, createErrorCount 971; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 500, creating 1, createElapseMillis 747, createErrorCount 971
   	at org.springframework.jdbc.support.SQLStateSQLExceptionTranslator.doTranslate(SQLStateSQLExceptionTranslator.java:120)
   	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:72)
   	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
   	at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:81)
   	at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:73)
   	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:446)
   	at com.sun.proxy.$Proxy93.update(Unknown Source)
   	at org.mybatis.spring.SqlSessionTemplate.update(SqlSessionTemplate.java:294)
   	at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:63)
   	at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:59)
   	at com.sun.proxy.$Proxy94.updateCompanyUserInfo(Unknown Source)
   	at com.pingan.smartcity.di.epidemic.service.impl.UserInfoServiceImpl.updateCompanyUserInfo(UserInfoServiceImpl.java:563)
   	at com.pingan.smartcity.di.epidemic.service.impl.UserInfoServiceImpl$$FastClassBySpringCGLIB$$5980dc00.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
   	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:684)
   	at com.pingan.smartcity.di.epidemic.service.impl.UserInfoServiceImpl$$EnhancerBySpringCGLIB$$cb39067f.updateCompanyUserInfo(<generated>)
   	at com.pingan.smartcity.di.epidemic.controller.UserController.updateCompanyUser(UserController.java:590)
   	at com.pingan.smartcity.di.epidemic.controller.UserController$$FastClassBySpringCGLIB$$dd65f660.invoke(<generated>)
   	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
   	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:746)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
   	at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:119)
   	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185)
   	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688)
   	at com.pingan.smartcity.di.epidemic.controller.UserController$$EnhancerBySpringCGLIB$$453270b.updateCompanyUser(<generated>)
   	at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:209)
   	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
   	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102)
   	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:891)
   	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797)
   	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
   	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:991)
   	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:925)
   	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:974)
   	at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:877)
   	at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
   	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:851)
   	at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
   	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
   	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
   	at org.springframework.session.web.http.SessionRepositoryFilter.doFilterInternal(SessionRepositoryFilter.java:147)
   	at org.springframework.session.web.http.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:81)
   	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.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)
   Caused by: com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 60000, active 0, maxActive 500, creating 1, createElapseMillis 747, createErrorCount 971
   	at com.alibaba.druid.pool.DruidDataSource.getConnectionInternal(DruidDataSource.java:1680)
   	at com.alibaba.druid.pool.DruidDataSource.getConnectionDirect(DruidDataSource.java:1395)
   	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1375)
   	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:1365)
   	at com.alibaba.druid.pool.DruidDataSource.getConnection(DruidDataSource.java:109)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection.createConnection(MasterSlaveConnection.java:51)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter.createConnections(AbstractConnectionAdapter.java:127)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter.getConnections(AbstractConnectionAdapter.java:116)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.adapter.AbstractConnectionAdapter.getConnection(AbstractConnectionAdapter.java:85)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.MasterSlavePreparedStatement.<init>(MasterSlavePreparedStatement.java:69)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.MasterSlavePreparedStatement.<init>(MasterSlavePreparedStatement.java:53)
   	at org.apache.shardingsphere.shardingjdbc.jdbc.core.connection.MasterSlaveConnection.prepareStatement(MasterSlaveConnection.java:76)
   	at sun.reflect.GeneratedMethodAccessor86.invoke(Unknown Source)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.apache.ibatis.logging.jdbc.ConnectionLogger.invoke(ConnectionLogger.java:55)
   	at com.sun.proxy.$Proxy98.prepareStatement(Unknown Source)
   	at org.apache.ibatis.executor.statement.PreparedStatementHandler.instantiateStatement(PreparedStatementHandler.java:87)
   	at org.apache.ibatis.executor.statement.BaseStatementHandler.prepare(BaseStatementHandler.java:88)
   	at org.apache.ibatis.executor.statement.RoutingStatementHandler.prepare(RoutingStatementHandler.java:59)
   	at org.apache.ibatis.executor.SimpleExecutor.prepareStatement(SimpleExecutor.java:85)
   	at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:49)
   	at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117)
   	at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76)
   	at sun.reflect.GeneratedMethodAccessor204.invoke(Unknown Source)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:63)
   	at com.sun.proxy.$Proxy148.update(Unknown Source)
   	at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:198)
   	at sun.reflect.GeneratedMethodAccessor216.invoke(Unknown Source)
   	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   	at java.lang.reflect.Method.invoke(Method.java:498)
   	at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:433)
   	... 64 common frames omitted
   Caused by: org.postgresql.util.PSQLException: Connection to localhost:5433 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections.
   	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:284)
   	at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:49)
   	at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:211)
   	at org.postgresql.Driver.makeConnection(Driver.java:459)
   	at org.postgresql.Driver.connect(Driver.java:261)
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1596)
   	at com.alibaba.druid.pool.DruidAbstractDataSource.createPhysicalConnection(DruidAbstractDataSource.java:1662)
   	at com.alibaba.druid.pool.DruidDataSource$CreateConnectionThread.run(DruidDataSource.java:2697)
   Caused by: java.net.ConnectException: Connection refused: connect
   	at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
   	at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:85)
   	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.PlainSocketImpl.connect(PlainSocketImpl.java:172)
   	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
   	at java.net.Socket.connect(Socket.java:589)
   	at org.postgresql.core.PGStream.<init>(PGStream.java:81)
   	at org.postgresql.core.v3.ConnectionFactoryImpl.tryConnect(ConnectionFactoryImpl.java:92)
   	at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:196)
   	... 7 common frames omitted
   
   ```
   
   
   
   shadingsphere config
   ```
   spring.shardingsphere.enabled=true
   spring.shardingsphere.datasource.names=master,slave0
   # database master
   spring.shardingsphere.datasource.master.type=com.alibaba.druid.pool.DruidDataSource
   spring.shardingsphere.datasource.master.driver-class-name=org.postgresql.Driver
   spring.shardingsphere.datasource.master.url=jdbc:postgresql://localhost:5433/testdb
   spring.shardingsphere.datasource.master.username=postgres
   spring.shardingsphere.datasource.master.password=postgres
   spring.shardingsphere.datasource.master.initial-size=10
   spring.shardingsphere.datasource.master.minIdle=10
   spring.shardingsphere.datasource.master.maxActive=500
   spring.shardingsphere.datasource.master.maxWait=60000
   spring.shardingsphere.datasource.master.timeBetweenEvictionRunsMillis=60000
   spring.shardingsphere.datasource.master.minEvictableIdleTimeMillis=300000
   spring.shardingsphere.datasource.master.validationQuery=SELECT 1
   spring.shardingsphere.datasource.master.testWhileIdle=true
   # database slave
   spring.shardingsphere.datasource.slave0.type=com.alibaba.druid.pool.DruidDataSource
   spring.shardingsphere.datasource.slave0.driver-class-name=org.postgresql.Driver
   spring.shardingsphere.datasource.slave0.url=jdbc:postgresql://localhost:5434/testdb
   spring.shardingsphere.datasource.slave0.username=postgres
   spring.shardingsphere.datasource.slave0.password=postgres
   spring.shardingsphere.datasource.slave0.initial-size=10
   spring.shardingsphere.datasource.slave0.minIdle=10
   spring.shardingsphere.datasource.slave0.maxActive=500
   spring.shardingsphere.datasource.slave0.maxWait=60000
   spring.shardingsphere.datasource.slave0.timeBetweenEvictionRunsMillis=60000
   spring.shardingsphere.datasource.slave0.minEvictableIdleTimeMillis=300000
   spring.shardingsphere.datasource.slave0.validationQuery=SELECT 1
   spring.shardingsphere.datasource.slave0.testWhileIdle=true
   # read write split
   spring.shardingsphere.masterslave.load-balance-algorithm-type=round_robin
   spring.shardingsphere.masterslave.name=ds_ms
   spring.shardingsphere.masterslave.master-data-source-name=master
   spring.shardingsphere.masterslave.slave-data-source-names=slave0
   # show sql
   spring.shardingsphere.props.sql.show=true
   # transaction type can be: local xa or base
   spring.shardingsphere.props.proxy.transaction.type=LOCAL
   ```
   
   
   ### Example codes for reproduce this issue (such as a github link).
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-shardingsphere] xunux closed issue #4661: Dml sql hung up when i close master node in use master slave write-read split function on postgresql 12

Posted by GitBox <gi...@apache.org>.
xunux closed issue #4661: Dml sql hung up when i close master node in use master slave write-read split function on postgresql 12
URL: https://github.com/apache/incubator-shardingsphere/issues/4661
 
 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-shardingsphere] xunux edited a comment on issue #4661: [bug] sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12

Posted by GitBox <gi...@apache.org>.
xunux edited a comment on issue #4661: [bug] sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12
URL: https://github.com/apache/incubator-shardingsphere/issues/4661#issuecomment-596205913
 
 
   怕你们看不懂我写的英文,中文再描述下:
   
   我用的是 shardingsphere 4.0 版本,想用来 postgres 读写分离,发现在主节点关掉后,插入更新删除数据会堵住无响应,java 后台一直在报jdbc连接拒绝,druid连接池打印出来的错误信息“errotCode 0, state 08001”,druid 连接池设置的 maxWait 时间是60秒,直到差不多 90 秒后才报错。
   
   神奇的是,此时我若是重新启动pg主节点,启动前90秒内发起的写操作请求竟然会操作成功。
   
   sharding sphere 的 master slave 数据源若配置成同一个 pg 实例但不同库时,pg节点关闭会立马报错,与不用 shardingsphere的效果一样。
   
   这跟预期结果不太一样,感觉是shardingsphere 在处理连接池抛出的异常信息时有些没处理好到导致的。
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-shardingsphere] xunux commented on issue #4661: Dml sql hung up when i close master node in use master slave write-read split function on postgresql 12

Posted by GitBox <gi...@apache.org>.
xunux commented on issue #4661: Dml sql hung up when i close master node in use master slave write-read split function on postgresql 12
URL: https://github.com/apache/incubator-shardingsphere/issues/4661#issuecomment-596212078
 
 
   this is not a bug, it because datasource will wait maxWait seconds to get connection. during the time, if you restart database, jdbc datasource will get connection and execute sql success.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services

[GitHub] [incubator-shardingsphere] xunux commented on issue #4661: [bug] sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12

Posted by GitBox <gi...@apache.org>.
xunux commented on issue #4661: [bug] sharding-jdbc 4.0 version, dml sql hung up when i close master node when i use master slave write-read split function on postgresql 12
URL: https://github.com/apache/incubator-shardingsphere/issues/4661#issuecomment-596205913
 
 
   怕你们看不懂我写的英文,中文再描述下:
   
   我用的是 shardingsphere 4.0 版本,想用来 postgres 读写分离,发现在主节点关掉后,插入更新删除数据会堵住无响应,java 后台一直在报jdbc连接拒绝,druid连接池打印出来的错误信息“errotCode 0, state 08001”,druid 连接池设置的 maxWait 时间是60秒,直到差不多 90 秒后才报错。
   
   神奇的是,此时我若是重新启动pg主节点,启动前90秒内发起的写操作请求竟然会操作成功。
   
   sharding sphere 的 master slave 数据源若配置成同一个 pg 实例但不同库时,pg节点关闭会立马报错,与不用 shardingsphere的效果一样。
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services