Uploaded image for project: 'ZooKeeper'
  1. ZooKeeper
  2. ZOOKEEPER-3290

Throw detailed KeeperException when a transaction failed

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Duplicate
    • 3.5.4, 3.4.13
    • None
    • server

    Description

      Assume we execute the follow statements

      ZooKeeper zk = ...;
      zk.multi(Arrays.asList(
        Op.check(path1, -1),
        Op.delete(path2, -1)));
      

      If path1 or path2 didn't exist, we got an exception KeeperException.NoNodeException without which of them doesn't exist.

      The reason is when we executed PrepRequestProccessor#pRequest in PrepRequestProccessor#L804, it processed KeeperException.NoNodeException which contained path info.

      However, we generated ErrorTxn which only contains err field represented error code and lost path info. Maybe a reasonable resolution is extend ErrorTxn to contain path info or a general data byte array.

      Attachments

        Issue Links

          Activity

            People

              tison Zili Chen
              tison Zili Chen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 6h 40m
                  6h 40m