[
https://issues.apache.org/jira/browse/HBASE-21354?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16660462#comment-16660462
]
Hudson commented on HBASE-21354:
--------------------------------
Results for branch branch-2.0
[build #999 on
builds.a.o|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/999/]:
(/) *{color:green}+1 overall{color}*
----
details (if available):
(/) {color:green}+1 general checks{color}
-- For more information [see general
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/999//General_Nightly_Build_Report/]
(/) {color:green}+1 jdk8 hadoop2 checks{color}
-- For more information [see jdk8 (hadoop2)
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/999//JDK8_Nightly_Build_Report_(Hadoop2)/]
(/) {color:green}+1 jdk8 hadoop3 checks{color}
-- For more information [see jdk8 (hadoop3)
report|https://builds.apache.org/job/HBase%20Nightly/job/branch-2.0/999//JDK8_Nightly_Build_Report_(Hadoop3)/]
(/) {color:green}+1 source release artifact{color}
-- See build output for details.
> Procedure may be deleted improperly during master restarts resulting in
> 'Corrupt'
> ---------------------------------------------------------------------------------
>
> Key: HBASE-21354
> URL: https://issues.apache.org/jira/browse/HBASE-21354
> Project: HBase
> Issue Type: Sub-task
> Affects Versions: 2.1.0, 2.0.2
> Reporter: Allan Yang
> Assignee: Allan Yang
> Priority: Major
> Fix For: 3.0.0, 2.2.0, 2.1.1, 2.0.3
>
> Attachments: HBASE-21354-addendum.patch,
> HBASE-21354.branch-2.0.001.patch, HBASE-21354.branch-2.0.002.patch,
> HBASE-21354.branch-2.0.003.patch, HBASE-21354.branch-2.0.004.patch
>
>
> Good news! [~stack], [~Apache9], I may find the root cause of mysterious
> ‘Corrupted procedure’ or some procedures disappeared after master
> restarts(happens during ITBLL).
> This is because during master restarts, we load procedures from the log, and
> builds the 'holdingCleanupTracker' according each log's tracker. We may mark
> a procedure in the oldest log as deleted if one log doesn't contain the
> procedure. This is Inappropriate since one log will not contain info of the
> log if this procedure was not updated during the time. We can only delete the
> procedure only if it is not in the global tracker, which have the whole
> picture.
> {code}
> trackerNode = tracker.lookupClosestNode(trackerNode, procId);
> if (trackerNode == null || !trackerNode.contains(procId) ||
> trackerNode.isModified(procId)) {
> // the procedure was removed or modified
> node.delete(procId);
> }
> {code}
> A test case(testProcedureShouldNotCleanOnLoad) shows cleanly how the
> corruption happened in the patch.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)