[ https://issues.apache.org/jira/browse/ZOOKEEPER-1346?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466957#comment-13466957 ]
Skye Wanderman-Milne commented on ZOOKEEPER-1346: ------------------------------------------------- What if we replace the current 4lw protocol with a Jetty server? Benefits include: - http fixes ZOOKEEPER-1197 - We could serve up status pages in JSON, XML, HTML, ... (this will make integrating with third party tools easier too) - Adds support for encryption + authentication ( => potential for more exciting commands) - We can keep the old TCP protocol as well for backwards compatibility - Resolves this ticket :) I've written a rough prototype implementation, see ZOOKEEPER-1346_jetty.patch. Basically the patch copies the 4lw commands from the ServerCnxn classes into a new Commands class, which is used by a new JettyServer class. To try it out start ZK and go to e.g. http://localhost:8080/command?cmd=stats. > Handle 4lws and monitoring on separate port > ------------------------------------------- > > Key: ZOOKEEPER-1346 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1346 > Project: ZooKeeper > Issue Type: Improvement > Components: server > Reporter: Camille Fournier > Assignee: Camille Fournier > Fix For: 3.5.0 > > Attachments: ZOOKEEPER-1346_jetty.patch > > > Move the 4lws to their own port, off of the client port, and support them > properly via long-lived sessions instead of polling. Deprecate the 4lw > support on the client port. Will enable us to enhance the functionality of > the commands via extended command syntax, address security concerns and fix > bugs involving the socket close being received before all of the data on the > client end. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira