Repository: accumulo Updated Branches: refs/heads/master e6145486d -> da676d5f7
ACCUMULO-3462 ACCUMULO-3541 fixed compaction logging and state bug Project: http://git-wip-us.apache.org/repos/asf/accumulo/repo Commit: http://git-wip-us.apache.org/repos/asf/accumulo/commit/8b54f13f Tree: http://git-wip-us.apache.org/repos/asf/accumulo/tree/8b54f13f Diff: http://git-wip-us.apache.org/repos/asf/accumulo/diff/8b54f13f Branch: refs/heads/master Commit: 8b54f13fd716fe167ceb4b1953188d406d0eaa5b Parents: 145f83a Author: Keith Turner <ktur...@apache.org> Authored: Thu Jan 29 10:49:31 2015 -0500 Committer: Keith Turner <ktur...@apache.org> Committed: Thu Jan 29 16:36:52 2015 -0500 ---------------------------------------------------------------------- .../accumulo/server/tabletserver/Tablet.java | 33 +++++++++----------- 1 file changed, 15 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/accumulo/blob/8b54f13f/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java ---------------------------------------------------------------------- diff --git a/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java b/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java index 96856ae..3e397dc 100644 --- a/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java +++ b/server/src/main/java/org/apache/accumulo/server/tabletserver/Tablet.java @@ -2916,8 +2916,14 @@ public class Tablet { if (reason == MajorCompactionReason.NORMAL && needsMajorCompaction(reason)) initiateMajorCompaction(reason); } - - } catch (RuntimeException E) { + } catch (CompactionCanceledException cce) { + log.debug("Major compaction canceled, extent = " + getExtent()); + failed = true; + } catch (IOException ioe) { + log.error("MajC Failed, extent = " + getExtent(), ioe); + failed = true; + } catch (RuntimeException e) { + log.error("MajC Unexpected exception, extent = " + getExtent(), e); failed = true; } finally { long count = 0; @@ -3419,8 +3425,7 @@ public class Tablet { * Performs a major compaction on the tablet. If needsSplit() returns true, the tablet is split and a reference to the new tablet is returned. */ - private CompactionStats majorCompact(MajorCompactionReason reason) { - + private CompactionStats majorCompact(MajorCompactionReason reason) throws IOException, CompactionCanceledException { CompactionStats majCStats = null; synchronized (this) { @@ -3438,20 +3443,13 @@ public class Tablet { try { // Always trace majC - Trace.on("majorCompaction"); + span = Trace.on("majorCompaction"); majCStats = _majorCompact(reason); if (reason == MajorCompactionReason.CHOP) { MetadataTable.chopped(getExtent(), this.tabletServer.getLock()); tabletServer.enqueueMasterMessage(new TabletStatusMessage(TabletLoadState.CHOPPED, extent)); } - } catch (CompactionCanceledException mcce) { - log.debug("Major compaction canceled, extent = " + getExtent()); - throw new RuntimeException(mcce); - } catch (Throwable t) { - log.error("MajC Failed, extent = " + getExtent()); - log.error("MajC Failed, message = " + (t.getMessage() == null ? t.getClass().getName() : t.getMessage()), t); - throw new RuntimeException(t); } finally { // ensure we always reset boolean, even // when an exception is thrown @@ -3460,13 +3458,12 @@ public class Tablet { this.notifyAll(); } - Span curr = Trace.currentTrace(); - curr.data("extent", "" + getExtent()); - if (majCStats != null) { - curr.data("read", "" + majCStats.getEntriesRead()); - curr.data("written", "" + majCStats.getEntriesWritten()); - } if (span != null) { + span.data("extent", "" + getExtent()); + if (majCStats != null) { + span.data("read", "" + majCStats.getEntriesRead()); + span.data("written", "" + majCStats.getEntriesWritten()); + } span.stop(); } }