Do we have any kind of policy regarding adding new public APIs in the 3.4 
stable maintenance release?  Adding a new API won't harm 
backwards-compatibility, but it does mean that an upgraded client can't use the 
new API until the server side gets upgraded too.  I'd expect adding a new API 
is overall OK, subject to standard risk assessment for any patch going into a 
stable maintenance line.

ZOOKEEPER-1962 proposes enhancing the CLI to support recursively listing 
children.  However, running this on a large tree would risk hitting the 
jute.maxBuffer threshold, consuming a lot of memory, and consuming a thread for 
a long time to process the request.  I'd like to propose that ZOOKEEPER-2260 
(paginated getChildren) be a pre-requisite for the CLI enhancement, so that we 
can avoid these problems.  However, I'd also like us to try to ship the feature 
in a future 3.4 release, because it's very useful for operators.  This is the 
main motivation for my policy question about adding new APIs in a stable line.

--Chris Nauroth

Reply via email to