[ https://issues.apache.org/jira/browse/ZOOKEEPER-3135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
maoling updated ZOOKEEPER-3135: ------------------------------- Summary: update lastSend, lastHeard with current timestamp when client reconnects successfully (was: ClientCnxnSocket#updateLastSendAndHeard() method update lastSend、lastHeard has some problem) > update lastSend, lastHeard with current timestamp when client reconnects > successfully > ------------------------------------------------------------------------------------- > > Key: ZOOKEEPER-3135 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-3135 > Project: ZooKeeper > Issue Type: Bug > Reporter: yangkun > Priority: Minor > Labels: pull-request-available > Time Spent: 1h > Remaining Estimate: 0h > > ClientCnxnSocket#updateLastSendAndHeard() method update lastSend、lastHeard to > now: > > {code:java} > void updateLastSendAndHeard() { > this.lastSend = now; > this.lastHeard = now; > } > void updateNow() { > now = Time.currentElapsedTime(); > }{code} > In SendThread#run() method, there are some place call > updateLastSendAndHeard() method, simplified as follows: > > {code:java} > public void run() { > clientCnxnSocket.updateNow(); > // place-1. update lastSend、lastHeard > clientCnxnSocket.updateLastSendAndHeard(); > while (state.isAlive()) { > try { > // ...some operation > startConnect(serverAddress); > // place-2. update lastSend、lastHeard > clientCnxnSocket.updateLastSendAndHeard(); > } > }{code} > > If so, place-1 and place-2, the lastSend、lastHeard value is equals, However, > between place-1 and place-2 has some operation,consume some time,it should > actually be unequal. > > > > -- This message was sent by Atlassian Jira (v8.3.4#803005)