Cyrille Artho commented on ZOOKEEPER-2496:

Looks like the same bug to me.

> 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.4.8, 3.5.1
>            Reporter: Kazuaki Banzai
>         Attachments: transactionException.patch
> 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

Reply via email to