[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-2019?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Raul Gutierrez Segales updated ZOOKEEPER-2019:
----------------------------------------------

    Attachment: ZOOKEEPER-2019.patch

This is does the bare minimum (i.e.: doesn't crash when reading a bad 
zookeeper_limits znode). We could probably do more, i.e.: sanitize 
zookeeper_limits znodes as they are being created/updated (the reconfig 
commands do this). But since the quotas stuff might change (it's very basic 
currently) Maybe we don't want to set validations yet.

Thoughts?

cc: [~phunt], [~shralex], [~hdeng]

> Unhandled exception when setting invalid limits data in 
> /zookeeper/quota/some/path/zookeeper_limits 
> ----------------------------------------------------------------------------------------------------
>
>                 Key: ZOOKEEPER-2019
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2019
>             Project: ZooKeeper
>          Issue Type: Bug
>          Components: server
>            Reporter: Raul Gutierrez Segales
>            Assignee: Raul Gutierrez Segales
>             Fix For: 3.5.0
>
>         Attachments: ZOOKEEPER-2019.patch
>
>
> If you have quotas properly set for a given path, i.e.:
> {noformat}
> create /zookeeper/quota/test/zookeeper_limits 'count=1,bytes=100'
> create /zookeeper/quota/test/zookeeper_stats 'count=1,bytes=100'
> {noformat}
> and then you update the limits znode with bogus data, i.e.:
> {noformat}
> set /zookeeper/quota/test/zookeeper_limits ''
> {noformat}
> you'll crash the cluster because IllegalArgumentException isn't handled when 
> dealing with quotas znodes:
> https://github.com/apache/zookeeper/blob/ZOOKEEPER-823/src/java/main/org/apache/zookeeper/server/DataTree.java#L379
> https://github.com/apache/zookeeper/blob/ZOOKEEPER-823/src/java/main/org/apache/zookeeper/server/DataTree.java#L425
> We should handle IllegalArgumentException. Optionally, we should also throw 
> BadArgumentsException from PrepRequestProcessor. 



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to