Recently I've learned *zookeeper* standalone server souce code, now I know
each request will process by *PrepRequestProcessor* ->
*SyncRequestProcessor* -> *FinalRequestProcessor*, I found that
*PrepRequestProcessor* will create a *changeRecord* and put it into
*outstandingChanges* and *outstandingChangesForPath* datastructure, then
after *FinalRequestProcessor* process this request it will remove the
*changeRecord* from the two datastructures。

When process multi request, zk will gets *pendingRecord* from these
datastructures but do nothing with this.

Other than this, I can't find any code to operate the two datastructures.

What confused me is why *zookeeper* developer add this datastructures, I
think
if remove datastructures everything will be ok.

Reply via email to