Looking at "git blame zookeeper.jute", I traced the change back to ZOOKEEPER-1297 (add stat information to create call). Comments in the jira and corresponding Review Board request indicate that a new request/response pair was introduced in order to preserve backwards compatibility with existing clients. Although CreateRequest and Create2Request are the same, CreateResponse and Create2Response are different. It looks like new clients sending Create2Request would receive the new data, but old clients that still send CreateRequest would continue to receive the old data, thus preserving compatibility.
Disclaimer: I was not involved with any of this work. I'm just someone with a git log and a browser pointed at jira. :-) This does appear to be the rationale for Create2Request though. https://issues.apache.org/jira/browse/ZOOKEEPER-1297 https://reviews.apache.org/r/7283/ --Chris Nauroth On 5/8/15, 8:58 AM, "Jordan Zimmerman" <[email protected]> wrote: >Why was it necessary to define the Create2Request class? It¹s exactly the >same as CreateRequest. I¹m working on ZOOKEEPER-2163 and need to >understand the difference/need. > >-Jordan > >
