[accumulo] branch main updated: Make CI build on more branches (#1671)

2020-08-12 Thread ctubbsii
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

2020-08-12 Thread mmiller
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)

2020-08-12 Thread mmiller
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)

2020-08-12 Thread mmiller
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)

2020-08-12 Thread mmiller
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();