[
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