[accumulo-docker] branch next-release updated (3ef2e23 -> 7cf9ca9)

2022-09-19 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

brianloss pushed a change to branch next-release
in repository https://gitbox.apache.org/repos/asf/accumulo-docker.git


from 3ef2e23  Bump ZooKeeper version to 3.8.0 (#21)
 add 7cf9ca9  Refactor Docker image to allow faster rebuilds (#23)

No new revisions were added by this update.

Summary of changes:
 Dockerfile  | 152 +---
 README.md   |   4 +-
 download.sh |  53 +
 3 files changed, 150 insertions(+), 59 deletions(-)
 create mode 100755 download.sh



[accumulo-testing] branch main updated: Terraform config fixes based on testing (#207)

2022-05-12 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new 3da4134  Terraform config fixes based on testing (#207)
3da4134 is described below

commit 3da41348a6af77e6cdd89b1d5d1bdd3f14ef029e
Author: Brian Loss 
AuthorDate: Thu May 12 07:42:28 2022 -0400

Terraform config fixes based on testing (#207)

* Terraform config fixes based on testing

* Update AzureRM Terraform provider to use any 3.x version.
* Fix bug where variable validation would fail for the Azure
  configuration if managed_disk_configuration was not used and set to
  null.
* Clarify in the README that terraform init/plan/apply commands are
  sensitive to the current working directory.
* Clarify in the README that the appropriate SSH private key must be
  present in the SSH agent in order for terraform apply to succeed.
* Fix step numbering in QUICKSTART
* Remove sentence fragment about creating config from step 4 of
  QUICKSTART
* Add note about needing the specified ssh key to be loaded in your
  ssh-agent for provisioning to succeed
---
 contrib/terraform-testing-infrastructure/QUICKSTART| 14 +++---
 contrib/terraform-testing-infrastructure/README.md | 18 ++
 contrib/terraform-testing-infrastructure/azure/main.tf |  2 +-
 .../azure/variables.tf |  8 
 .../shared_state/azure/main.tf |  2 +-
 5 files changed, 27 insertions(+), 17 deletions(-)

diff --git a/contrib/terraform-testing-infrastructure/QUICKSTART 
b/contrib/terraform-testing-infrastructure/QUICKSTART
index a041f38..e708c19 100644
--- a/contrib/terraform-testing-infrastructure/QUICKSTART
+++ b/contrib/terraform-testing-infrastructure/QUICKSTART
@@ -35,7 +35,7 @@
   You will need to create a configuration file that includes values for the
   variables that do not have a default value. See the Variables section in
   the README. For example, you can create a file "aws.auto.tfvars" file in
-  the aws directory with the following content (replace as appropriate):
+  the `aws` directory with the following content (replace as appropriate):
 
 create_route53_records = "true"
 private_network = "true"
@@ -53,17 +53,17 @@ authorized_ssh_keys = [
 ]
 
 
-3. Create the Resources
+4. Create the Resources
 
-  cd aws
-
-  Create the configuration section of the README. For example you can create
-Example in HCL syntax:
+  NOTE: ensure that the private key corresponding to the first ssh key in 
+`authorized_ssh_keys` in the configuration above has been loaded
+into your ssh agent, or else terraform apply will fail.
 
+  cd aws
   terraform init --backend-config=bucket=
   terraform apply
 
-4. Accessing the cluster
+5. Accessing the cluster
 
   The output of the apply step above will include the IP addresses of the
   resources that were created. If created correctly, you should be able to
diff --git a/contrib/terraform-testing-infrastructure/README.md 
b/contrib/terraform-testing-infrastructure/README.md
index 9c99883..a7ea464 100644
--- a/contrib/terraform-testing-infrastructure/README.md
+++ b/contrib/terraform-testing-infrastructure/README.md
@@ -64,7 +64,9 @@ about this see [remote 
state](https://www.terraform.io/docs/language/state/remot
 shared state instructions are based on
 [this 
article](https://blog.gruntwork.io/how-to-manage-terraform-state-28f5697e68fa). 
 
-To generate the storage, run `terraform init` followed by `terraform apply`.
+To generate the storage, run `terraform init` followed by `terraform apply`. 
Note that the shell
+working directory must be the `shared_state/aws` or `shared_state/azure` 
directory when you run
+the terraform commands for shared state creation.
 
 The default AWS configuration generates the S3 bucket name when `terraform 
apply` is run. This
 ensures that a globally unique S3 bucket name is used. It is not required to 
set any variables for
@@ -415,7 +417,9 @@ recommended that the public IP addresses be used instead.
 
 ## Instructions
 
-  1. Once you have created a `.auto.tfvars.json` file, or set the properties 
some other way, run
+  1. Change to either the `aws` or `azure` directory in your shell. This must 
be the current
+ directory when you run the following `terraform` commands.
+  2. Once you have created a `.auto.tfvars` file, or set the properties some 
other way, run
  `terraform init`. If you have modified shared_state backend configuration 
over the default,
  you can override the values here. For example, the following 
configuration updates the
  `resource_group_name` and `storage_account_name` for the `azurerm` 
backend:
@@ -424,8 +428,14 @@ recommended that the public IP addresses be used instea

[accumulo-testing] branch main updated: Managed disk support for Azure terraform infra (#202)

2022-04-21 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/main by this push:
 new e9cbb85  Managed disk support for Azure terraform infra (#202)
e9cbb85 is described below

commit e9cbb856a0fac3335fff13fc175d7439c0940cca
Author: Brian Loss 
AuthorDate: Thu Apr 21 09:01:44 2022 -0400

Managed disk support for Azure terraform infra (#202)

Support adding managed disk to the Azure VMs created by the terraform
testing infrastructure. By adding multiple managed disks to a VM, we can
get significantly more space for data storage and also increase
performance since the data is striped across multiple disks.

* Modify the cloud-init module to accept an argument indicating the type
  of deployment (AWS or Azure) so that conditional blocks can be
  included in the cloud-init script.
* cloud-init module now accepts an optional lvm_mount_point argument. If
  this argument is specified, then the cloud-init script will assume
  that managed disks were created and load a script on the VM and run it
  to wait for the disks to be attached, then group them in an LVM volume
  that is mounted under the specified mount point.
* The azure main.tf file accepts a new managed_disk_configuration
  optional argument that contains the LVM mount point, and the number,
  size, and sku of managed disks to add to each VM. If this argument is
  specified, then the managed disks are created and attached to the VMs,
  and the lvm mount point and expected number of disks are passed along
  to the cloud-init module. Due to the way attaching managed disks are
  supported by Terraform (they must be attached after the VM is created,
  although Azure does not have this restriction), the provisioner script
  that waits for cloud-init to complete had to be moved outside of the
  VM creation to a null_resource. This null_resource must then be
  explicitly added as a dependency of any module that requires the
  manager or worker VMs to be created AND have cloud-init completed
  running.
* Fix bug in Azure configuration where the script would fail if the
  create_resource_group variable was set to false (indicating that an
  existing resource group should be used instead of creating a new one).
* Update the maven version to 3.8.5.
---
 contrib/terraform-testing-infrastructure/README.md |   5 +-
 .../terraform-testing-infrastructure/aws/main.tf   |   1 +
 .../aws/variables.tf   |   2 +-
 .../terraform-testing-infrastructure/azure/main.tf | 141 +
 .../azure/variables.tf |  31 -
 .../files/azure-format-lvm-data-disk.sh|  52 
 .../modules/cloud-init-config/main.tf  |  23 +++-
 .../cloud-init-config/templates/cloud-init.tftpl   |   9 ++
 .../modules/config-files/templates/zoo.cfg.tftpl   |   2 +-
 9 files changed, 237 insertions(+), 29 deletions(-)

diff --git a/contrib/terraform-testing-infrastructure/README.md 
b/contrib/terraform-testing-infrastructure/README.md
index a4c3fea..9c99883 100644
--- a/contrib/terraform-testing-infrastructure/README.md
+++ b/contrib/terraform-testing-infrastructure/README.md
@@ -165,7 +165,7 @@ The table below lists the variables and their default 
values that are used in th
 | instance\_count | The number of EC2 instances to create | `string` | `"2"` | 
no |
 | instance\_type | The type of EC2 instances to create | `string` | 
`"m5.2xlarge"` | no |
 | local\_sources\_dir | Directory on local machine that contains Maven, 
ZooKeeper or Hadoop binary distributions or Accumulo source tarball | `string` 
| `""` | no |
-| maven\_version | The version of Maven to download and install | `string` | 
`"3.8.4"` | no |
+| maven\_version | The version of Maven to download and install | `string` | 
`"3.8.5"` | no |
 | optional\_cloudinit\_config | An optional config block for the cloud-init 
script. If you set this, you should consider setting cloudinit\_merge\_type to 
handle merging with the default script as you need. | `string` | `null` | no |
 | private\_network | Indicates whether or not the user is on a private network 
and access to hosts should be through the private IP addresses rather than 
public ones. | `bool` | `false` | no |
 | root\_volume\_gb | The size, in GB, of the EC2 instance root volume | 
`string` | `"300"` | no |
@@ -208,7 +208,8 @@ The table below lists the variables and their default 
values that are used in th
 | hadoop\_version | The version of Hadoop to download and install | `string` | 
`"3.3.1"` | no |
 | local\_sources\_dir | Directory on local machine that contains Maven, 
ZooKeeper or Hadoop binary distributions or Acc

[accumulo] branch main updated: Improve SuspendedTabletsIT reliability (#2123)

2021-05-28 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

brianloss 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 74a0d5e  Improve SuspendedTabletsIT reliability (#2123)
74a0d5e is described below

commit 74a0d5e9276946c5266e5cc452370660871ace5f
Author: Brian Loss 
AuthorDate: Fri May 28 13:59:35 2021 -0400

Improve SuspendedTabletsIT reliability (#2123)

The previous attempt to fix SuspendedTabletsIT attempted to use
HostRegexTableLoadBalancer as a per-table balancer. Unfortunately,
HostRegexTableLoadBalancer was not designed to be used that way but
instead was meant to replace TableLoadBalancer and use regular
expressions to divide the hosts into pools. Therefore, the balancer was
failing to initialize and wasn't actually doing any work.

* Performed minor refactoring on HostRegexTableLoadBalancer so that it
  can be extended to include the port when performing regex checks.
* Extend HostRegexTableLoadBalancer and configure it to use the port as
  well as host name for regex checks so that a single tserver on a host
  with multiple tservers running can be isolated and used for a table.
  In particular, this is used to send all metadata table tablets to a
  single tserver running in MiniAccumuloCluster.
* Start MiniAccumuloCluster with a single tserver so that we can use
  that information to configure the extended HostRegexTableLoadBalancer
  to send all metadata tablets to that first tablet server. With one
  tablet server running, we can also grab the process reference to it
  for when we later kill tablet servers (to ensure we don't kill the
  tablet server hosting the metadata table). Once this information is
  collected, then MiniAccumuloCluster is re-configured for 3 tablet
  servers and the additional tablet servers are launched.
* Fix the "Waiting on hosting and balance" conditions to wait for BOTH
  all tablets to be hosted and for those tablets to be hosted across all
  tablet servers (except the one reserved for the metadata table)
* Fix the "Waiting on suspended tablets" condition which was incorrectly
  using a conjunction when a disjunction was needed. The result was the
  loop could exit without any tablets actually reaching the suspended
  state.
* Refactor TabletLocations so we can choose to scan either the root or
  metadata table. This allows us to retrieve tablet locations for the
  metadata table.

Fixes #2121
---
 .../spi/balancer/HostRegexTableLoadBalancer.java   |   9 +-
 .../accumulo/test/manager/SuspendedTabletsIT.java  | 148 ++---
 2 files changed, 133 insertions(+), 24 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/HostRegexTableLoadBalancer.java
 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/HostRegexTableLoadBalancer.java
index 46157cb..c21f8fc 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/HostRegexTableLoadBalancer.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/HostRegexTableLoadBalancer.java
@@ -200,7 +200,7 @@ public class HostRegexTableLoadBalancer extends 
TableLoadBalancer {
 LOG.debug("Performing pool recheck - regrouping tablet servers based on 
regular expressions");
 Map> newPools = new 
HashMap<>();
 for (Entry e : current.entrySet()) {
-  List poolNames = getPoolNamesForHost(e.getKey().getHost());
+  List poolNames = getPoolNamesForHost(e.getKey());
   for (String pool : poolNames) {
 SortedMap np = newPools.get(pool);
 if (np == null) {
@@ -232,11 +232,12 @@ public class HostRegexTableLoadBalancer extends 
TableLoadBalancer {
   /**
* Matches host against the regexes and returns the matching pool names
*
-   * @param host
+   * @param tabletServerId
*  tablet server host
* @return pool names, will return default pool if host matches more no regex
*/
-  protected List getPoolNamesForHost(String host) {
+  protected List getPoolNamesForHost(TabletServerId tabletServerId) {
+final String host = tabletServerId.getHost();
 String test = host;
 if (!hrtlbConf.get().isIpBasedRegex) {
   try {
@@ -401,7 +402,7 @@ public class HostRegexTableLoadBalancer extends 
TableLoadBalancer {
   for (Entry e : current.entrySet()) {
 // pool names are the same as table names, except in the DEFAULT 
case.
 // If this table is assigned to a pool for this host, then move on.
-List hostPools = getPoolNamesForHost(e.getKey().getHost());
+List hostPools = getPoolNamesForHost(e.getKey());
 if (hostPools.contains(tablePoolName)) {
   continue;
 }
diff --git 
a/test/src/mai

[accumulo] branch main updated: Document master/manager rename in Upgrader9to10 re #1922 (#1927)

2021-02-11 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

brianloss 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 f2ecaf6  Document master/manager rename in Upgrader9to10 re #1922 
(#1927)
f2ecaf6 is described below

commit f2ecaf6eae52f3fa4a8e3feb01ee0827a8140e50
Author: Brian Loss 
AuthorDate: Thu Feb 11 10:02:47 2021 -0500

Document master/manager rename in Upgrader9to10 re #1922 (#1927)
---
 .../org/apache/accumulo/manager/upgrade/Upgrader9to10.java   | 12 +++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git 
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
 
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
index d88ebd2..41347a5 100644
--- 
a/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
+++ 
b/server/manager/src/main/java/org/apache/accumulo/manager/upgrade/Upgrader9to10.java
@@ -95,7 +95,17 @@ import com.google.common.annotations.VisibleForTesting;
 import com.google.common.base.Preconditions;
 
 /**
- * Handles upgrading from 2.0 to 2.1
+ * Handles upgrading from 2.0 to 2.1.
+ * 
+ * Rename master properties (Issue
+ * https://github.com/apache/accumulo/issues/1640;>#1640): 
Rename any
+ * ZooKeeper system properties that start with "master." to the equivalent 
property starting with
+ * "manager." instead (see the {@code renameOldMasterPropsinZK(ServerContext)} 
method). Note that
+ * this change was part of a larger effort to replace references to master 
with manager. See issues
+ * https://github.com/apache/accumulo/issues/1641;>#1641,
+ * https://github.com/apache/accumulo/issues/1642;>#1642, and
+ * https://github.com/apache/accumulo/issues/1643;>#1643 as 
well.
+ * 
  */
 public class Upgrader9to10 implements Upgrader {
 



[accumulo] branch main updated: Fix log file names in minicluster and two broken ITs. (#1914)

2021-02-08 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

brianloss 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 c00fb38  Fix log file names in minicluster and two broken ITs. (#1914)
c00fb38 is described below

commit c00fb38f9bc0da353a8fcfb5e7ca47146034120d
Author: Brian Loss 
AuthorDate: Mon Feb 8 09:28:16 2021 -0500

Fix log file names in minicluster and two broken ITs. (#1914)

Commit e6164901a3acdd464a7a9beff0126097b53fc06f removed the main method
from Manager. In order to work around this, minicluster was modified to
use KeywordExecutable classes to launch. However, this caused all
minicluster log files to be named "Main" since the main class is always
org.apache.accumulo.start.Main. This could be worked around with a
log4j2 properties file and variable name to cause the file logger to use
the right class name, but then that would require all minicluster users
to use the supplied logger configuration, or replicate the same
configuration. Instead, the main method was added back to Manager so
that minicluster logging will work as expected. This also fixes the
broken ITs BackupManagerIT and ThriftServerBindsBeforeZooKeeperLockIT
which were both broken since they were attempting to reference the main
method in the Manager class.
---
 .../MiniAccumuloClusterControl.java| 22 +++---
 .../java/org/apache/accumulo/manager/Manager.java  |  6 ++
 .../apache/accumulo/manager/ManagerExecutable.java |  5 +
 .../apache/accumulo/manager/MasterExecutable.java  |  2 +-
 4 files changed, 19 insertions(+), 16 deletions(-)

diff --git 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
index fbc16f5..8e3277f 100644
--- 
a/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
+++ 
b/minicluster/src/main/java/org/apache/accumulo/miniclusterImpl/MiniAccumuloClusterControl.java
@@ -31,14 +31,14 @@ import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
 
 import org.apache.accumulo.cluster.ClusterControl;
-import org.apache.accumulo.gc.GCExecutable;
-import org.apache.accumulo.manager.ManagerExecutable;
+import org.apache.accumulo.gc.SimpleGarbageCollector;
+import org.apache.accumulo.manager.Manager;
 import org.apache.accumulo.minicluster.ServerType;
 import org.apache.accumulo.miniclusterImpl.MiniAccumuloClusterImpl.ProcessInfo;
-import org.apache.accumulo.monitor.MonitorExecutable;
+import org.apache.accumulo.monitor.Monitor;
 import org.apache.accumulo.server.util.Admin;
-import org.apache.accumulo.tracer.TracerExecutable;
-import org.apache.accumulo.tserver.TServerExecutable;
+import org.apache.accumulo.tracer.TraceServer;
+import org.apache.accumulo.tserver.TabletServer;
 import org.apache.zookeeper.server.ZooKeeperServerMain;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -137,15 +137,14 @@ public class MiniAccumuloClusterControl implements 
ClusterControl {
   for (int i = tabletServerProcesses.size();
   count < limit && i < cluster.getConfig().getNumTservers(); i++, 
++count) {
 tabletServerProcesses
-.add(cluster._exec(new TServerExecutable(), server, 
configOverrides).getProcess());
+.add(cluster._exec(TabletServer.class, server, 
configOverrides).getProcess());
   }
 }
 break;
   case MASTER:
   case MANAGER:
 if (masterProcess == null) {
-  masterProcess =
-  cluster._exec(new ManagerExecutable(), server, 
configOverrides).getProcess();
+  masterProcess = cluster._exec(Manager.class, server, 
configOverrides).getProcess();
 }
 break;
   case ZOOKEEPER:
@@ -156,17 +155,18 @@ public class MiniAccumuloClusterControl implements 
ClusterControl {
 break;
   case GARBAGE_COLLECTOR:
 if (gcProcess == null) {
-  gcProcess = cluster._exec(new GCExecutable(), server, 
configOverrides).getProcess();
+  gcProcess =
+  cluster._exec(SimpleGarbageCollector.class, server, 
configOverrides).getProcess();
 }
 break;
   case MONITOR:
 if (monitor == null) {
-  monitor = cluster._exec(new MonitorExecutable(), server, 
configOverrides).getProcess();
+  monitor = cluster._exec(Monitor.class, server, 
configOverrides).getProcess();
 }
 break;
   case TRACER:
 if (tracer == null) {
-  tracer = cluster._exec(new TracerExecutable(), server, 
configOverrides).getProcess();
+  tracer = cluster._exec(TraceServer.class, server, 
configOverrides).getProcess();
 

[accumulo] branch main updated: Warn in constructor when deprecated balancers are used re #1880

2021-02-05 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

brianloss 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 8f18db4  Warn in constructor when deprecated balancers are used re 
#1880
8f18db4 is described below

commit 8f18db4e3c1c4ba3fe6b32743e7772686526
Author: Brian Loss 
AuthorDate: Fri Feb 5 09:08:47 2021 -0500

Warn in constructor when deprecated balancers are used re #1880
---
 .../apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java  |  6 ++
 .../accumulo/server/master/balancer/DefaultLoadBalancer.java   | 10 --
 .../apache/accumulo/server/master/balancer/GroupBalancer.java  |  8 
 .../accumulo/server/master/balancer/TableLoadBalancer.java |  8 
 4 files changed, 30 insertions(+), 2 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
index c19f650..683f6cc 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/spi/balancer/SimpleLoadBalancer.java
@@ -55,6 +55,12 @@ import org.slf4j.LoggerFactory;
  * if possible, but otherwise assignments are made in a random fashion across 
all available tablet
  * servers.
  *
+ * 
+ * This balancer replaces the deprecated
+ * org.apache.accumulo.server.master.balancer.DefaultLoadBalancer which will 
be removed in a future
+ * release. This balancer has the same functionality but uses the stable SPI 
which does not expose
+ * internal types on public methods.
+ *
  * @since 2.1.0
  */
 public class SimpleLoadBalancer implements TabletBalancer {
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/DefaultLoadBalancer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/DefaultLoadBalancer.java
index 5a0f859..3f681ff 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/DefaultLoadBalancer.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/DefaultLoadBalancer.java
@@ -34,13 +34,15 @@ import org.apache.accumulo.core.dataImpl.KeyExtent;
 import org.apache.accumulo.core.master.thrift.TableInfo;
 import org.apache.accumulo.core.master.thrift.TabletServerStatus;
 import org.apache.accumulo.core.metadata.TServerInstance;
+import org.apache.accumulo.core.spi.balancer.SimpleLoadBalancer;
 import org.apache.accumulo.core.tabletserver.thrift.TabletStats;
 import org.apache.accumulo.server.master.state.TabletMigration;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
- * @deprecated since 2.1.0. Use {@link 
org.apache.accumulo.core.spi.balancer.TabletBalancer} instead
+ * @deprecated since 2.1.0. Use {@link 
org.apache.accumulo.core.spi.balancer.SimpleLoadBalancer}
+ * instead, as it as the same functionality but a stable API.
  */
 @Deprecated(since = "2.1.0")
 public class DefaultLoadBalancer extends TabletBalancer {
@@ -52,10 +54,14 @@ public class DefaultLoadBalancer extends TabletBalancer {
   TableId tableToBalance = null;
 
   public DefaultLoadBalancer() {
-
+log.warn(
+"{} has been deprecated and will be removed in a future release. 
Please update your "
++ "configuration to use the equivalent {} instead.",
+getClass().getName(), SimpleLoadBalancer.class.getName());
   }
 
   public DefaultLoadBalancer(TableId table) {
+this(); // emit warning
 tableToBalance = table;
   }
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/GroupBalancer.java
 
b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/GroupBalancer.java
index d6ec3f4..561ae3f 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/master/balancer/GroupBalancer.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/master/balancer/GroupBalancer.java
@@ -46,6 +46,7 @@ import org.apache.accumulo.core.util.MapCounter;
 import org.apache.accumulo.core.util.Pair;
 import org.apache.accumulo.server.master.state.TabletMigration;
 import org.apache.commons.lang3.mutable.MutableInt;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.collect.HashBasedTable;
 import com.google.common.collect.HashMultimap;
@@ -80,6 +81,13 @@ public abstract class GroupBalancer extends TabletBalancer {
 
   public GroupBalancer(TableId tableId) {
 this.tableId = tableId;
+
+LoggerFactory.getLogger(getClass().getName())
+.warn("{} has been deprecated and will be "
++ "removed in a future release. Please update your configuration 
to use the equivalent "
++ "{} instead.", getClass().getName(),
+
org.apache.accumulo.core.spi.balancer.GroupBalancer.cla

[accumulo] branch main updated (95a8df1 -> 675e41a)

2021-02-04 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


from 95a8df1  Add TabletBalancer to SPI package (#1891)
 add 675e41a  Rename master packages to manager. (#1904)

No new revisions were added by this update.

Summary of changes:
 assemble/bin/accumulo-service  |   2 +-
 .../core/client/mapred/AbstractInputFormat.java|   2 +-
 .../core/client/mapreduce/AbstractInputFormat.java |   2 +-
 .../accumulo/core/clientImpl/ClientContext.java|   2 +-
 .../core/clientImpl/ConditionalWriterImpl.java |   2 +-
 .../accumulo/core/clientImpl/OfflineIterator.java  |   2 +-
 .../core/clientImpl/TableOperationsImpl.java   |   2 +-
 .../apache/accumulo/core/clientImpl/Tables.java|   2 +-
 .../TabletServerBatchReaderIterator.java   |   2 +-
 .../core/clientImpl/TabletServerBatchWriter.java   |   2 +-
 .../accumulo/core/clientImpl/ThriftScanner.java|   2 +-
 .../mapreduce/lib/InputConfigurator.java   |   2 +-
 .../org/apache/accumulo/core/conf/Property.java|   4 +-
 .../state/tables/TableState.java   |   2 +-
 .../core/metadata/schema/TabletMetadata.java   |   2 +-
 .../core/replication/ReplicationTable.java |   2 +-
 .../hadoopImpl/mapred/AccumuloRecordReader.java|   2 +-
 .../hadoopImpl/mapreduce/AccumuloRecordReader.java |   2 +-
 .../mapreduce/lib/InputConfigurator.java   |   2 +-
 .../standalone/StandaloneClusterControl.java   |   2 +-
 .../MiniAccumuloClusterControl.java|   2 +-
 .../miniclusterImpl/MiniAccumuloClusterImpl.java   |   2 +-
 .../apache/accumulo/server/init/Initialize.java|   2 +-
 .../server/{master => manager}/LiveTServerSet.java |   2 +-
 .../manager/balancer/BalancerEnvironmentImpl.java  |   2 +-
 .../recovery/HadoopLogCloser.java  |   2 +-
 .../{master => manager}/recovery/LogCloser.java|   2 +-
 .../{master => manager}/recovery/RecoveryPath.java |   2 +-
 .../{master => manager}/state/Assignment.java  |   2 +-
 .../state/ClosableIterator.java|   2 +-
 .../{master => manager}/state/CurrentState.java|   2 +-
 .../{master => manager}/state/DeadServerList.java  |   2 +-
 .../state/DistributedStoreException.java   |   2 +-
 .../state/LoggingTabletStateStore.java |   2 +-
 .../{master => manager}/state/MergeInfo.java   |   2 +-
 .../{master => manager}/state/MergeState.java  |   2 +-
 .../state/MetaDataStateStore.java  |   2 +-
 .../state/MetaDataTableScanner.java|   2 +-
 .../state/RootTabletStateStore.java|   2 +-
 .../state/TabletServerState.java   |   2 +-
 .../state/TabletStateChangeIterator.java   |   2 +-
 .../state/TabletStateStore.java|   2 +-
 .../state/ZooTabletStateStore.java |   2 +-
 .../server/master/balancer/TableLoadBalancer.java  |   2 +-
 .../server/master/recovery/HadoopLogCloser.java|  63 +
 .../tables/IllegalTableTransitionException.java|   2 +-
 .../accumulo/server/tables/TableManager.java   |   2 +-
 .../accumulo/server/tables/TableObserver.java  |   2 +-
 .../accumulo/server/util/FindOfflineTablets.java   |  10 +-
 .../{master => manager}/LiveTServerSetTest.java|   8 +-
 .../{master => manager}/state/MergeInfoTest.java   |   2 +-
 .../state/RootTabletStateStoreTest.java|   2 +-
 .../state/TabletLocationStateTest.java |   2 +-
 .../IllegalTableTransitionExceptionTest.java   |   2 +-
 .../accumulo/gc/GarbageCollectWriteAheadLogs.java  |   4 +-
 .../apache/accumulo/gc/SimpleGarbageCollector.java |   4 +-
 .../gc/GarbageCollectWriteAheadLogsTest.java   |   2 +-
 .../{master => manager}/EventCoordinator.java  |   2 +-
 .../{master => manager}/FateServiceHandler.java|  48 ++--
 .../{master => manager}/ManagerExecutable.java |   2 +-
 .../accumulo/{master => manager}/Master.java   |  36 +--
 .../MasterClientServiceHandler.java|   8 +-
 .../{master => manager}/MasterExecutable.java  |   2 +-
 .../accumulo/{master => manager}/MasterTime.java   |   2 +-
 .../{master => manager}/TabletGroupWatcher.java|  26 +-
 .../{master => manager}/metrics/MasterMetrics.java |   2 +-
 .../metrics/MasterMetricsFactory.java  |   6 +-
 .../metrics/ReplicationMetrics.java|   6 +-
 .../metrics/fate/FateMetricValues.java |   2 +-
 .../metrics/fate/FateMetrics.java  |   4 +-
 .../recovery/RecoveryManager.java  |  10 +-
 .../DistributedWorkQueueWorkAssigner.java  |   2 +-
 .../replication/FinishedWorkUpdater.java   |   2 +-
 .../replication/MasterReplicationCoordinator.java  |   4 +-
 .../RemoveCompleteReplicationRecords.java

[accumulo] branch main updated (dd0dfd8 -> 95a8df1)

2021-02-04 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


from dd0dfd8  re #1086: modify ZooLock to use the native zookeeper client 
(#1896)
 add 95a8df1  Add TabletBalancer to SPI package (#1891)

No new revisions were added by this update.

Summary of changes:
 .../core/client/MutationsRejectedException.java|   4 +-
 .../accumulo/core/client/PluginEnvironment.java|  12 +-
 .../core/client/mapred/AccumuloOutputFormat.java   |   2 +-
 .../client/mapreduce/AccumuloOutputFormat.java |   2 +-
 .../org/apache/accumulo/core/conf/Property.java|   6 +-
 .../org/apache/accumulo/core/data/TabletId.java|   9 +
 .../apache/accumulo/core/dataImpl/KeyExtent.java   |  15 +
 .../accumulo/core/dataImpl/TabletIdImpl.java   |  14 +-
 .../manager/balancer/AssignmentParamsImpl.java | 114 +
 .../core/manager/balancer/BalanceParamsImpl.java   | 103 
 .../core/manager/balancer/TServerStatusImpl.java   | 151 ++
 .../core/manager/balancer/TableStatisticsImpl.java | 112 +
 .../core/manager/balancer/TabletServerIdImpl.java  |  99 
 .../manager/balancer/TabletStatisticsImpl.java |  87 
 .../core/spi/balancer/BalancerEnvironment.java |  90 
 .../accumulo/core/spi}/balancer/GroupBalancer.java | 159 +++
 .../spi}/balancer/HostRegexTableLoadBalancer.java  | 259 +-
 .../core/spi}/balancer/RegexGroupBalancer.java |  49 +-
 .../core/spi/balancer/SimpleLoadBalancer.java  | 178 ---
 .../core/spi}/balancer/TableLoadBalancer.java  |  97 ++--
 .../accumulo/core/spi/balancer/TabletBalancer.java | 122 +
 .../data/TServerStatus.java}   |  34 +-
 .../data/TableStatistics.java} |  26 +-
 .../core/spi/balancer/data/TabletMigration.java|  74 +++
 .../data/TabletServerId.java}  |  10 +-
 .../data/TabletStatistics.java}|  18 +-
 .../util/ThrottledBalancerProblemReporter.java | 113 +
 .../core/spi/common/ServiceEnvironment.java|   4 +-
 .../accumulo/core/util/ConfigurationImpl.java  |  12 +
 .../BaseHostRegexTableLoadBalancerTest.java| 273 +++
 .../core/spi}/balancer/GroupBalancerTest.java  | 116 +++--
 ...tRegexTableLoadBalancerReconfigurationTest.java | 145 ++
 .../balancer/HostRegexTableLoadBalancerTest.java   | 528 +
 .../core/spi/balancer/SimpleLoadBalancerTest.java  | 296 
 .../core/spi/balancer/TableLoadBalancerTest.java   | 169 +++
 .../hadoopImpl/mapred/AccumuloRecordWriter.java|   2 +-
 .../hadoopImpl/mapreduce/AccumuloRecordWriter.java |   2 +-
 .../accumulo/server/ServiceEnvironmentImpl.java|   4 +
 .../manager/balancer/BalancerEnvironmentImpl.java  | 112 +
 .../master/balancer/DefaultLoadBalancer.java   |   4 +
 .../server/master/balancer/GroupBalancer.java  |   3 +
 .../balancer/HostRegexTableLoadBalancer.java   |   3 +
 .../server/master/balancer/RegexGroupBalancer.java |   4 +
 .../server/master/balancer/TableLoadBalancer.java  |   5 +
 .../server/master/balancer/TabletBalancer.java |  36 +-
 .../server/master/state/TabletMigration.java   |   4 +
 .../BaseHostRegexTableLoadBalancerTest.java|   1 +
 .../master/balancer/ChaoticLoadBalancerTest.java   | 170 ---
 .../master/balancer/DefaultLoadBalancerTest.java   |   1 +
 .../server/master/balancer/GroupBalancerTest.java  |   1 +
 ...tRegexTableLoadBalancerReconfigurationTest.java |   1 +
 .../balancer/HostRegexTableLoadBalancerTest.java   |   1 +
 .../master/balancer/TableLoadBalancerTest.java |   1 +
 .../java/org/apache/accumulo/master/Master.java|  99 +++-
 .../master/MasterClientServiceHandler.java |  13 +-
 .../apache/accumulo/master/TabletGroupWatcher.java |   2 +-
 .../apache/accumulo/test}/ChaoticLoadBalancer.java | 112 +++--
 .../BalanceInPresenceOfOfflineTableIT.java |   8 +-
 .../test/functional/ChaoticBalancerIT.java |   2 +-
 .../test/functional/RegexGroupBalanceIT.java   |   2 +-
 .../accumulo/test/ChaoticLoadBalancerTest.java | 173 +++
 61 files changed, 3541 insertions(+), 727 deletions(-)
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/manager/balancer/AssignmentParamsImpl.java
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/manager/balancer/BalanceParamsImpl.java
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/manager/balancer/TServerStatusImpl.java
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/manager/balancer/TableStatisticsImpl.java
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/manager/balancer/TabletServerIdImpl.java
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/manager/balancer/TabletStatisticsImpl.java
 create mode 100644 
core/src/main/java/org/apache/accumulo/core/spi/balancer

[accumulo] branch main updated: Deprecate/replace 'master.*' properties with 'manager.*'. (fixes #1640) (#1873)

2021-01-26 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

brianloss 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 300c933  Deprecate/replace 'master.*' properties with 'manager.*'. 
(fixes #1640) (#1873)
300c933 is described below

commit 300c933baa5800fd3bdcee2793dd416aeb26a9e6
Author: Brian Loss 
AuthorDate: Tue Jan 26 08:40:13 2021 -0500

Deprecate/replace 'master.*' properties with 'manager.*'. (fixes #1640) 
(#1873)

This change fixes #1640 by updating the 'master.*' properties to
'manager.*' while allowing the user to continue to use the deprecated
'master.*' names in the site configuration and in zookeeper (system
properties only--not table or namespace properties). The user is warned
about usages of the deprecated properties.

* Mark Property.MASTER_PREFIX as deprecated and update its description
  (which is used in generated documentation) to indicate that users
  should switch to the replacement 'manager.*' properties instead.
  This is a tradeoff vs leaving all of the Property.MASTER_* properties
  there and deprecated. This would lead to a huge list of properties in
  the generated documentation and in the end that would make the docs
  less readable.
* Add Property.MANAGER_PREFIX and rename all other Property.MASTER_*
  properties to Property.MANAGER_*.
* Introduce DeprecatedPropertyUtil to have a central place for
  determining the replacement name to use for a deprecated property.
* When system properties are set or removed in zookeeper (either via
  the 'config' shell command or the API) rename 'master.*' properties
  to 'manager.*' before executing the command. In this case, a warning
  is emitted on both the client and server side indicating that the
  replacement property was used instead and the user should switch to
  using the new names.
* Rename all 'master.*' properties to 'manager.*' when the site
  configuration is read. A warning is emitted when deprecated property
  names are found in the site configuration. If both deprecated and
  replacement names are found in the site configuration, then an
  exception is thrown to fail the current process.
* Upon Accumulo upgrade (the 9 to 10 upgrade), rename in zookeeper all
  system properties with 'master.*' to 'manager.*'

Co-authored-by: Christopher Tubbs 
---
 .../core/clientImpl/InstanceOperationsImpl.java|  16 ++-
 .../accumulo/core/conf/DeprecatedPropertyUtil.java | 118 +
 .../org/apache/accumulo/core/conf/Property.java|  85 ---
 .../accumulo/core/conf/SiteConfiguration.java  |  11 +-
 .../accumulo/core/util/threads/ThreadPools.java|  10 +-
 .../main/java/org/apache/accumulo/fate/Fate.java   |   4 +-
 .../accumulo/core/conf/ConfigSanityCheckTest.java  |  16 +--
 .../core/conf/DefaultConfigurationTest.java|   8 +-
 .../core/conf/DeprecatedPropertyUtilTest.java  | 100 +
 .../miniclusterImpl/MiniAccumuloConfigImpl.java|   4 +-
 .../minicluster/MiniAccumuloClusterTest.java   |   2 +-
 .../server/master/recovery/HadoopLogCloser.java|   2 +-
 .../accumulo/server/util/SystemPropUtil.java   |  18 
 .../server/conf/ZooCachePropertyAccessorTest.java  |   2 +-
 .../accumulo/server/util/TServerUtilsTest.java |   4 +-
 .../java/org/apache/accumulo/master/Master.java|  30 +++---
 .../master/MasterClientServiceHandler.java |  11 +-
 .../master/metrics/MasterMetricsFactory.java   |   4 +-
 .../accumulo/master/recovery/RecoveryManager.java  |   5 +-
 .../master/replication/ReplicationDriver.java  |   2 +-
 .../master/tableOps/bulkVer1/BulkImport.java   |   4 +-
 .../master/tableOps/bulkVer1/LoadFiles.java|  10 +-
 .../master/tableOps/bulkVer2/BulkImportMove.java   |   2 +-
 .../master/tableOps/bulkVer2/LoadFiles.java|   2 +-
 .../tableOps/tableImport/MoveExportedFiles.java|   2 +-
 .../accumulo/master/upgrade/Upgrader9to10.java |  26 +
 .../accumulo/tserver/UnloadTabletHandler.java  |   2 +-
 .../accumulo/test/DeprecatedPropertyUtilIT.java| 104 ++
 .../test/MasterRepairsDualAssignmentIT.java|   2 +-
 .../test/MissingWalHeaderCompletesRecoveryIT.java  |   2 +-
 .../ThriftServerBindsBeforeZooKeeperLockIT.java|   2 +-
 .../test/functional/ManyWriteAheadLogsIT.java  |   2 +-
 .../accumulo/test/functional/MasterMetricsIT.java  |   4 +-
 .../accumulo/test/functional/RestartStressIT.java  |   2 +-
 .../accumulo/test/functional/WriteAheadLogIT.java  |   2 +-
 .../test/replication/CyclicReplicationIT.java  |   4 +-
 ...GarbageCollectorCommunicatesWithTServersIT.java |   2 +-
 .../test/replication/KerberosReplicationIT.java|   2 +-
 .../replication/MultiInstanceReplicationIT.java|   2

[accumulo] branch main updated (9f549b2 -> bdcab44)

2021-01-13 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


from 9f549b2  Merge remote-tracking branch 'upstream/1.10' into main
 add 0187567  Re-throw exception from LoggingRunnable (re #1808)
 new bdcab44  Merge branch '1.10' 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:
 .../apache/accumulo/fate/util/LoggingRunnable.java | 36 --
 1 file changed, 26 insertions(+), 10 deletions(-)



[accumulo] 01/01: Merge branch '1.10' into main

2021-01-13 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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

commit bdcab448b5c4fb44118197615fe2e231816da01c
Merge: 9f549b2 0187567
Author: Brian Loss 
AuthorDate: Wed Jan 13 11:34:09 2021 -0500

Merge branch '1.10' into main

 .../apache/accumulo/fate/util/LoggingRunnable.java | 36 --
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --cc core/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
index aafe45d,000..dfe1bf5
mode 100644,00..100644
--- a/core/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
+++ b/core/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
@@@ -1,56 -1,0 +1,72 @@@
 +/*
 + * Licensed to the Apache Software Foundation (ASF) under one
 + * or more contributor license agreements.  See the NOTICE file
 + * distributed with this work for additional information
 + * regarding copyright ownership.  The ASF licenses this file
 + * to you under the Apache License, Version 2.0 (the
 + * "License"); you may not use this file except in compliance
 + * with the License.  You may obtain a copy of the License at
 + *
 + *   http://www.apache.org/licenses/LICENSE-2.0
 + *
 + * Unless required by applicable law or agreed to in writing,
 + * software distributed under the License is distributed on an
 + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 + * KIND, either express or implied.  See the License for the
 + * specific language governing permissions and limitations
 + * under the License.
 + */
 +package org.apache.accumulo.fate.util;
 +
 +import java.util.Date;
 +
 +import org.slf4j.Logger;
 +
 +public class LoggingRunnable implements Runnable {
 +  private Runnable runnable;
 +  private Logger log;
 +
 +  public LoggingRunnable(Logger log, Runnable r) {
 +this.runnable = r;
 +this.log = log;
 +  }
 +
 +  @Override
 +  public void run() {
 +try {
 +  runnable.run();
 +} catch (Throwable t) {
++  boolean errorOnRun = (t instanceof Error);
 +  try {
 +log.error("Thread \"{}\" died {}", Thread.currentThread().getName(), 
t.getMessage(), t);
 +  } catch (Throwable t2) {
- // maybe the logging system is screwed up OR there is a bug in the 
exception, like
- // t.getMessage() throws a NPE
- System.err.println(
- "ERROR " + new Date() + " Failed to log message about thread 
death " + t2.getMessage());
- t2.printStackTrace();
- 
- // try to print original exception
- System.err
- .println("ERROR " + new Date() + " Exception that failed to log : 
" + t.getMessage());
- t.printStackTrace();
++boolean errorOnLog = (t2 instanceof Error);
++try {
++  // maybe the logging system is screwed up OR there is a bug in the 
exception, like
++  // t.getMessage() throws a NPE
++  System.err.println("ERROR " + new Date() + " Failed to log message 
about thread death "
++  + t2.getMessage());
++  t2.printStackTrace();
++
++  // try to print original exception
++  System.err
++  .println("ERROR " + new Date() + " Exception that failed to log 
: " + t.getMessage());
++  t.printStackTrace();
++} catch (Throwable t3) {
++  // If printing to System.err didn't work then don't try to log that 
exception but do
++  // re-throw it if it's the most serious failure we've seen so far.
++  boolean errorOnPrint = (t3 instanceof Error);
++  if (errorOnPrint && !errorOnLog && !errorOnRun)
++throw t3;
++}
++
++// If we got a more serious failure when attempting to log the 
message,
++// then throw that instead of the original exception.
++if (errorOnLog && !errorOnRun)
++  throw t2;
 +  }
++  throw t;
 +}
 +  }
 +
 +}



[accumulo] branch 1.10 updated: Re-throw exception from LoggingRunnable (re #1808)

2021-01-13 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/1.10 by this push:
 new 0187567  Re-throw exception from LoggingRunnable (re #1808)
0187567 is described below

commit 018756754ff0f289a8b30f846af8b7092270318d
Author: Brian Loss 
AuthorDate: Tue Jan 12 10:20:17 2021 -0500

Re-throw exception from LoggingRunnable (re #1808)

* Re-throw the caught Throwable unless we received a more serious
  Error when attempting to log the original Throwable. In that case
  propagate the more serious error instead.
---
 .../apache/accumulo/fate/util/LoggingRunnable.java | 36 --
 1 file changed, 26 insertions(+), 10 deletions(-)

diff --git 
a/fate/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java 
b/fate/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
index d9a6f5e..bff18f3 100644
--- a/fate/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
+++ b/fate/src/main/java/org/apache/accumulo/fate/util/LoggingRunnable.java
@@ -34,20 +34,36 @@ public class LoggingRunnable implements Runnable {
 try {
   runnable.run();
 } catch (Throwable t) {
+  boolean errorOnRun = (t instanceof Error);
   try {
 log.error("Thread \"{}\" died {}", Thread.currentThread().getName(), 
t.getMessage(), t);
   } catch (Throwable t2) {
-// maybe the logging system is screwed up OR there is a bug in the 
exception, like
-// t.getMessage() throws a NPE
-System.err.println(
-"ERROR " + new Date() + " Failed to log message about thread death 
" + t2.getMessage());
-t2.printStackTrace();
-
-// try to print original exception
-System.err
-.println("ERROR " + new Date() + " Exception that failed to log : 
" + t.getMessage());
-t.printStackTrace();
+boolean errorOnLog = (t2 instanceof Error);
+try {
+  // maybe the logging system is screwed up OR there is a bug in the 
exception, like
+  // t.getMessage() throws a NPE
+  System.err.println("ERROR " + new Date() + " Failed to log message 
about thread death "
+  + t2.getMessage());
+  t2.printStackTrace();
+
+  // try to print original exception
+  System.err
+  .println("ERROR " + new Date() + " Exception that failed to log 
: " + t.getMessage());
+  t.printStackTrace();
+} catch (Throwable t3) {
+  // If printing to System.err didn't work then don't try to log that 
exception but do
+  // re-throw it if it's the most serious failure we've seen so far.
+  boolean errorOnPrint = (t3 instanceof Error);
+  if (errorOnPrint && !errorOnLog && !errorOnRun)
+throw t3;
+}
+
+// If we got a more serious failure when attempting to log the message,
+// then throw that instead of the original exception.
+if (errorOnLog && !errorOnRun)
+  throw t2;
   }
+  throw t;
 }
   }
 



[accumulo] branch main updated (0f7b66d -> 7e98989)

2021-01-11 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


from 0f7b66d  Merge branch '1.10' into main
 add 7e98989  Use long instead of int for monitor scan rate (fixes #1858)

No new revisions were added by this update.

Summary of changes:
 LICENSE|6 +-
 assemble/src/main/resources/LICENSE|6 +-
 .../src/main/appended-resources/META-INF/LICENSE   |6 +-
 .../java/org/apache/accumulo/monitor/Monitor.java  |   12 +-
 .../rest/statistics/StatisticsResource.java|   12 +-
 .../accumulo/monitor/resources/css/screen.css  |6 +
 .../monitor/resources/external/flot/excanvas.js| 1428 
 .../external/flot/jquery.canvaswrapper.js  |  549 +++
 .../resources/external/flot/jquery.colorhelpers.js |  165 +-
 .../external/flot/jquery.flot.axislabels.js|  212 ++
 .../resources/external/flot/jquery.flot.browser.js |   98 +
 .../resources/external/flot/jquery.flot.canvas.js  |  345 --
 .../external/flot/jquery.flot.categories.js|   94 +-
 .../external/flot/jquery.flot.composeImages.js |  330 ++
 .../external/flot/jquery.flot.crosshair.js |  106 +-
 .../external/flot/jquery.flot.drawSeries.js|  662 
 .../external/flot/jquery.flot.errorbars.js |  234 +-
 .../external/flot/jquery.flot.fillbetween.js   |  426 +--
 .../external/flot/jquery.flot.flatdata.js  |   47 +
 .../resources/external/flot/jquery.flot.hover.js   |  359 ++
 .../resources/external/flot/jquery.flot.image.js   |   92 +-
 .../monitor/resources/external/flot/jquery.flot.js | 3508 +---
 .../resources/external/flot/jquery.flot.legend.js  |  437 +++
 .../resources/external/flot/jquery.flot.logaxis.js |  298 ++
 .../external/flot/jquery.flot.navigate.js  |  856 -
 .../resources/external/flot/jquery.flot.pie.js | 1566 +
 .../resources/external/flot/jquery.flot.resize.js  |   13 +-
 .../external/flot/jquery.flot.saturated.js |   43 +
 .../external/flot/jquery.flot.selection.js |  331 +-
 .../resources/external/flot/jquery.flot.stack.js   |  140 +-
 .../resources/external/flot/jquery.flot.symbol.js  |  123 +-
 .../external/flot/jquery.flot.threshold.js |   83 +-
 .../resources/external/flot/jquery.flot.time.js|  997 +++---
 .../resources/external/flot/jquery.flot.touch.js   |  320 ++
 .../external/flot/jquery.flot.touchNavigate.js |  360 ++
 .../external/flot/jquery.flot.uiConstants.js   |   10 +
 .../accumulo/monitor/resources/js/overview.js  |   38 +-
 .../apache/accumulo/monitor/templates/default.ftl  |7 +
 38 files changed, 8458 insertions(+), 5867 deletions(-)
 delete mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/excanvas.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.canvaswrapper.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.axislabels.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.browser.js
 delete mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.canvas.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.composeImages.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.drawSeries.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.flatdata.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.hover.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.legend.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.logaxis.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.saturated.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.touch.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.touchNavigate.js
 create mode 100644 
server/monitor/src/main/resources/org/apache/accumulo/monitor/resources/external/flot/jquery.flot.uiConstants.js



[accumulo] branch main updated (81e36d0 -> 0f7b66d)

2021-01-07 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


from 81e36d0  Remove error message on recovery success (#1856)
 add 7ad161e  Use long instead of int for monitor scan rate (#1858)
 add e6bba1c  Merge pull request #1860 from brianloss/1.10
 new 0f7b66d  Merge branch '1.10' 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] 01/01: Merge branch '1.10' into main

2021-01-07 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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

commit 0f7b66dcf9391ed49c4b79d85227d1c0771b6ff1
Merge: 81e36d0 e6bba1c
Author: Brian Loss 
AuthorDate: Thu Jan 7 16:51:14 2021 -0500

Merge branch '1.10' into main




[accumulo] branch 1.10 updated: Use long instead of int for monitor scan rate (#1858)

2021-01-07 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/1.10 by this push:
 new 7ad161e  Use long instead of int for monitor scan rate (#1858)
 new e6bba1c  Merge pull request #1860 from brianloss/1.10
7ad161e is described below

commit 7ad161ed29bc7d15f40785eb7b4e6c668adc9d5d
Author: Brian Loss 
AuthorDate: Thu Jan 7 11:27:04 2021 -0500

Use long instead of int for monitor scan rate (#1858)
---
 .../main/java/org/apache/accumulo/monitor/Monitor.java   | 16 
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git 
a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java 
b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
index 9d079c5..f33a451 100644
--- a/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
+++ b/server/monitor/src/main/java/org/apache/accumulo/monitor/Monitor.java
@@ -154,10 +154,10 @@ public class Monitor {
   Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
   private static final List> lookupsOverTime =
   Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
-  private static final List> queryRateOverTime =
-  Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
-  private static final List> scanRateOverTime =
-  Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
+  private static final List> queryRateOverTime =
+  Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
+  private static final List> scanRateOverTime =
+  Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
   private static final List> queryByteRateOverTime =
   Collections.synchronizedList(new MaxList(MAX_TIME_PERIOD));
   private static final List> indexCacheHitRateOverTime =
@@ -381,10 +381,10 @@ public class Monitor {
 
 lookupsOverTime.add(new Pair<>(currentTime, 
lookupRateTracker.calculateRate()));
 
-queryRateOverTime.add(new Pair<>(currentTime, (int) totalQueryRate));
+queryRateOverTime.add(new Pair<>(currentTime, (long) totalQueryRate));
 queryByteRateOverTime.add(new Pair<>(currentTime, totalQueryByteRate));
 
-scanRateOverTime.add(new Pair<>(currentTime, (int) totalScanRate));
+scanRateOverTime.add(new Pair<>(currentTime, (long) totalScanRate));
 
 calcCacheHitRate(indexCacheHitRateOverTime, currentTime, 
indexCacheHitTracker,
 indexCacheRequestTracker);
@@ -839,13 +839,13 @@ public class Monitor {
 return lookupRateTracker.calculateRate();
   }
 
-  public static List> getQueryRateOverTime() {
+  public static List> getQueryRateOverTime() {
 synchronized (queryRateOverTime) {
   return new ArrayList<>(queryRateOverTime);
 }
   }
 
-  public static List> getScanRateOverTime() {
+  public static List> getScanRateOverTime() {
 synchronized (scanRateOverTime) {
   return new ArrayList<>(scanRateOverTime);
 }



[accumulo-website] branch asf-site updated (4925ee1 -> fab3691)

2020-05-19 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


from 4925ee1  Automatic Site Publish by Buildbot
 add fab3691  Automatic Site Publish by Buildbot

No new revisions were added by this update.

Summary of changes:
 output/feed.xml  | 4 ++--
 output/people/index.html | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)



[accumulo-website] branch master updated: Update user homepage and company for Brian Loss.

2020-05-19 Thread brianloss
This is an automated email from the ASF dual-hosted git repository.

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


The following commit(s) were added to refs/heads/master by this push:
 new 17ff4f4  Update user homepage and company for Brian Loss.
 new 3c5ef7c  Merge pull request #230 from brianloss/update-company-info
17ff4f4 is described below

commit 17ff4f46a610b4e0e530682846be81057fa7c12e
Author: Brian Loss 
AuthorDate: Sun Apr 19 10:44:36 2020 -0400

Update user homepage and company for Brian Loss.
---
 pages/people.md | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pages/people.md b/pages/people.md
index ee7f675..3a454d3 100644
--- a/pages/people.md
+++ b/pages/people.md
@@ -17,7 +17,7 @@ permalink: /people/
 | bhavanki  | Bill Havanki  | 
[Cloudera][CLOUDERA]   | [ET][ET] |
 | billie| Billie Rinaldi| 
[Microsoft][MICROSOFT] | [ET][ET] |
 | bimargulies   | Benson Margulies  | [Basis 
Technology Corp.][BASISTECH]| [ET][ET] |
-| brianloss | Brian Loss| [Praxis 
Engineering][PRAXIS]   | [ET][ET] |
+| brianloss | [Brian Loss](https://github.com/brianloss)| 
[Microsoft][MICROSOFT] | [ET][ET] |
 | busbey| Sean Busbey   | 
[Cloudera][CLOUDERA]   | [CT][CT] |
 | cawaring  | Chris Waring  |  
  |  |
 | cjnolet   | Corey J. Nolet| [Tetra 
Concepts LLC][TETRA]| [ET][ET] |



svn commit: r850028 - in /websites/production/accumulo/content: ./ 1.4/apidocs/

2013-02-09 Thread brianloss
Author: brianloss
Date: Sat Feb  9 15:47:22 2013
New Revision: 850028

Log:
Moved Brian Loss to committers section.

Added:
websites/production/accumulo/content/
  - copied from r850027, websites/staging/accumulo/trunk/content/
websites/production/accumulo/content/1.4/apidocs/
  - copied from r850027, websites/production/accumulo/content/1.4/apidocs/