This is an automated email from the ASF dual-hosted git repository.

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

commit cacd7a5c745b9271362ca9a200db50d11a426f6d
Merge: 8cd7c59412 19b4c508bf
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Thu Sep 28 21:05:04 2023 -0400

    Merge branch 'main' into elasticity

 .../apache/accumulo/core/lock/ServiceLockData.java |  30 ++----
 .../core/metadata/schema/TabletMetadata.java       |  15 +--
 .../rpc/ProtocolOverridingSSLSocketFactory.java    | 111 ---------------------
 .../accumulo/core/rpc/SslConnectionParams.java     |  20 +---
 .../org/apache/accumulo/core/rpc/ThriftUtil.java   | 108 +-------------------
 .../accumulo/core/rpc/clients/TServerClient.java   |  14 +--
 .../util/compaction/ExternalCompactionUtil.java    |   8 +-
 .../accumulo/core/file/rfile/FencedRFileTest.java  |   3 -
 .../accumulo/core/lock/ServiceLockDataTest.java    |   9 +-
 pom.xml                                            |   5 +-
 .../accumulo/server/AccumuloDataVersion.java       |  16 ++-
 .../accumulo/server/manager/LiveTServerSet.java    |   8 +-
 .../apache/accumulo/server/rpc/TServerUtils.java   |   2 +-
 .../apache/accumulo/server/ServerContextTest.java  |   2 +-
 .../java/org/apache/accumulo/monitor/Monitor.java  |   9 +-
 15 files changed, 58 insertions(+), 302 deletions(-)

diff --cc core/src/main/java/org/apache/accumulo/core/lock/ServiceLockData.java
index 2b0b632781,865c0a9f4c..050c2b4cac
--- a/core/src/main/java/org/apache/accumulo/core/lock/ServiceLockData.java
+++ b/core/src/main/java/org/apache/accumulo/core/lock/ServiceLockData.java
@@@ -148,12 -158,14 +149,9 @@@ public class ServiceLockData implement
          Collections.singleton(new ServiceDescriptor(uuid, service, address, 
group)))));
    }
  
 -  public ServiceLockData(UUID uuid, String address, ThriftService service) {
 -    this(new ServiceDescriptors(
 -        new HashSet<>(Collections.singleton(new ServiceDescriptor(uuid, 
service, address)))));
 -  }
 -
    public String getAddressString(ThriftService service) {
      ServiceDescriptor sd = services.get(service);
-     if (sd == null) {
-       return null;
-     }
-     return sd.getAddress();
+     return sd == null ? null : sd.getAddress();
    }
  
    public HostAndPort getAddress(ThriftService service) {
diff --cc 
core/src/test/java/org/apache/accumulo/core/lock/ServiceLockDataTest.java
index e050dcc492,1abe862d50..a13f1ca444
--- a/core/src/test/java/org/apache/accumulo/core/lock/ServiceLockDataTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/lock/ServiceLockDataTest.java
@@@ -46,10 -44,10 +46,10 @@@ public class ServiceLockDataTest 
      assertEquals(serverUUID, ss.getServerUUID(ThriftService.TSERV));
      assertEquals("127.0.0.1", ss.getAddressString(ThriftService.TSERV));
      assertThrows(IllegalArgumentException.class, () -> 
ss.getAddress(ThriftService.TSERV));
 -    assertEquals(ServiceDescriptor.DEFAULT_GROUP_NAME, 
ss.getGroup(ThriftService.TSERV));
 +    assertEquals(Constants.DEFAULT_RESOURCE_GROUP_NAME, 
ss.getGroup(ThriftService.TSERV));
      assertNull(ss.getServerUUID(ThriftService.TABLET_SCAN));
      assertNull(ss.getAddressString(ThriftService.TABLET_SCAN));
-     assertThrows(NullPointerException.class, () -> 
ss.getAddress(ThriftService.TABLET_SCAN));
+     assertNull(ss.getAddress(ThriftService.TABLET_SCAN));
      assertNull(ss.getGroup(ThriftService.TABLET_SCAN));
    }
  
diff --cc 
server/base/src/main/java/org/apache/accumulo/server/AccumuloDataVersion.java
index 827fa8aa28,7c547dcb4e..b140fe6d62
--- 
a/server/base/src/main/java/org/apache/accumulo/server/AccumuloDataVersion.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/AccumuloDataVersion.java
@@@ -36,10 -36,11 +36,16 @@@ import java.util.Set
   */
  public class AccumuloDataVersion {
  
 +  /**
 +   * version (12) reflects On-Demand tablets starting with 4.0
 +   */
-   public static final int ONDEMAND_TABLETS_FOR_VERSION_4 = 12;
++  public static final int ONDEMAND_TABLETS_FOR_VERSION_4 = 13;
++
+   /**
+    * version (12) reflect changes to support no chop merges including json 
encoding of the file
+    * column family stored in root and metadata tables.
+    */
+   public static final int METADATA_FILE_JSON_ENCODING = 12;
  
    /**
     * version (11) reflects removal of replication starting with 3.0
@@@ -93,10 -101,12 +101,12 @@@
  
    private static String dataVersionToReleaseName(final int version) {
      switch (version) {
 -      case ROOT_TABLET_META_CHANGES:
 -        return "2.1.0";
        case REMOVE_DEPRECATIONS_FOR_VERSION_3:
          return "3.0.0";
+       case METADATA_FILE_JSON_ENCODING:
+         return "3.1.0";
 +      case ONDEMAND_TABLETS_FOR_VERSION_4:
 +        return "4.0.0";
      }
      throw new IllegalArgumentException("Unsupported data version " + version);
    }
diff --cc 
server/base/src/main/java/org/apache/accumulo/server/manager/LiveTServerSet.java
index bc097e2ec5,e932d5c903..018b7eaf89
--- 
a/server/base/src/main/java/org/apache/accumulo/server/manager/LiveTServerSet.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/manager/LiveTServerSet.java
@@@ -293,27 -315,20 +293,27 @@@ public class LiveTServerSet implements 
        }
      } else {
        locklessServers.remove(zPath);
-       HostAndPort client = 
sld.orElseThrow().getAddress(ServiceLockData.ThriftService.TSERV);
++      HostAndPort address = 
sld.orElseThrow().getAddress(ServiceLockData.ThriftService.TSERV);
 +      String resourceGroup = 
sld.orElseThrow().getGroup(ServiceLockData.ThriftService.TSERV);
-       TServerInstance instance = new TServerInstance(client, 
stat.getEphemeralOwner());
+       TServerInstance instance = new TServerInstance(address, 
stat.getEphemeralOwner());
  
        if (info == null) {
          updates.add(instance);
 -        TServerInfo tServerInfo = new TServerInfo(instance, new 
TServerConnection(address));
 +        TServerInfo tServerInfo =
-             new TServerInfo(instance, new TServerConnection(client), 
resourceGroup);
++            new TServerInfo(instance, new TServerConnection(address), 
resourceGroup);
          current.put(zPath, tServerInfo);
          currentInstances.put(instance, tServerInfo);
 +        currentGroups.computeIfAbsent(resourceGroup, rg -> new 
HashSet<>()).add(instance);
        } else if (!info.instance.equals(instance)) {
          doomed.add(info.instance);
          updates.add(instance);
 -        TServerInfo tServerInfo = new TServerInfo(instance, new 
TServerConnection(address));
 +        TServerInfo tServerInfo =
-             new TServerInfo(instance, new TServerConnection(client), 
resourceGroup);
++            new TServerInfo(instance, new TServerConnection(address), 
resourceGroup);
          current.put(zPath, tServerInfo);
          currentInstances.remove(info.instance);
 +        currentGroups.getOrDefault(resourceGroup, new 
HashSet<>()).remove(instance);
          currentInstances.put(instance, tServerInfo);
 +        currentGroups.computeIfAbsent(resourceGroup, rg -> new 
HashSet<>()).add(instance);
        }
      }
    }
diff --cc 
server/base/src/test/java/org/apache/accumulo/server/ServerContextTest.java
index cfd02bca14,fbce43443d..6823c62b51
--- 
a/server/base/src/test/java/org/apache/accumulo/server/ServerContextTest.java
+++ 
b/server/base/src/test/java/org/apache/accumulo/server/ServerContextTest.java
@@@ -135,7 -135,10 +135,7 @@@ public class ServerContextTest 
      // ensure this fails with older versions; the oldest supported version is 
hard-coded here
      // to ensure we don't unintentionally break upgrade support; changing 
this should be a conscious
      // decision and this check will ensure we don't overlook it
-     final int oldestSupported = 
AccumuloDataVersion.REMOVE_DEPRECATIONS_FOR_VERSION_3;
 -
 -    // TODO basically disable check until upgrade to 3.1 is supported. Should 
be:
 -    // final int oldestSupported = 
AccumuloDataVersion.ROOT_TABLET_META_CHANGES;
+     final int oldestSupported = 
AccumuloDataVersion.METADATA_FILE_JSON_ENCODING;
      final int currentVersion = AccumuloDataVersion.get();
      IntConsumer shouldPass = ServerContext::ensureDataVersionCompatible;
      IntConsumer shouldFail = v -> assertThrows(IllegalStateException.class,

Reply via email to