[
https://issues.apache.org/jira/browse/ZOOKEEPER-2175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14521252#comment-14521252
]
Rakesh R commented on ZOOKEEPER-2175:
-------------------------------------
Thanks [~brahmareddy] for the good analysis. Yes, this is a case of packet
corruption while transferring the packets between client and the connected ZK
server. Here the tricky part is, only one bit of {{session id}} got corrupted.
Following are the suggestions I can think of,
# IIUC packet corruption/malformation would get resolved if we have
wire-encryption in place. ZooKeeper is supporting this feature 3.5.x version
onwards. The major work has been completed and few more to go. Please see
ZOOKEEPER-2120, ZOOKEEPER-2125 jira to watch the progress. I think the issue
reported on 3.4.6 version, it doesn't have wire-encryption feature available.
It would be good to test this scenario(can use Wireshark simulator tool) once
wire-encryption feature is fully implemented : client-to-server and
server-to-server communication.
# Secondly, I feel we could think of providing additional checks by validating
the {{session id}} on every client-server communication.But this won't
completely solve the problem because consider another case where the user data
is getting corrupted.
> Checksum validation for malformed packets needs to handle.
> ----------------------------------------------------------
>
> Key: ZOOKEEPER-2175
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2175
> Project: ZooKeeper
> Issue Type: Bug
> Reporter: Brahma Reddy Battula
>
> *Session Id from ZK :*
> 2015-04-15 21:24:54,257 | INFO | CommitProcessor:22 | Established session
> 0x164cb2b3e4b36ae4 with negotiated timeout 45000 for client
> /160.149.0.117:44586 |
> org.apache.zookeeper.server.ZooKeeperServer.finishSessionInit(ZooKeeperServer.java:623)
> 2015-04-15 21:24:54,261 | INFO |
> NIOServerCxn.Factory:160-149-0-114/160.149.0.114:24002 | Successfully
> authenticated client: authenticationID=hdfs/[email protected];
> authorizationID=hdfs/[email protected]. |
> org.apache.zookeeper.server.auth.SaslServerCallbackHandler.handleAuthorizeCallback(SaslServerCallbackHandler.java:118)
> 2015-04-15 21:24:54,261 | INFO |
> NIOServerCxn.Factory:160-149-0-114/160.149.0.114:24002 | Setting
> authorizedID: hdfs/[email protected] |
> org.apache.zookeeper.server.auth.SaslServerCallbackHandler.handleAuthorizeCallback(SaslServerCallbackHandler.java:134)
> 2015-04-15 21:24:54,261 | INFO |
> NIOServerCxn.Factory:160-149-0-114/160.149.0.114:24002 | adding SASL
> authorization for authorizationID: hdfs/[email protected] |
> org.apache.zookeeper.server.ZooKeeperServer.processSasl(ZooKeeperServer.java:1009)
> 2015-04-15 21:24:54,262 | INFO | ProcessThread(sid:22 cport:-1): | Got
> user-level KeeperException when processing
> *{color:red}sessionid:0x164cb2b3e4b36ae4{color}* type:create cxid:0x3
> zxid:0x20009fafc txntype:-1 reqpath:n/a Error
> Path:/hadoop-ha/hacluster/ActiveStandbyElectorLock Error:KeeperErrorCode =
> NodeExists for /hadoop-ha/hacluster/ActiveStandbyElectorLock |
> org.apache.zookeeper.server.PrepRequestProcessor.pRequest(PrepRequestProcessor.java:648)
> *ZKFC Received :* ZK client
> 2015-04-15 21:24:54,237 | INFO | main-SendThread(160-149-0-114:24002) |
> Socket connection established to 160-149-0-114/160.149.0.114:24002,
> initiating session |
> org.apache.zookeeper.ClientCnxn$SendThread.primeConnection(ClientCnxn.java:854)
> 2015-04-15 21:24:54,257 | INFO | main-SendThread(160-149-0-114:24002) |
> Session establishment complete on server 160-149-0-114/160.149.0.114:24002,
> *{color:blue}sessionid = 0x144cb2b3e4b36ae4 {color}* , negotiated timeout =
> 45000 |
> org.apache.zookeeper.ClientCnxn$SendThread.onConnected(ClientCnxn.java:1259)
> 2015-04-15 21:24:54,260 | INFO | main-EventThread | EventThread shut down |
> org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:512)
> 2015-04-15 21:24:54,262 | INFO | main-EventThread | Session connected. |
> org.apache.hadoop.ha.ActiveStandbyElector.processWatchEvent(ActiveStandbyElector.java:547)
> 2015-04-15 21:24:54,264 | INFO | main-EventThread | Successfully
> authenticated to ZooKeeper using SASL. |
> org.apache.hadoop.ha.ActiveStandbyElector.processWatchEvent(ActiveStandbyElector.java:573)
> one bit corrupted..please check the following for same..
> 144cb2b3e4b36ae4=1010001001100101100101011001111100100101100110110101011100100
> 164cb2b3e4b36ae4=1011001001100101100101011001111100100101100110110101011100100
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)