[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-10 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13791856#comment-13791856
 ] 

Hudson commented on ZOOKEEPER-1624:
---

SUCCESS: Integrated in ZooKeeper-trunk #2085 (See 
[https://builds.apache.org/job/ZooKeeper-trunk/2085/])
ZOOKEEPER-1624. PrepRequestProcessor abort multi-operation incorrectly. (thawan 
via camille) (camille: 
http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1531061)
* /zookeeper/trunk/CHANGES.txt
* /zookeeper/trunk/src/c/tests/TestMulti.cc
* 
/zookeeper/trunk/src/java/main/org/apache/zookeeper/server/PrepRequestProcessor.java
* 
/zookeeper/trunk/src/java/test/org/apache/zookeeper/test/MultiAsyncTransactionTest.java


> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624-3.4, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-10 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13791635#comment-13791635
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

No objection on my end.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624-3.4, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-10 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13791632#comment-13791632
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

This patch just makes it apply to 3.4 and removes the Java test. If there are 
no objections I'll check it in.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624-3.4, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789887#comment-13789887
 ] 

Hadoop QA commented on ZOOKEEPER-1624:
--

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12607473/ZOOKEEPER-1624-3.4
  against trunk revision 1530166.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 3 new or modified tests.

-1 patch.  The patch command could not apply the patch.

Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1662//console

This message is automatically generated.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624-3.4, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789833#comment-13789833
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

Given the recent set of comments, I'm not sure it matters, but my point was 
simply that adding async calls for a feature that already exists is not really 
adding a whole new feature, just extending the scope of an existing one. For 
me, the feature is multi. But fine if we can make progress without it.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789821#comment-13789821
 ] 

Patrick Hunt commented on ZOOKEEPER-1624:
-

bq. it is not really a whole new feature

fwiw a public facing client API change that adds async support to multi is a 
feature imo.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789807#comment-13789807
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

I'm comfortable with pushing the patch for 3.4 without the Java test. 

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Thawan Kooburat (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789692#comment-13789692
 ] 

Thawan Kooburat commented on ZOOKEEPER-1624:


As I already comment earlier, the current Java test doesn't actually catch the 
bug due to timing issue.  I guess, I will have to rewrite it to test 
PrepRequestProcessor directly (which is probably not going to rely on 
ZOOKEEPER-1572)

If you want to commit this now,  the patch itself has a proper and reliable (at 
least on my box) unit test in C.  Our test infrastructure do run C unit test 
and report the result right?  I agree with Camile that it would be nice to have 
Java test for server-side functionality but it isn't strictly needed right? 

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789664#comment-13789664
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

I understand that we typically don't add new features to bug fix releases, but 
I don't really see a problem with having ZOOKEEPER-1572 into b3.4, it is not 
really a whole new feature.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789627#comment-13789627
 ] 

Patrick Hunt commented on ZOOKEEPER-1624:
-

Can a test not be created that meets the criteria?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789388#comment-13789388
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

Right. So should we push the patch without the Java test in 3.4.6?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Patrick Hunt (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789385#comment-13789385
 ] 

Patrick Hunt commented on ZOOKEEPER-1624:
-

We typically don't add features in fix releases.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789376#comment-13789376
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

The problem is that ZOOKEEPER-1572 is necessary for the test he wrote for this. 
Do we want to push that into 3.4.6?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-10-08 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13789358#comment-13789358
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

[~thawan], would you have time to generate a patch for 3.4.6?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.4.6, 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  



--
This message was sent by Atlassian JIRA
(v6.1#6144)


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-09-17 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13769576#comment-13769576
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

I'd like to have this one in for 3.4.6 if possible.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-09-16 Thread Thawan Kooburat (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13768992#comment-13768992
 ] 

Thawan Kooburat commented on ZOOKEEPER-1624:


For Java, I think the best approach is to unit test the PrepRequestProcessor 
itself directly (and mock the rest of system). With this approach, we won't 
need async interface.  I haven't have time to rewrite the test yet but if we 
want this in 3.4.6, I will find some time to work on it after I am done with 
ZK-1551,1552

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-09-16 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13768874#comment-13768874
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

@thawan, Could you give me some feedback here as well, please?

As for the Java test, I was thinking that to make a multi-op transaction fail 
reliably, you could use check() with a znode, version pair that doesn't match, 
which will cause the transaction to fail. If the transaction also includes the 
creation of a sequential znode, then you should be able to trigger this bug, no?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-08-26 Thread Flavio Junqueira (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13750061#comment-13750061
 ] 

Flavio Junqueira commented on ZOOKEEPER-1624:
-

I was wondering about what to do with this jira. We need to work on the java 
test case, and on top of it decide what to do for the 3.4 branch. I believe 
that we didn't check in ZOOKEEPER-1572 to the 3.4. branch because [~mahadev] 
said that we don't check in new features into an ongoing branch. Well, in this 
case, I'd say we should so that we can cleanly apply this patch, unless we come 
up with a way of testing that does not rely on the async multi api. 

On the java test case, [~thawan] says that it doesn't pass, but the last run on 
jenkins returned +1 for the core unit tests. Did you mean to say that it 
doesn't pass reliably?

Could you people give me some feedback here, please, [~thawan], [~fournc]?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-19 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13581968#comment-13581968
 ] 

Hadoop QA commented on ZOOKEEPER-1624:
--

+1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12570079/ZOOKEEPER-1624.patch
  against trunk revision 1447982.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 6 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) 
warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

+1 core tests.  The patch passed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1402//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1402//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1402//console

This message is automatically generated.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-19 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13581899#comment-13581899
 ] 

Hadoop QA commented on ZOOKEEPER-1624:
--

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12570055/ZOOKEEPER-1624.patch
  against trunk revision 1447982.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 6 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) 
warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

-1 core tests.  The patch failed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1400//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1400//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1400//console

This message is automatically generated.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-19 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13581869#comment-13581869
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

This new patch still doesn't seem to have the Java test.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-19 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13581737#comment-13581737
 ] 

Hadoop QA commented on ZOOKEEPER-1624:
--

+1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12570018/ZOOKEEPER-1624.patch
  against trunk revision 1447621.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 3 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) 
warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

+1 core tests.  The patch passed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1398//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1398//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1398//console

This message is automatically generated.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch, 
> ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-18 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13580987#comment-13580987
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

Can we get a test for this in Java now that ZOOKEEPER-1572 has been committed? 
I can't get the cppunit build to run and I'm uncomfortable approving a patch 
where I can't see the tests fail and pass.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0, 3.4.6
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-01 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569147#comment-13569147
 ] 

Hadoop QA commented on ZOOKEEPER-1624:
--

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12567638/ZOOKEEPER-1624.patch
  against trunk revision 1438375.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 3 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) 
warnings.

-1 release audit.  The applied patch generated 26 release audit warnings 
(more than the trunk's current 24 warnings).

+1 core tests.  The patch passed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1375//testReport/
Release audit warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1375//artifact/trunk/patchprocess/patchReleaseAuditProblems.txt
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1375//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1375//console

This message is automatically generated.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-01 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569138#comment-13569138
 ] 

Ted Yu commented on ZOOKEEPER-1624:
---

The fix would be backported to 3.4, right ?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-01 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569136#comment-13569136
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

Oh that's great Thawan, I will see about getting 1572 committed so we can get 
an easy Java-side test for this bug.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-01 Thread Thawan Kooburat (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569121#comment-13569121
 ] 

Thawan Kooburat commented on ZOOKEEPER-1624:


It should be simple to replicate if ZOOKEEPER-1572 is committed to trunk.  We 
just need async functionality to test this. 

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-02-01 Thread Camille Fournier (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13569107#comment-13569107
 ] 

Camille Fournier commented on ZOOKEEPER-1624:
-

I started looking at this. I am very unhappy that we have to write a C client 
test to reveal a bug in our Java core. I'm working on writing a java test to 
replicate because we really should not have to rely on tests that should only 
be for the client side code to test our server.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch, ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-01-18 Thread Thawan Kooburat (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13557586#comment-13557586
 ] 

Thawan Kooburat commented on ZOOKEEPER-1624:


Any multi-op expert can help on initial feedback?

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
>  Labels: zk-review
> Fix For: 3.5.0
>
> Attachments: ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Commented] (ZOOKEEPER-1624) PrepRequestProcessor abort multi-operation incorrectly

2013-01-17 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/ZOOKEEPER-1624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13556954#comment-13556954
 ] 

Hadoop QA commented on ZOOKEEPER-1624:
--

+1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12565429/ZOOKEEPER-1624.patch
  against trunk revision 1434978.

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 3 new or modified tests.

+1 javadoc.  The javadoc tool did not generate any warning messages.

+1 javac.  The applied patch does not increase the total number of javac 
compiler warnings.

+1 findbugs.  The patch does not introduce any new Findbugs (version 1.3.9) 
warnings.

+1 release audit.  The applied patch does not increase the total number of 
release audit warnings.

+1 core tests.  The patch passed core unit tests.

+1 contrib tests.  The patch passed contrib unit tests.

Test results: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1343//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1343//artifact/trunk/build/test/findbugs/newPatchFindbugsWarnings.html
Console output: 
https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/1343//console

This message is automatically generated.

> PrepRequestProcessor abort multi-operation incorrectly
> --
>
> Key: ZOOKEEPER-1624
> URL: https://issues.apache.org/jira/browse/ZOOKEEPER-1624
> Project: ZooKeeper
>  Issue Type: Bug
>  Components: server
>Reporter: Thawan Kooburat
>Assignee: Thawan Kooburat
>Priority: Critical
> Attachments: ZOOKEEPER-1624.patch
>
>
> We found this issue when trying to issue multiple instances of the following 
> multi-op concurrently
> multi {
> 1. create sequential node /a- 
> 2. create node /b
> }
> The expected result is that only the first multi-op request should success 
> and the rest of request should fail because /b is already exist
> However, the reported result is that the subsequence multi-op failed because 
> of sequential node creation failed which is not possible.
> Below is the return code for each sub-op when issuing 3 instances of the 
> above multi-op asynchronously
> 1. ZOK, ZOK
> 2. ZOK, ZNODEEXISTS,
> 3. ZNODEEXISTS, ZRUNTIMEINCONSISTENCY,
> When I added more debug log. The cause is that PrepRequestProcessor rollback 
> outstandingChanges of the second multi-op incorrectly causing sequential node 
> name generation to be incorrect. Below is the sequential node name generated 
> by PrepRequestProcessor
> 1. create /a-0001
> 2. create /a-0003
> 3. create /a-0001
> The bug is getPendingChanges() method. In failed to copied ChangeRecord for 
> the parent node ("/").  So rollbackPendingChanges() cannot restore the right 
> previous change record of the parent node when aborting the second multi-op
> The impact of this bug is that sequential node creation on the same parent 
> node may fail until the previous one is committed. I am not sure if there is 
> other implication or not.  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira