[accumulo] branch main updated (f389518b6b -> b7d00d068f)

2022-11-15 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo.git


from f389518b6b Merge branch '2.1'
 add 2931a9b931 Call setDropBehind() when reading/writing WAL files (#3077)
 new b7d00d068f Merge branch '2.1'

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:
 .../src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java  | 7 +++
 .../src/main/java/org/apache/accumulo/tserver/log/LogSorter.java  | 8 
 2 files changed, 15 insertions(+)



[accumulo] 01/01: Merge branch '2.1'

2022-11-15 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

commit b7d00d068f2f813936bd03ee69a63b7c6a453950
Merge: f389518b6b 2931a9b931
Author: Christopher Tubbs 
AuthorDate: Wed Nov 16 00:38:10 2022 -0500

Merge branch '2.1'

 .../src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java  | 7 +++
 .../src/main/java/org/apache/accumulo/tserver/log/LogSorter.java  | 8 
 2 files changed, 15 insertions(+)



[accumulo-website] branch asf-site updated (487f2ee7 -> 7d2b63ee)

2022-11-15 Thread ctubbsii
This is an automated email from the ASF dual-hosted git repository.

ctubbsii pushed a change to branch asf-site
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


from 487f2ee7 Automatic Site Publish by Buildbot
 add e438900b Automatic Site Publish by Buildbot
 add 7d2b63ee Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/docs/2.x/administration/upgrading.html   | 122 
 output/docs/2.x/getting-started/quickstart.html |   9 +-
 output/docs/2.x/troubleshooting/tools.html  |   2 +-
 output/feed.xml |   4 +-
 output/search_data.json |   4 +-
 5 files changed, 117 insertions(+), 24 deletions(-)



[accumulo-website] branch asf-staging updated: Automatic Site Publish by Buildbot

2022-11-15 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/asf-staging by this push:
 new 7d2b63ee Automatic Site Publish by Buildbot
7d2b63ee is described below

commit 7d2b63ee96b4494e9d8f3b19e8b4b9d0f25d5bc6
Author: buildbot 
AuthorDate: Wed Nov 16 05:21:45 2022 +

Automatic Site Publish by Buildbot
---
 output/docs/2.x/administration/upgrading.html   | 158 
 output/docs/2.x/getting-started/quickstart.html |   6 +-
 output/docs/2.x/troubleshooting/tools.html  |   2 +-
 output/feed.xml |   4 +-
 output/search_data.json |   4 +-
 5 files changed, 90 insertions(+), 84 deletions(-)

diff --git a/output/docs/2.x/administration/upgrading.html 
b/output/docs/2.x/administration/upgrading.html
index 5b6b96c0..18d4f1f8 100644
--- a/output/docs/2.x/administration/upgrading.html
+++ b/output/docs/2.x/administration/upgrading.html
@@ -430,103 +430,95 @@
 
 
 
-Upgrading from 1.10.x or 2.0.x 
to 2.1
+Upgrading from 1.10 or 2.0 to 
2.1
 
-The recommended way to upgrade from a prior 1.10.x or 2.0.x release is to 
stop Accumulo, upgrade
-to 2.1 and then start 2.1. To upgrade from a release prior to 1.10, follow the
-below steps to upgrade to at least 
1.10 and then perform the upgrade to 2.1. A
-direct upgrade from releases prior to 1.10 has not been tested.
+Please read these directions in their entirety before beginning. Please contact us with any
+questions you have about this process.
 
-Important: before starting any upgrade process you need to make sure there 
are no outstanding FATE transactions. This
-includes transactions that have completed with SUCCESS or FAILED but have not been removed by the automatic 
clean-up 
-process.  This is required because the internal serialization of FATE 
transactions is not guaranteed to be compatible 
-between versions, so ANY FATE transaction that is present will fail 
the upgrade.  Procedures to manage FATE 
-transactions, including commands to fail and delete transactions, are included 
in the Accumulo documentation 
-FATE - 
Administration
+IMPORTANT! Before running any Accumulo 2.1 upgrade 
utilities or services, you will need to
+upgrade to Java 11, Hadoop 3, and at least ZooKeeper 3.5 (at least 3.8 was 
current at the time of
+this writing and is recommended).
 
-Two significant changes from 1.10.x/2.0 to 2.1 that are important to 
note:
+The basic upgrade sequence is:
+
+
+  upgrade to at least Accumulo 1.10 first (if necessary)
+  stop Accumulo 1.10 or 2.0
+  prepare your installation of Accumulo 2.1 through whatever means you 
obtain the binaries and
+configure it in your environment
+  (optional - but recommended) create a ZooKeeper snapshot
+  (required if not using the provided scripts to start 2.1) run the RenameMasterDirInZK 
utility
+  (optional) run the pre-upgrade utility to convert the configuration in 
ZooKeeper
+  start Accumulo 2.1 for the first time to complete the upgrade
+
+
+IMPORTANT! before starting any upgrade process you need to 
make sure there are no outstanding
+FATE transactions. This includes transactions that have completed with SUCCESS or FAILED but
+have not been removed by the automatic clean-up process. This is required 
because the internal
+serialization of FATE transactions is not guaranteed to be compatible between 
versions, so ANY
+FATE transaction that is present will fail the upgrade. Procedures to manage 
FATE transactions,
+including commands to fail and delete transactions, are included in the FATE Administration
+documentation.
+
+Two significant changes occurred in 2.1 that are particularly important to 
note for upgrades:
 
 
   properties and services that referenced master are renamed manager and
-  the property storage in ZooKeeper has changed from a ZooKeeper node per 
property to a single node for all 
-properties with a single ZooKeeper property node for each table, namespace. 
and the system config properties.
+  the internal property storage format in ZooKeeper has changed - instead 
of each table, namespace,
+and the system configuration using separate ZooKeeper nodes for each of their 
properties, they
+each now use only a single ZooKeeper node for all of their respective 
properties.
 
 
-Before upgrading to 2.1, it is suggested that you create a snapshot of the 
current ZooKeeper contents to be a backup 
-in case issues occur and you need to rollback.  There are no provisions to 
roll back to a previous Accumulo version
-once an upgrade process has been completed other than restoring from a 
snapshot of ZooKeeper.
+Details on renaming the properties and the ZooKeeper property conversion 
are provided in the
+following sections. Additional information on configuring 2.1 is available here.
 
-Details on renaming the 

[accumulo-website] branch main updated: More improvements to the upgrade docs

2022-11-15 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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new ed255cd8 More improvements to the upgrade docs
ed255cd8 is described below

commit ed255cd864d1cad169ff3ebdfe44234d172d6e7d
Author: Christopher Tubbs 
AuthorDate: Wed Nov 16 00:16:14 2022 -0500

More improvements to the upgrade docs

Follow up from #367

* eliminate duplicate information
* remove unnecessary details to favor being concise
* add some helpful details
* fix formatting
* fix broken links
---
 _docs-2/administration/upgrading.md   | 155 ++
 _docs-2/getting-started/quickstart.md |   6 +-
 _docs-2/troubleshooting/tools.md  |   2 +-
 3 files changed, 86 insertions(+), 77 deletions(-)

diff --git a/_docs-2/administration/upgrading.md 
b/_docs-2/administration/upgrading.md
index 6614d0ca..6c613c2f 100644
--- a/_docs-2/administration/upgrading.md
+++ b/_docs-2/administration/upgrading.md
@@ -4,102 +4,96 @@ category: administration
 order: 7
 ---
 
-## Upgrading from 1.10.x or 2.0.x to 2.1
+## Upgrading from 1.10 or 2.0 to 2.1
 
-The recommended way to upgrade from a prior 1.10.x or 2.0.x release is to stop 
Accumulo, upgrade
-to 2.1 and then start 2.1. To upgrade from a release prior to 1.10, follow the
-[below steps](#upgrading-from-18910-to-20) to upgrade to at least 1.10 and 
then perform the upgrade to 2.1. A
-direct upgrade from releases prior to 1.10 has not been tested.
+Please read these directions in their entirety before beginning. Please 
[contact] us with any
+questions you have about this process.
 
-Important: before starting any upgrade process you need to make sure there are 
no outstanding FATE transactions. This
-includes transactions that have completed with `SUCCESS` or `FAILED` but have 
not been removed by the automatic clean-up 
-process.  This is required because the internal serialization of FATE 
transactions is not guaranteed to be compatible 
-between versions, so *ANY* FATE transaction that is present will fail the 
upgrade.  Procedures to manage FATE 
-transactions, including commands to fail and delete transactions, are included 
in the Accumulo documentation 
-[FATE - Administration]({% durl administration/fate#administration %})
+**IMPORTANT!** Before running any Accumulo 2.1 upgrade utilities or services, 
you will need to
+upgrade to Java 11, Hadoop 3, and at least ZooKeeper 3.5 (at least 3.8 was 
current at the time of
+this writing and is recommended).
 
-Two significant changes from 1.10.x/2.0 to 2.1 that are important to note:
+The basic upgrade sequence is:
 
-1. properties and services that referenced `master` are renamed `manager` and
-2. the property storage in ZooKeeper has changed from a ZooKeeper node per 
property to a single node for all 
-properties with a single ZooKeeper property node for each table, namespace. 
and the system config properties.
+- upgrade to at least Accumulo 1.10 first (if necessary)
+- stop Accumulo 1.10 or 2.0
+- prepare your installation of Accumulo 2.1 through whatever means you obtain 
the binaries and
+  configure it in your environment
+- (optional - but recommended) create a ZooKeeper snapshot
+- (required if not using the provided scripts to start 2.1) run the 
`RenameMasterDirInZK` utility
+- (optional) run the pre-upgrade utility to convert the configuration in 
ZooKeeper
+- start Accumulo 2.1 for the first time to complete the upgrade
 
-Before upgrading to 2.1, it is suggested that you create a snapshot of the 
current ZooKeeper contents to be a backup 
-in case issues occur and you need to rollback.  There are no provisions to 
roll back to a previous Accumulo version
-once an upgrade process has been completed other than restoring from a 
snapshot of ZooKeeper.
+**IMPORTANT!** before starting any upgrade process you need to make sure there 
are no outstanding
+FATE transactions. This includes transactions that have completed with 
`SUCCESS` or `FAILED` but
+have not been removed by the automatic clean-up process. This is required 
because the internal
+serialization of FATE transactions is not guaranteed to be compatible between 
versions, so *ANY*
+FATE transaction that is present will fail the upgrade. Procedures to manage 
FATE transactions,
+including commands to fail and delete transactions, are included in the [FATE 
Administration
+documentation]({% durl administration/fate#administration %}).
 
-Details on renaming the properties and the ZooKeeper property conversion 
provided in sections that follow.
+Two significant changes occurred in 2.1 that are particularly important to 
note for upgrades:
 
-### Rename master Properties, Config Files, and Script References
+1. properties and services that referenced `master` are renamed `manager` and
+2. the internal property storage format in 

[accumulo-website] branch asf-staging updated: Automatic Site Publish by Buildbot

2022-11-15 Thread git-site-role
This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/asf-staging by this push:
 new e438900b Automatic Site Publish by Buildbot
e438900b is described below

commit e438900b20f0ad1ff95484ad110146539e0046db
Author: buildbot 
AuthorDate: Wed Nov 16 05:20:28 2022 +

Automatic Site Publish by Buildbot
---
 output/docs/2.x/administration/upgrading.html   | 86 -
 output/docs/2.x/getting-started/quickstart.html |  7 +-
 output/feed.xml |  4 +-
 output/search_data.json |  4 +-
 4 files changed, 94 insertions(+), 7 deletions(-)

diff --git a/output/docs/2.x/administration/upgrading.html 
b/output/docs/2.x/administration/upgrading.html
index e803e7e2..5b6b96c0 100644
--- a/output/docs/2.x/administration/upgrading.html
+++ b/output/docs/2.x/administration/upgrading.html
@@ -434,9 +434,30 @@
 
 The recommended way to upgrade from a prior 1.10.x or 2.0.x release is to 
stop Accumulo, upgrade
 to 2.1 and then start 2.1. To upgrade from a release prior to 1.10, follow the
-below steps to upgrade to 2.0 and then 
perform the upgrade to 2.1. A
+below steps to upgrade to at least 
1.10 and then perform the upgrade to 2.1. A
 direct upgrade from releases prior to 1.10 has not been tested.
 
+Important: before starting any upgrade process you need to make sure there 
are no outstanding FATE transactions. This
+includes transactions that have completed with SUCCESS or FAILED but have not been removed by the automatic 
clean-up 
+process.  This is required because the internal serialization of FATE 
transactions is not guaranteed to be compatible 
+between versions, so ANY FATE transaction that is present will fail 
the upgrade.  Procedures to manage FATE 
+transactions, including commands to fail and delete transactions, are included 
in the Accumulo documentation 
+FATE - 
Administration
+
+Two significant changes from 1.10.x/2.0 to 2.1 that are important to 
note:
+
+
+  properties and services that referenced master are renamed manager and
+  the property storage in ZooKeeper has changed from a ZooKeeper node per 
property to a single node for all 
+properties with a single ZooKeeper property node for each table, namespace. 
and the system config properties.
+
+
+Before upgrading to 2.1, it is suggested that you create a snapshot of the 
current ZooKeeper contents to be a backup 
+in case issues occur and you need to rollback.  There are no provisions to 
roll back to a previous Accumulo version
+once an upgrade process has been completed other than restoring from a 
snapshot of ZooKeeper.
+
+Details on renaming the properties and the ZooKeeper property conversion 
provided in sections that follow.
+
 Rename 
master Properties, Config Files, and Script References
 
 Although not required until at least release 3.0, it is strongly 
recommended as a part of the
@@ -463,7 +484,68 @@ will then need to transfer the contents of the current 
individual files to this
 Warning: Upgrading a previously encrypted instance is not 
supported as the implementation
 and properties have changed.
 
-Upgrading from 1.8/9 to 2.0
+Upgrading from 1.9/1.10/2.0 to 2.1
+
+Note: the process for upgrading to 2.1 assumes that you have already 
upgraded to 1.10 or 2.0.  Upgrading from a 
+version prior to 1.10 may work, but is unsupported and untested.  If you are 
upgrading from 1.10 make sure
+that you have adjusted for the master to manager and other configuration changes as described 
in the
+Upgrading from 1.8/9/10 to 2.0 below 
steps.
+
+Additional information on configuring 2.1 is available at 
(/docs/2.x//in-depth-installation)
+
+The particular order for your installation will differ depending on how you 
choose to install Accumulo.
+The key part being that the upgrade utilities need to be run with 2.1 code on 
a stopped 1.10 / 2.0 instance.
+
+You can elect to stop your current instance, install and configure the 2.1 
binaries, optionally run the upgrade 
+utilities and then start 2.1, or you could install and configure the 2.1 
binaries while your instance remains 
+running and then when ready, stop your instance, optionally run the upgrade 
utilities and then start 2.1.
+
+The basic upgrade sequence is to:
+
+
+  stop Accumulo (1.10/2.0)
+  update your environment to point to 2.1 executable path.
+  (optional - but recommended) create a ZooKeeper snapshot
+  (optional) run the configuration upgrade utility
+  start Accumulo 2.1
+
+
+Create ZooKeeper 
snapshot (optional - but recommended)
+
+$ACCUMULO_HOME/bin/accumulo dump-zoo --xml --root 
/accumulo | tee PATH_TO_SNAPSHOT
+
+
+If you need to restore from the ZooKeeper snapshot see 
(/docs/2.x/troubleshooting/tools )
+
+Upgrade the 
property storage in ZooKeeper (optional)
+
+The property conversion can be done 

[accumulo-website] branch main updated: update upgrade instructions to include prop conversion (#367)

2022-11-15 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-website.git


The following commit(s) were added to refs/heads/main by this push:
 new 65ae3ff3 update upgrade instructions to include prop conversion (#367)
65ae3ff3 is described below

commit 65ae3ff39d6b1b6977f491285aa4f7c84fa17848
Author: EdColeman 
AuthorDate: Wed Nov 16 00:20:08 2022 -0500

update upgrade instructions to include prop conversion (#367)
---
 _docs-2/administration/upgrading.md   | 86 ++-
 _docs-2/getting-started/quickstart.md |  7 ++-
 2 files changed, 90 insertions(+), 3 deletions(-)

diff --git a/_docs-2/administration/upgrading.md 
b/_docs-2/administration/upgrading.md
index d9ee2bf2..6614d0ca 100644
--- a/_docs-2/administration/upgrading.md
+++ b/_docs-2/administration/upgrading.md
@@ -8,9 +8,28 @@ order: 7
 
 The recommended way to upgrade from a prior 1.10.x or 2.0.x release is to stop 
Accumulo, upgrade
 to 2.1 and then start 2.1. To upgrade from a release prior to 1.10, follow the
-[below steps](#upgrading-from-189-to-20) to upgrade to 2.0 and then perform 
the upgrade to 2.1. A
+[below steps](#upgrading-from-18910-to-20) to upgrade to at least 1.10 and 
then perform the upgrade to 2.1. A
 direct upgrade from releases prior to 1.10 has not been tested.
 
+Important: before starting any upgrade process you need to make sure there are 
no outstanding FATE transactions. This
+includes transactions that have completed with `SUCCESS` or `FAILED` but have 
not been removed by the automatic clean-up 
+process.  This is required because the internal serialization of FATE 
transactions is not guaranteed to be compatible 
+between versions, so *ANY* FATE transaction that is present will fail the 
upgrade.  Procedures to manage FATE 
+transactions, including commands to fail and delete transactions, are included 
in the Accumulo documentation 
+[FATE - Administration]({% durl administration/fate#administration %})
+
+Two significant changes from 1.10.x/2.0 to 2.1 that are important to note:
+
+1. properties and services that referenced `master` are renamed `manager` and
+2. the property storage in ZooKeeper has changed from a ZooKeeper node per 
property to a single node for all 
+properties with a single ZooKeeper property node for each table, namespace. 
and the system config properties.
+
+Before upgrading to 2.1, it is suggested that you create a snapshot of the 
current ZooKeeper contents to be a backup 
+in case issues occur and you need to rollback.  There are no provisions to 
roll back to a previous Accumulo version
+once an upgrade process has been completed other than restoring from a 
snapshot of ZooKeeper.
+
+Details on renaming the properties and the ZooKeeper property conversion 
provided in sections that follow.
+
 ### Rename master Properties, Config Files, and Script References
 
 Although not required until at least release 3.0, it is strongly recommended 
as a part of the
@@ -38,7 +57,70 @@ will then need to transfer the contents of the current 
individual files to this
 **Warning**: Upgrading a previously encrypted instance is not supported as the 
implementation
 and properties have changed.
 
-## Upgrading from 1.8/9 to 2.0
+## Upgrading from 1.9/1.10/2.0 to 2.1
+
+Note: the process for upgrading to 2.1 assumes that you have already upgraded 
to 1.10 or 2.0.  Upgrading from a 
+version prior to 1.10 may work, but is unsupported and untested.  If you are 
upgrading from 1.10 make sure
+that you have adjusted for the `master` to `manager` and other configuration 
changes as described in the
+Upgrading from 1.8/9/10 to 2.0 [below steps](#upgrading-from-18910-to-20).
+
+Additional information on configuring 2.1 is available at ({% durl 
/in-depth-installation%})
+
+The particular order for your installation will differ depending on how you 
choose to install Accumulo.  
+The key part being that the upgrade utilities need to be run with 2.1 code on 
a stopped 1.10 / 2.0 instance. 
+
+You can elect to stop your current instance, install and configure the 2.1 
binaries, optionally run the upgrade 
+utilities and then start 2.1, or you could install and configure the 2.1 
binaries while your instance remains 
+running and then when ready, stop your instance, optionally run the upgrade 
utilities and then start 2.1.
+
+The basic upgrade sequence is to: 
+
+- stop Accumulo (1.10/2.0)
+- update your environment to point to 2.1 executable path.
+- (optional - but recommended) create a ZooKeeper snapshot
+- (optional) run the configuration upgrade utility
+- start Accumulo 2.1
+
+### Create ZooKeeper snapshot (optional - but recommended)
+
+```
+$ACCUMULO_HOME/bin/accumulo dump-zoo --xml --root /accumulo | tee 
PATH_TO_SNAPSHOT
+```
+
+If you need to restore from the ZooKeeper snapshot see ({% durl 
troubleshooting/tools %})
+
+### Upgrade the property storage in ZooKeeper 

[accumulo-proxy] branch main updated: Convert try-catch blocks in tests to JUnit assertThrows (#41)

2022-11-15 Thread domgarguilo
This is an automated email from the ASF dual-hosted git repository.

domgarguilo pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/accumulo-proxy.git


The following commit(s) were added to refs/heads/main by this push:
 new d8ab970  Convert try-catch blocks in tests to JUnit assertThrows (#41)
d8ab970 is described below

commit d8ab970930c77e06444c733af0301baf122f7501
Author: Dom G 
AuthorDate: Tue Nov 15 10:45:47 2022 -0500

Convert try-catch blocks in tests to JUnit assertThrows (#41)
---
 .../org/apache/accumulo/proxy/ProxyServerTest.java |  18 +-
 .../apache/accumulo/proxy/its/SimpleProxyBase.java | 649 -
 2 files changed, 241 insertions(+), 426 deletions(-)

diff --git a/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java 
b/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
index e09c6dc..8ebf886 100644
--- a/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
+++ b/src/test/java/org/apache/accumulo/proxy/ProxyServerTest.java
@@ -17,7 +17,7 @@
 package org.apache.accumulo.proxy;
 
 import static java.nio.charset.StandardCharsets.UTF_8;
-import static org.junit.jupiter.api.Assertions.fail;
+import static org.junit.jupiter.api.Assertions.assertThrows;
 
 import java.nio.ByteBuffer;
 import java.util.HashMap;
@@ -63,12 +63,8 @@ public class ProxyServerTest {
 
 EasyMock.replay(server, writer, mre);
 
-try {
-  server.updateAndFlush(login, tableName, cells);
-  fail("Expected updateAndFlush to throw an exception");
-} catch (org.apache.accumulo.proxy.thrift.MutationsRejectedException e) {
-  // pass
-}
+
assertThrows(org.apache.accumulo.proxy.thrift.MutationsRejectedException.class,
+() -> server.updateAndFlush(login, tableName, cells));
 
 EasyMock.verify(server, writer, mre);
   }
@@ -102,12 +98,8 @@ public class ProxyServerTest {
 
 EasyMock.replay(server, writer, mre);
 
-try {
-  server.updateAndFlush(login, tableName, cells);
-  fail("Expected updateAndFlush to throw an exception");
-} catch (org.apache.accumulo.proxy.thrift.MutationsRejectedException e) {
-  // pass
-}
+
assertThrows(org.apache.accumulo.proxy.thrift.MutationsRejectedException.class,
+() -> server.updateAndFlush(login, tableName, cells));
 
 EasyMock.verify(server, writer, mre);
   }
diff --git a/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java 
b/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java
index b7ddea8..85a55ea 100644
--- a/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java
+++ b/src/test/java/org/apache/accumulo/proxy/its/SimpleProxyBase.java
@@ -29,6 +29,7 @@ import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.BufferedReader;
 import java.io.File;
+import java.io.IOException;
 import java.io.InputStreamReader;
 import java.net.InetAddress;
 import java.nio.ByteBuffer;
@@ -45,6 +46,7 @@ import java.util.Set;
 import java.util.TreeMap;
 import java.util.UUID;
 import java.util.concurrent.TimeUnit;
+import java.util.stream.Stream;
 
 import org.apache.accumulo.cluster.ClusterUser;
 import org.apache.accumulo.core.client.Accumulo;
@@ -137,6 +139,7 @@ import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.Test;
 import org.junit.jupiter.api.TestInfo;
 import org.junit.jupiter.api.Timeout;
+import org.junit.jupiter.api.function.Executable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -158,13 +161,13 @@ public abstract class SimpleProxyBase extends 
SharedMiniClusterBase {
   private static int proxyPort;
 
   private TestProxyClient proxyClient;
-  private org.apache.accumulo.proxy.thrift.AccumuloProxy.Client client;
+  private static org.apache.accumulo.proxy.thrift.AccumuloProxy.Client client;
 
   private static Map properties = new HashMap<>();
   private static String hostname, proxyPrincipal, proxyPrimary, 
clientPrincipal;
   private static File proxyKeytab, clientKeytab;
 
-  private ByteBuffer creds = null;
+  private static ByteBuffer creds = null;
 
   // Implementations can set this
   static TProtocolFactory factory = null;
@@ -397,7 +400,7 @@ public abstract class SimpleProxyBase extends 
SharedMiniClusterBase {
 
   @Test
   @Timeout(5)
-  public void compactTableLoginFailure() throws Exception {
+  public void compactTableLoginFailure() {
 assertThrows(AccumuloSecurityException.class,
 () -> client.compactTable(badLogin, tableName, null, null, null, true, 
false, null));
   }
@@ -424,7 +427,7 @@ public abstract class SimpleProxyBase extends 
SharedMiniClusterBase {
 
   @Test
   @Timeout(5)
-  public void deleteRowsLoginFailure() throws Exception {
+  public void deleteRowsLoginFailure() {
 assertThrows(AccumuloSecurityException.class,
 () -> client.deleteRows(badLogin, tableName, null, null));
   }
@@ -451,7 +454,7 @@ public abstract class SimpleProxyBase extends 
SharedMiniClusterBase {
 
   @Test
   @Timeout(5)
-  

[accumulo] branch 2.1 updated: Call setDropBehind() when reading/writing WAL files (#3077)

2022-11-15 Thread dlmarion
This is an automated email from the ASF dual-hosted git repository.

dlmarion pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git


The following commit(s) were added to refs/heads/2.1 by this push:
 new 2931a9b931 Call setDropBehind() when reading/writing WAL files (#3077)
2931a9b931 is described below

commit 2931a9b93172a1acaad5cace13e77c452f2bfe68
Author: Dave Marion 
AuthorDate: Tue Nov 15 07:56:39 2022 -0500

Call setDropBehind() when reading/writing WAL files (#3077)

WAL files are not read after being written unless there is a
failure that causes recovery. We can call setDropBehind on the
DFSInputStream and DFSOutputStream to inform the DataNodes that
they don't have to cache the WAL information after the file has
been read or written.
---
 .../src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java  | 7 +++
 .../src/main/java/org/apache/accumulo/tserver/log/LogSorter.java  | 8 
 2 files changed, 15 insertions(+)

diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
index c6febc4eb8..b24387050b 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/DfsLogger.java
@@ -417,6 +417,13 @@ public class DfsLogger implements Comparable {
   else
 logFile = fs.create(logfilePath, true, 0, replication, blockSize);
 
+  // Tell the DataNode that the write ahead log does not need to be cached 
in the OS page cache
+  try {
+logFile.setDropBehind(Boolean.TRUE);
+  } catch (IOException | UnsupportedOperationException e) {
+log.debug("setDropBehind writes not enabled for wal file: {}", 
logFile);
+  }
+
   // check again that logfile can be sync'd
   if (!fs.canSyncAndFlush(logfilePath)) {
 log.warn("sync not supported for log file {}. Data loss may occur.", 
logPath);
diff --git 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java
index bcec30621a..6df7729766 100644
--- 
a/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java
+++ 
b/server/tserver/src/main/java/org/apache/accumulo/tserver/log/LogSorter.java
@@ -142,6 +142,14 @@ public class LogSorter {
   fs.deleteRecursively(new Path(destPath));
 
   input = fs.open(srcPath);
+
+  // Tell the DataNode that the write ahead log does not need to be cached 
in the OS page cache
+  try {
+input.setDropBehind(Boolean.TRUE);
+  } catch (IOException | UnsupportedOperationException e) {
+log.debug("setDropBehind reads not enabled for wal file: {}", input);
+  }
+
   try {
 decryptingInput = DfsLogger.getDecryptingStream(input, cryptoService);
   } catch (LogHeaderIncompleteException e) {