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] [Updated] (ZOOKEEPER-2496) When inside a transaction, some exceptions do not have path information set.
Date Mon, 01 Aug 2016 07:54:20 GMT

     [ https://issues.apache.org/jira/browse/ZOOKEEPER-2496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Kazuaki Banzai updated ZOOKEEPER-2496:
    Attachment: transactionException.patch

This patch doesn't fix the bug.
It includes a unit test only.

> 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

View raw message