[accumulo] branch main updated: Make CI build on more branches (#1671)
This is an automated email from the ASF dual-hosted git repository. ctubbsii pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git The following commit(s) were added to refs/heads/main by this push: new 5815bf6 Make CI build on more branches (#1671) 5815bf6 is described below commit 5815bf652e8e0f91789535d6a74855ba581a5557 Author: Christopher Tubbs AuthorDate: Wed Aug 12 22:06:15 2020 -0400 Make CI build on more branches (#1671) --- .github/workflows/maven.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/maven.yaml b/.github/workflows/maven.yaml index d7a3651..0f1c122 100644 --- a/.github/workflows/maven.yaml +++ b/.github/workflows/maven.yaml @@ -24,9 +24,9 @@ name: QA on: push: -branches: [ main, '2.*' ] +branches: [ '*' ] pull_request: -branches: [ main, '2.*' ] +branches: [ '*' ] jobs: mvn:
[accumulo] 01/01: Merge branch '1.9' into main
This is an automated email from the ASF dual-hosted git repository. mmiller pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git commit bd550e432d320540ccaf33509d33ca35759e2ef0 Merge: 9f29f37 18e8239 Author: Mike Miller AuthorDate: Wed Aug 12 09:08:11 2020 -0400 Merge branch '1.9' into main Conflicts: server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java .../accumulo/tserver/tablet/MinorCompactionTask.java | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-) diff --cc server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java index 5209fe2,8f922d2..83d060f --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java @@@ -57,47 -56,54 +57,56 @@@ class MinorCompactionTask implements Ru @Override public void run() { tablet.minorCompactionStarted(); -ProbabilitySampler sampler = new ProbabilitySampler(tracePercent); -Span minorCompaction = Trace.on("minorCompaction", sampler); +ProbabilitySampler sampler = TraceUtil.probabilitySampler(tracePercent); try { - Span span = Trace.start("waitForCommits"); - synchronized (tablet) { -commitSession.waitForCommitsToFinish(); - } - span.stop(); - span = Trace.start("start"); - FileRef newMapfileLocation = null; - FileRef tmpFileRef = null; - while (true) { -try { - if (newMapfileLocation == null) { -newMapfileLocation = tablet.getNextMapFilename(mergeFile == null ? "F" : "M"); -tmpFileRef = new FileRef(newMapfileLocation.path() + "_tmp"); + try (TraceScope minorCompaction = Trace.startSpan("minorCompaction", sampler)) { - TabletFile newFile = tablet.getNextMapFilename("F"); - TabletFile tmpFile = new TabletFile(new Path(newFile.getPathStr() + "_tmp")); +try (TraceScope span = Trace.startSpan("waitForCommits")) { + synchronized (tablet) { +commitSession.waitForCommitsToFinish(); } - // the purpose of the minor compaction start event is to keep track of the filename... in - // the case - // where the metadata table write for the minor compaction finishes and the process dies - // before - // writing the minor compaction finish event, then the start event+filename in metadata - // table will - // prevent recovery of duplicate data... the minor compaction start event could be written - // at any time - // before the metadata write for the minor compaction - tablet.getTabletServer().minorCompactionStarted(commitSession, - commitSession.getWALogSeq() + 1, newMapfileLocation.path().toString()); - break; -} catch (IOException e) { - // An IOException could have occurred while creating the new file - if (newMapfileLocation == null) -log.warn("Failed to create new file for minor compaction {}", e.getMessage(), e); - else -log.warn("Failed to write to write ahead log {}", e.getMessage(), e); } - } - span.stop(); - span = Trace.start("compact"); - this.stats = tablet.minorCompact(tablet.getTabletServer().getFileSystem(), - tablet.getTabletMemory().getMinCMemTable(), tmpFileRef, newMapfileLocation, mergeFile, - true, queued, commitSession, flushId, mincReason); - span.stop(); ++TabletFile newFile = null; ++TabletFile tmpFile = null; +try (TraceScope span = Trace.startSpan("start")) { + while (true) { +try { ++ if (newFile == null) { ++newFile = tablet.getNextMapFilename("F"); ++tmpFile = new TabletFile(new Path(newFile.getPathStr() + "_tmp")); ++ } + /* + * the purpose of the minor compaction start event is to keep track of the filename... + * in the case where the metadata table write for the minor compaction finishes and + * the process dies before writing the minor compaction finish event, then the start + * event+filename in metadata table will prevent recovery of duplicate data... the + * minor compaction start event could be written at any time before the metadata write + * for the minor compaction + */ + tablet.getTabletServer().minorCompactionStarted(commitSession, + commitSession.getWALogSeq() + 1, newFile.getMetaInsert()); + break; +} catch (IOException e) { - log.warn("Failed to write to write ahead log {}", e.getMessage(), e); ++
[accumulo] branch main updated (9f29f37 -> bd550e4)
This is an automated email from the ASF dual-hosted git repository. mmiller pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/accumulo.git. from 9f29f37 Update links to main branch in git add 18e8239 Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675) new bd550e4 Merge branch '1.9' into main The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../accumulo/tserver/tablet/MinorCompactionTask.java | 15 --- 1 file changed, 12 insertions(+), 3 deletions(-)
[accumulo] branch 1.9 updated: Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675)
This is an automated email from the ASF dual-hosted git repository. mmiller pushed a commit to branch 1.9 in repository https://gitbox.apache.org/repos/asf/accumulo.git The following commit(s) were added to refs/heads/1.9 by this push: new 18e8239 Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675) 18e8239 is described below commit 18e82394898352c9dcf682b2086a6145af36c06e Author: Mike Miller AuthorDate: Wed Aug 12 08:30:40 2020 -0400 Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675) * Fixes the situation when MinorCompactionTask creates a new File and an IOException leaves the Tablet in a bad state * Moves the new file code into the try/catch block that will retry during an IOException --- .../accumulo/tserver/tablet/MinorCompactionTask.java | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java index 7f44be7..8f922d2 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java @@ -59,16 +59,20 @@ class MinorCompactionTask implements Runnable { ProbabilitySampler sampler = new ProbabilitySampler(tracePercent); Span minorCompaction = Trace.on("minorCompaction", sampler); try { - FileRef newMapfileLocation = tablet.getNextMapFilename(mergeFile == null ? "F" : "M"); - FileRef tmpFileRef = new FileRef(newMapfileLocation.path() + "_tmp"); Span span = Trace.start("waitForCommits"); synchronized (tablet) { commitSession.waitForCommitsToFinish(); } span.stop(); span = Trace.start("start"); + FileRef newMapfileLocation = null; + FileRef tmpFileRef = null; while (true) { try { + if (newMapfileLocation == null) { +newMapfileLocation = tablet.getNextMapFilename(mergeFile == null ? "F" : "M"); +tmpFileRef = new FileRef(newMapfileLocation.path() + "_tmp"); + } // the purpose of the minor compaction start event is to keep track of the filename... in // the case // where the metadata table write for the minor compaction finishes and the process dies @@ -82,7 +86,11 @@ class MinorCompactionTask implements Runnable { commitSession.getWALogSeq() + 1, newMapfileLocation.path().toString()); break; } catch (IOException e) { - log.warn("Failed to write to write ahead log {}", e.getMessage(), e); + // An IOException could have occurred while creating the new file + if (newMapfileLocation == null) +log.warn("Failed to create new file for minor compaction {}", e.getMessage(), e); + else +log.warn("Failed to write to write ahead log {}", e.getMessage(), e); } } span.stop();
[accumulo] branch 1.9 updated: Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675)
This is an automated email from the ASF dual-hosted git repository. mmiller pushed a commit to branch 1.9 in repository https://gitbox.apache.org/repos/asf/accumulo.git The following commit(s) were added to refs/heads/1.9 by this push: new 18e8239 Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675) 18e8239 is described below commit 18e82394898352c9dcf682b2086a6145af36c06e Author: Mike Miller AuthorDate: Wed Aug 12 08:30:40 2020 -0400 Move MinorCompaction method call into retry catch block. Fixes #1298 (#1675) * Fixes the situation when MinorCompactionTask creates a new File and an IOException leaves the Tablet in a bad state * Moves the new file code into the try/catch block that will retry during an IOException --- .../accumulo/tserver/tablet/MinorCompactionTask.java | 14 +++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java index 7f44be7..8f922d2 100644 --- a/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java +++ b/server/tserver/src/main/java/org/apache/accumulo/tserver/tablet/MinorCompactionTask.java @@ -59,16 +59,20 @@ class MinorCompactionTask implements Runnable { ProbabilitySampler sampler = new ProbabilitySampler(tracePercent); Span minorCompaction = Trace.on("minorCompaction", sampler); try { - FileRef newMapfileLocation = tablet.getNextMapFilename(mergeFile == null ? "F" : "M"); - FileRef tmpFileRef = new FileRef(newMapfileLocation.path() + "_tmp"); Span span = Trace.start("waitForCommits"); synchronized (tablet) { commitSession.waitForCommitsToFinish(); } span.stop(); span = Trace.start("start"); + FileRef newMapfileLocation = null; + FileRef tmpFileRef = null; while (true) { try { + if (newMapfileLocation == null) { +newMapfileLocation = tablet.getNextMapFilename(mergeFile == null ? "F" : "M"); +tmpFileRef = new FileRef(newMapfileLocation.path() + "_tmp"); + } // the purpose of the minor compaction start event is to keep track of the filename... in // the case // where the metadata table write for the minor compaction finishes and the process dies @@ -82,7 +86,11 @@ class MinorCompactionTask implements Runnable { commitSession.getWALogSeq() + 1, newMapfileLocation.path().toString()); break; } catch (IOException e) { - log.warn("Failed to write to write ahead log {}", e.getMessage(), e); + // An IOException could have occurred while creating the new file + if (newMapfileLocation == null) +log.warn("Failed to create new file for minor compaction {}", e.getMessage(), e); + else +log.warn("Failed to write to write ahead log {}", e.getMessage(), e); } } span.stop();