You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Jesse Yates (Created) (JIRA)" <ji...@apache.org> on 2012/04/14 04:57:17 UTC
[jira] [Created] (HBASE-5790) ZKUtil deleteRecurisively should be a
recoverable operation
ZKUtil deleteRecurisively should be a recoverable operation
-----------------------------------------------------------
Key: HBASE-5790
URL: https://issues.apache.org/jira/browse/HBASE-5790
Project: HBase
Issue Type: Improvement
Reporter: Jesse Yates
Assignee: Jesse Yates
Fix For: 0.96.0, 0.94.1
As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-5790) ZKUtil deleteRecursively should be a
recoverable operation
Posted by "Zhihong Yu (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Zhihong Yu updated HBASE-5790:
------------------------------
Hadoop Flags: Reviewed
Status: Patch Available (was: Open)
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "Jesse Yates (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256243#comment-13256243 ]
Jesse Yates commented on HBASE-5790:
------------------------------------
Looks like the tests pass on that QA run, but I guess its angry about the second stage (related to keywals's recent comments on dev?). Here is the output line from the console:
{quote}
Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.12-TRUNK-HBASE-2:test (secondPartTestsExecution) on project hbase: Failure or timeout
{quote}
Is there an easy way to see which findbugs warnings were introduced? I figure since we are tracking them correctly, we should have a way to say what they are, but I couldn't see a way to do it besides checking against a good run and that is a huge pain...
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "stack (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256177#comment-13256177 ]
stack commented on HBASE-5790:
------------------------------
This patch requires zk 3.4.x right but it doesn't check that version running before it goes and uses this new Transaction feature (I'm not sure if you even can ask zk its ensemble version from the client)? If a user puts 3.3.x under hbase, we'll hang doing this call?
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-5790) ZKUtil deleteRecurisively should be a
recoverable operation
Posted by "Jesse Yates (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesse Yates updated HBASE-5790:
-------------------------------
Attachment: java_HBASE-5790.patch
Attaching patch and simple test case for recoverableZK. No need to update ZKUtil test since deleteRecurisive already covered.
Wish there was a better way to test this out...tried doing a better version via Mockito, but seems to not be able to catch the actual method invocations and let me do extra work (though doAnswer should support it).
Either way, did a hacked version where it dumps a node in middle while collecting children (setting a callable in the test that is called periodically in the delete), and seemed to work fine. Not recommending that we pursue the same course for general testing, but just putting this up here for peace of mind for all.
> ZKUtil deleteRecurisively should be a recoverable operation
> -----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-5790) ZKUtil deleteRecurisively should be a
recoverable operation
Posted by "Jesse Yates (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesse Yates updated HBASE-5790:
-------------------------------
Attachment: java_HBASE-5790-v1.patch
Attaching new version addressing comments and now with more testing!
> ZKUtil deleteRecurisively should be a recoverable operation
> -----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "stack (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256889#comment-13256889 ]
stack commented on HBASE-5790:
------------------------------
@Ted Its not a runtime requirement that client or ensemble be 3.4.x. 3.4.x client and ensemble is required if you run secure hbase else its not necessary and we should be wary requiring it; e.g. our ops didn't want to upgrade to 3.4.x ensemble just yet and so we run w/ a 3.4.x client against 3.3.x ensemble.
@Jesse Sounds fine requiring 3.4.x in 0.96. Want to raise a conversation out on mailing list?
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-5790) ZKUtil deleteRecursively should be a
recoverable operation
Posted by "Jesse Yates (Updated) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jesse Yates updated HBASE-5790:
-------------------------------
Summary: ZKUtil deleteRecursively should be a recoverable operation (was: ZKUtil deleteRecurisively should be a recoverable operation)
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "Jesse Yates (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256241#comment-13256241 ]
Jesse Yates commented on HBASE-5790:
------------------------------------
@stack: in short, yes. I don't see an easy way to set zk version, though I guess we could add a config option if people want to run an old version (but this gets into some really strange corner cases where we expect transaction for newer features, but have to support non-transactional views; I'd rather just go wholesale into the new stuff).
I didn't know that we have a requirement on supporting past versions of ZK. If we want to roll this into just 0.96 we can assume singularity and say people need to run at least zk-3.4.
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecurisively should be
a recoverable operation
Posted by "Jesse Yates (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253956#comment-13253956 ]
Jesse Yates commented on HBASE-5790:
------------------------------------
patch coming momentarily.
> ZKUtil deleteRecurisively should be a recoverable operation
> -----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Updated] (HBASE-5790) ZKUtil deleteRecursively should be a
recoverable operation
Posted by "Lars Hofhansl (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lars Hofhansl updated HBASE-5790:
---------------------------------
Fix Version/s: (was: 0.94.1)
Release Note: Unscheduling from 0.94.x, because ZK 3.4.x requirement.
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecurisively should be
a recoverable operation
Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253986#comment-13253986 ]
Lars Hofhansl commented on HBASE-5790:
--------------------------------------
Patch looks good.
Will there be any request size problem if the subtree to delete is large?
Super minor nit: Should point out in Javadoc that deleteRecursively and an idempotent operation.
> ZKUtil deleteRecurisively should be a recoverable operation
> -----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13254207#comment-13254207 ]
Lars Hofhansl commented on HBASE-5790:
--------------------------------------
@Jesse: Was more referring to the request size that is shipped to ZK. Probably not a problem.
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecurisively should be
a recoverable operation
Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253984#comment-13253984 ]
Zhihong Yu commented on HBASE-5790:
-----------------------------------
{code}
+ * Recursively delete the path all children on that path.
{code}
'the path all' -> 'all the'.
{code}
+ retryOrThrow(retryCounter, e, "delete");
{code}
"delete" should be "deleteRecursively".
{code}
+ private void addAllChildrenToDeleteTransaction(Transaction trans, String path, int version)
{code}
I don't see how version is used to filter child nodes in the above method.
> ZKUtil deleteRecurisively should be a recoverable operation
> -----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13254208#comment-13254208 ]
Lars Hofhansl commented on HBASE-5790:
--------------------------------------
+1 on V2
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecurisively should be
a recoverable operation
Posted by "Jesse Yates (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13253997#comment-13253997 ]
Jesse Yates commented on HBASE-5790:
------------------------------------
bq. I don't see how version is used to filter child nodes in the above method.
It works because of the line:
{code}
trans.delete(path, version);
{code}
in addAllChildrenToDeleteTransaction - only children with the same version will be deleted. Generally, we are just going to want to delete all versions (version == -1), so don't often expect funky cases, but this way also ensures that you just delete children with the same version as the parent (and fail if those versions don't match up). I didn't want to go with any assumptions on versions of children vs. parent since there was not need for it yet AFAIK.
bq. Will there be any request size problem if the subtree to delete is large?
Not unless you are going to blow out the stack or memory. However, that seems incredibly unlikely. Seems a little excessive at this point to do the tail recursion optimization, but can switch to that if it seems a big issue.
> ZKUtil deleteRecurisively should be a recoverable operation
> -----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "Hadoop QA (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256197#comment-13256197 ]
Hadoop QA commented on HBASE-5790:
----------------------------------
-1 overall. Here are the results of testing the latest attachment
http://issues.apache.org/jira/secure/attachment/12522670/java_HBASE-5790-v1.patch
against trunk revision .
+1 @author. The patch does not contain any @author tags.
+1 tests included. The patch appears to include 2 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 appears to introduce 7 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 these unit tests:
Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/1559//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/1559//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/1559//console
This message is automatically generated.
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
[jira] [Commented] (HBASE-5790) ZKUtil deleteRecursively should be
a recoverable operation
Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HBASE-5790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13256628#comment-13256628 ]
Zhihong Yu commented on HBASE-5790:
-----------------------------------
Our codebase uses NIOServerCnxnFactory which is not in zookeeper 3.3
Meaning zookeeper 3.4 is required.
> ZKUtil deleteRecursively should be a recoverable operation
> ----------------------------------------------------------
>
> Key: HBASE-5790
> URL: https://issues.apache.org/jira/browse/HBASE-5790
> Project: HBase
> Issue Type: Improvement
> Reporter: Jesse Yates
> Assignee: Jesse Yates
> Labels: zookeeper
> Fix For: 0.96.0, 0.94.1
>
> Attachments: java_HBASE-5790-v1.patch, java_HBASE-5790.patch
>
>
> As of 3.4.3 Zookeeper now has full, multi-operation transaction. This means we can wholesale delete chunks of the zk tree and ensure that we don't have any pesky recursive delete issues where we delete the children of a node, but then a child joins before deletion of the parent. Even without transactions, this should be the behavior, but it is possible to make it much cleaner now that we have this new feature in zk.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira