[ 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)