[
https://issues.apache.org/jira/browse/ZOOKEEPER-2496?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15516125#comment-15516125
]
Kazuaki Banzai commented on ZOOKEEPER-2496:
-------------------------------------------
Dear Mr.Artho,
> Is the following correct?
> Issue 2276 reports and fixes one variant of the bug.
> Our issue (2496) covers both variants and includes a test for them, but
> no fix.
Yes it is.
(Issue 2276 fixes the sync multi bug only.
The async version is not fixed.)
> 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
(v6.3.4#6332)