Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-3253

client should not send requests with cxid=-4, -2, or -1

    XMLWordPrintableJSON

Details

    • Reviewed

    Description

      Once the cxid value increments to -4, the client will interpret the response as an auth packet rather than as a response to a request and will transparently drop the response and the request will hang.  Similarly, -2 will be seen as a ping and will be dropped hanging the request.  -1 shows up as a WatcherEvent and results in the error below.

       

      2019-01-07T21:58:23.209+00:00 [INFO ] [main-SendThread(mnds1-2-phx.ops.sfdc.net:2181)] [ClientCnxn.java:1381] [:] - Session establishment complete on server mnds1-2-phx.ops.sfdc.net/10.246.244.71:2181, sessionid = 0x267859729d66320, negotiated timeout = 10000
      2019-01-07T21:58:22.281+00:00 20190107215822.281000 [WARN ] [main-SendThread(mnds1-3-phx.ops.sfdc.net:2181)] [ClientCnxn.java:1235] [:] - Session 0x267859729d66320 for server mnds1-3-phx.ops.sfdc.net/10.246.244.69:2181, unexpected error, closing socket connection and attempting reconnect
      java.io.IOException: Unreasonable length = 892612659
      at org.apache.jute.BinaryInputArchive.checkLength(BinaryInputArchive.java:127) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]
      at org.apache.jute.BinaryInputArchive.readString(BinaryInputArchive.java:81) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]
      at org.apache.zookeeper.proto.WatcherEvent.deserialize(WatcherEvent.java:66) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]
      at org.apache.zookeeper.ClientCnxn$SendThread.readResponse(ClientCnxn.java:839) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]
      at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:101) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]
      at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:363) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]
      at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1214) ~[zookeeper-3.5.3-beta.jar:3.5.3-beta-8ce24f9e675cbefffb8f21a47e06b42864475a60]

       

      Attachments

        Issue Links

          Activity

            People

              sjust2 Samuel Just
              sjust2 Samuel Just
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - 48h
                  48h
                  Remaining:
                  Time Spent - 5h 10m Remaining Estimate - 42h 50m
                  42h 50m
                  Logged:
                  Time Spent - 5h 10m Remaining Estimate - 42h 50m
                  5h 10m