zookeeper-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Kazuaki Banzai (JIRA)" <j...@apache.org>
Subject [jira] [Created] (ZOOKEEPER-2496) When inside a transaction, some exceptions do not have path information set.
Date Mon, 01 Aug 2016 07:53:20 GMT
Kazuaki Banzai created ZOOKEEPER-2496:

             Summary: When inside a transaction, some exceptions do not have path information
                 Key: ZOOKEEPER-2496
                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-2496
             Project: ZooKeeper
          Issue Type: Bug
    Affects Versions: 3.5.1, 3.4.8
            Reporter: Kazuaki Banzai

If a client tries to execute some illegal operations inside a transaction, ZooKeeper throws
an exception.

Some exceptions such as NodeExistsException should have a path to indicate where the exception
ZooKeeper clients can get the path by calling method getPath.
However, this method returns null if the exception occurs inside a transaction.
For example, when a client calls create /a and create /a in a transaction,
ZooKeeper throws NodeExistsException but getPath returns null.
In normal operation (outside transactions), the path information is set correctly.
The patch only shows this bug occurs with NoNode exception and NodeExists exception,
but this bug seems to occur with any exception which needs a path information:
When an error occurred in a transaction, ZooKeeper creates an ErrorResult instance to represent
error result.

However, the ErrorResult class doesn't have a field for a path where an error occurred(See
src/java/main/org/apache/zookeeper/OpResult.java for more details).

This message was sent by Atlassian JIRA

View raw message