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

Alexander Shraer updated ZOOKEEPER-2019:
----------------------------------------

    Attachment: ZOOKEEPER-2019-ver1.patch

Thanks Raul! I made a small change to the code that was doing the parsing, take 
a look. The motivation is to check not only the numbers but also the strings 
'count' and 'bytes' and throw an exception if something is wrong. 

> 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-ver1.patch, ZOOKEEPER-2019.patch, 
> 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