You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@iotdb.apache.org by "Xiangdong Huang (Jira)" <ji...@apache.org> on 2020/08/10 16:10:00 UTC

[jira] [Created] (IOTDB-832) reconnection failed: the SessionPool has wait for 60 seconds to get a new connection

Xiangdong Huang created IOTDB-832:
-------------------------------------

             Summary: reconnection failed: the SessionPool has wait for 60 seconds to get a new connection
                 Key: IOTDB-832
                 URL: https://issues.apache.org/jira/browse/IOTDB-832
             Project: Apache IoTDB
          Issue Type: Bug
          Components: Client/Java
    Affects Versions: 0.9.3, 0.10.0, 0.11.0, 0.10.1
            Reporter: Xiangdong Huang


SessionPool can reconnect the server automatically if the connection is broken.

However, if the server is down and therefore session pool reconnects failed, the pool still considers the size of session connections that it owns should be +1, which leads to no more sessions can be created.

 
{code:java}
// Some comments here

23:41:27.902 [Thread-1] DEBUG org.apache.iotdb.session.pool.SessionPool - Create a new Session 127.0.0.1, 6667, root, root
23:41:27.902 [Thread-0] DEBUG org.apache.iotdb.session.pool.SessionPool - Create a new Session 127.0.0.1, 6667, root, root
23:41:27.902 [Thread-2] DEBUG org.apache.iotdb.session.pool.SessionPool - Create a new Session 127.0.0.1, 6667, root, root
23:41:32.923 [Thread-1] DEBUG org.apache.iotdb.session.pool.SessionPool - Remove a broken Session 127.0.0.1, 6667, root, root
23:41:32.923 [Thread-2] WARN org.apache.thrift.transport.TIOStreamTransport - Error closing output stream.
java.net.SocketException: Socket closed
	at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:118)
	at java.net.SocketOutputStream.write(SocketOutputStream.java:155)
	at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)
	at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)
	at java.io.FilterOutputStream.close(FilterOutputStream.java:158)
	at org.apache.thrift.transport.TIOStreamTransport.close(TIOStreamTransport.java:108)
	at org.apache.thrift.transport.TSocket.close(TSocket.java:235)
	at org.apache.thrift.transport.TFastFramedTransport.close(TFastFramedTransport.java:115)
	at org.apache.iotdb.session.Session.close(Session.java:192)
	at org.apache.iotdb.session.pool.SessionPool.closeSession(SessionPool.java:215)
	at org.apache.iotdb.session.pool.SessionPool.cleanSessionAndMayThrowConnectionException(SessionPool.java:223)
	at org.apache.iotdb.session.pool.SessionPool.insertRecord(SessionPool.java:391)
	at org.apache.iotdb.SessionPoolExample.lambda$insertRecord$0(SessionPoolExample.java:74)
	at java.lang.Thread.run(Thread.java:748)
23:41:32.923 [Thread-0] DEBUG org.apache.iotdb.session.pool.SessionPool - Remove a broken Session 127.0.0.1, 6667, root, root
23:41:32.923 [Thread-0] DEBUG org.apache.iotdb.session.pool.SessionPool - Create a new Session 127.0.0.1, 6667, root, root
23:41:32.923 [Thread-2] DEBUG org.apache.iotdb.session.pool.SessionPool - Remove a broken Session 127.0.0.1, 6667, root, root
23:41:32.923 [Thread-2] DEBUG org.apache.iotdb.session.pool.SessionPool - Create a new Session 127.0.0.1, 6667, root, root
23:41:32.924 [Thread-1] DEBUG org.apache.iotdb.session.pool.SessionPool - Create a new Session 127.0.0.1, 6667, root, root
org.apache.iotdb.rpc.IoTDBConnectionException: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
	at org.apache.iotdb.session.Session.open(Session.java:130)
	at org.apache.iotdb.session.Session.open(Session.java:115)
	at org.apache.iotdb.session.pool.SessionPool.getSession(SessionPool.java:144)
	at org.apache.iotdb.session.pool.SessionPool.insertRecord(SessionPool.java:384)
	at org.apache.iotdb.SessionPoolExample.lambda$insertRecord$0(SessionPoolExample.java:74)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
	at org.apache.thrift.transport.TSocket.open(TSocket.java:226)
	at org.apache.thrift.transport.TFastFramedTransport.open(TFastFramedTransport.java:125)
	at org.apache.iotdb.session.Session.open(Session.java:128)
	... 5 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	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 org.apache.thrift.transport.TSocket.open(TSocket.java:221)
	... 7 more
org.apache.iotdb.rpc.IoTDBConnectionException: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
	at org.apache.iotdb.session.Session.open(Session.java:130)
	at org.apache.iotdb.session.Session.open(Session.java:115)
	at org.apache.iotdb.session.pool.SessionPool.getSession(SessionPool.java:144)
	at org.apache.iotdb.session.pool.SessionPool.insertRecord(SessionPool.java:384)
	at org.apache.iotdb.SessionPoolExample.lambda$insertRecord$0(SessionPoolExample.java:74)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
	at org.apache.thrift.transport.TSocket.open(TSocket.java:226)
	at org.apache.thrift.transport.TFastFramedTransport.open(TFastFramedTransport.java:125)
	at org.apache.iotdb.session.Session.open(Session.java:128)
	... 5 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	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 org.apache.thrift.transport.TSocket.open(TSocket.java:221)
	... 7 more
org.apache.iotdb.rpc.IoTDBConnectionException: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
	at org.apache.iotdb.session.Session.open(Session.java:130)
	at org.apache.iotdb.session.Session.open(Session.java:115)
	at org.apache.iotdb.session.pool.SessionPool.getSession(SessionPool.java:144)
	at org.apache.iotdb.session.pool.SessionPool.insertRecord(SessionPool.java:384)
	at org.apache.iotdb.SessionPoolExample.lambda$insertRecord$0(SessionPoolExample.java:74)
	at java.lang.Thread.run(Thread.java:748)
Caused by: org.apache.thrift.transport.TTransportException: java.net.ConnectException: Connection refused (Connection refused)
	at org.apache.thrift.transport.TSocket.open(TSocket.java:226)
	at org.apache.thrift.transport.TFastFramedTransport.open(TFastFramedTransport.java:125)
	at org.apache.iotdb.session.Session.open(Session.java:128)
	... 5 more
Caused by: java.net.ConnectException: Connection refused (Connection refused)
	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 org.apache.thrift.transport.TSocket.open(TSocket.java:221)
	... 7 more
23:41:42.946 [Thread-0] WARN org.apache.iotdb.session.pool.SessionPool - the SessionPool has wait for 10 seconds to get a new connection: 127.0.0.1:6667 with root, root
23:41:42.946 [Thread-0] WARN org.apache.iotdb.session.pool.SessionPool - current occupied size 0, queue size 0, considered size 3 
org.apache.iotdb.rpc.IoTDBConnectionException: timeout to get a connection from 127.0.0.1:6667
	at org.apache.iotdb.session.pool.SessionPool.getSession(SessionPool.java:126)
	at org.apache.iotdb.session.pool.SessionPool.insertRecord(SessionPool.java:384)
	at org.apache.iotdb.SessionPoolExample.lambda$insertRecord$0(SessionPoolExample.java:74)
	at java.lang.Thread.run(Thread.java:748)
{code}

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)