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
set.
                 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
occurred.
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
(v6.3.4#6332)

Mime
View raw message