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

kturner 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 1409bc0fdd Performs some minor cleanup of TabletLocator (#3271)
1409bc0fdd is described below

commit 1409bc0fdd8fa9b262d8de5a388af99ef5deb61e
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Mon Apr 3 09:44:55 2023 -0400

    Performs some minor cleanup of TabletLocator (#3271)
    
    This commit has no changes in functionality, it only contains some
    minor code cleanup of the TabletLocator code.
    
    The following changes were made.
    
     * Encapsulated fields in TabletLocation class
     * Replaced a Callable interface with a Supplier interface to avoid the 
uneeded exception thrown by Callable
     * Removed an uneeded compareTo method from TabletLocation class
---
 .../core/clientImpl/RootTabletLocator.java         |  6 +-
 .../core/clientImpl/SyncingTabletLocator.java      | 20 ++-----
 .../core/clientImpl/TableOperationsImpl.java       | 14 ++---
 .../accumulo/core/clientImpl/TabletLocator.java    | 44 +++++++--------
 .../core/clientImpl/TabletLocatorImpl.java         | 65 +++++++++++-----------
 .../accumulo/core/clientImpl/ThriftScanner.java    | 59 ++++++++++----------
 .../apache/accumulo/core/clientImpl/Writer.java    | 10 ++--
 .../core/metadata/MetadataLocationObtainer.java    | 20 +++----
 .../core/clientImpl/TabletLocatorImplTest.java     | 18 +++---
 .../accumulo/server/client/BulkImporter.java       | 14 ++---
 .../accumulo/server/client/BulkImporterTest.java   | 19 ++++---
 .../accumulo/test/functional/BulkFailureIT.java    |  2 +-
 .../accumulo/test/manager/SuspendedTabletsIT.java  |  4 +-
 13 files changed, 144 insertions(+), 151 deletions(-)

diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/RootTabletLocator.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/RootTabletLocator.java
index a7609c9ba3..a24a236998 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/RootTabletLocator.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/RootTabletLocator.java
@@ -56,11 +56,11 @@ public class RootTabletLocator extends TabletLocator {
       Map<String,TabletServerMutations<T>> binnedMutations, List<T> failures) {
     TabletLocation rootTabletLocation = getRootTabletLocation(context);
     if (rootTabletLocation != null) {
-      TabletServerMutations<T> tsm = new 
TabletServerMutations<>(rootTabletLocation.tablet_session);
+      var tsm = new 
TabletServerMutations<T>(rootTabletLocation.getTserverSession());
       for (T mutation : mutations) {
         tsm.addMutation(RootTable.EXTENT, mutation);
       }
-      binnedMutations.put(rootTabletLocation.tablet_location, tsm);
+      binnedMutations.put(rootTabletLocation.getTserverLocation(), tsm);
     } else {
       failures.addAll(mutations);
     }
@@ -73,7 +73,7 @@ public class RootTabletLocator extends TabletLocator {
     TabletLocation rootTabletLocation = getRootTabletLocation(context);
     if (rootTabletLocation != null) {
       for (Range range : ranges) {
-        TabletLocatorImpl.addRange(binnedRanges, 
rootTabletLocation.tablet_location,
+        TabletLocatorImpl.addRange(binnedRanges, 
rootTabletLocation.getTserverLocation(),
             RootTable.EXTENT, range);
       }
       return Collections.emptyList();
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/SyncingTabletLocator.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/SyncingTabletLocator.java
index 8f6daed955..ff9a75cf3f 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/SyncingTabletLocator.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/SyncingTabletLocator.java
@@ -21,7 +21,7 @@ package org.apache.accumulo.core.clientImpl;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
-import java.util.concurrent.Callable;
+import java.util.function.Supplier;
 
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -43,16 +43,11 @@ public class SyncingTabletLocator extends TabletLocator {
   private static final Logger log = 
LoggerFactory.getLogger(SyncingTabletLocator.class);
 
   private volatile TabletLocator locator;
-  private final Callable<TabletLocator> getLocatorFunction;
+  private final Supplier<TabletLocator> getLocatorFunction;
 
-  public SyncingTabletLocator(Callable<TabletLocator> getLocatorFunction) {
+  public SyncingTabletLocator(Supplier<TabletLocator> getLocatorFunction) {
     this.getLocatorFunction = getLocatorFunction;
-    try {
-      this.locator = getLocatorFunction.call();
-    } catch (Exception e) {
-      log.error("Problem obtaining TabletLocator", e);
-      throw new RuntimeException(e);
-    }
+    this.locator = getLocatorFunction.get();
   }
 
   public SyncingTabletLocator(final ClientContext context, final TableId 
tableId) {
@@ -64,12 +59,7 @@ public class SyncingTabletLocator extends TabletLocator {
     if (!loc.isValid()) {
       synchronized (this) {
         if (locator == loc) {
-          try {
-            loc = locator = getLocatorFunction.call();
-          } catch (Exception e) {
-            log.error("Problem obtaining TabletLocator", e);
-            throw new RuntimeException(e);
-          }
+          loc = locator = getLocatorFunction.get();
         }
       }
     }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
index d42bf04493..4cc4d573e2 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TableOperationsImpl.java
@@ -561,7 +561,7 @@ public class TableOperationsImpl extends 
TableOperationsHelper {
           continue;
         }
 
-        HostAndPort address = HostAndPort.fromString(tl.tablet_location);
+        HostAndPort address = HostAndPort.fromString(tl.getTserverLocation());
 
         try {
           TabletManagementClientService.Client client =
@@ -572,15 +572,15 @@ public class TableOperationsImpl extends 
TableOperationsHelper {
 
             if (log.isTraceEnabled()) {
               log.trace("tid={} Splitting tablet {} on {} at {}", 
Thread.currentThread().getId(),
-                  tl.tablet_extent, address, split);
+                  tl.getExtent(), address, split);
               timer = new OpTimer().start();
             }
 
-            client.splitTablet(TraceUtil.traceInfo(), context.rpcCreds(),
-                tl.tablet_extent.toThrift(), TextUtil.getByteBuffer(split));
+            client.splitTablet(TraceUtil.traceInfo(), context.rpcCreds(), 
tl.getExtent().toThrift(),
+                TextUtil.getByteBuffer(split));
 
             // just split it, might as well invalidate it in the cache
-            tabLocator.invalidateCache(tl.tablet_extent);
+            tabLocator.invalidateCache(tl.getExtent());
 
             if (timer != null) {
               timer.stop();
@@ -605,10 +605,10 @@ public class TableOperationsImpl extends 
TableOperationsHelper {
                 + " Seen {} failures.", split, env.tableName, 
locationFailures);
           }
 
-          tabLocator.invalidateCache(tl.tablet_extent);
+          tabLocator.invalidateCache(tl.getExtent());
           continue;
         } catch (TException e) {
-          tabLocator.invalidateCache(context, tl.tablet_location);
+          tabLocator.invalidateCache(context, tl.getTserverLocation());
           continue;
         }
 
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocator.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocator.java
index b8e4c533a3..cf5c452e1f 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocator.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocator.java
@@ -25,6 +25,7 @@ import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
@@ -194,54 +195,53 @@ public abstract class TabletLocator {
     }
   }
 
-  public static class TabletLocation implements Comparable<TabletLocation> {
+  public static class TabletLocation {
     private static final Interner<String> interner = new Interner<>();
 
-    public final KeyExtent tablet_extent;
-    public final String tablet_location;
-    public final String tablet_session;
+    private final KeyExtent tablet_extent;
+    private final String tserverLocation;
+    private final String tserverSession;
 
     public TabletLocation(KeyExtent tablet_extent, String tablet_location, 
String session) {
       checkArgument(tablet_extent != null, "tablet_extent is null");
       checkArgument(tablet_location != null, "tablet_location is null");
       checkArgument(session != null, "session is null");
       this.tablet_extent = tablet_extent;
-      this.tablet_location = interner.intern(tablet_location);
-      this.tablet_session = interner.intern(session);
+      this.tserverLocation = interner.intern(tablet_location);
+      this.tserverSession = interner.intern(session);
     }
 
     @Override
     public boolean equals(Object o) {
       if (o instanceof TabletLocation) {
         TabletLocation otl = (TabletLocation) o;
-        return tablet_extent.equals(otl.tablet_extent)
-            && tablet_location.equals(otl.tablet_location)
-            && tablet_session.equals(otl.tablet_session);
+        return getExtent().equals(otl.getExtent())
+            && getTserverLocation().equals(otl.getTserverLocation())
+            && getTserverSession().equals(otl.getTserverSession());
       }
       return false;
     }
 
     @Override
     public int hashCode() {
-      throw new UnsupportedOperationException(
-          "hashcode is not implemented for class " + this.getClass());
+      return Objects.hash(getExtent(), tserverLocation, tserverSession);
     }
 
     @Override
     public String toString() {
-      return "(" + tablet_extent + "," + tablet_location + "," + 
tablet_session + ")";
+      return "(" + getExtent() + "," + getTserverLocation() + "," + 
getTserverSession() + ")";
     }
 
-    @Override
-    public int compareTo(TabletLocation o) {
-      int result = tablet_extent.compareTo(o.tablet_extent);
-      if (result == 0) {
-        result = tablet_location.compareTo(o.tablet_location);
-        if (result == 0) {
-          result = tablet_session.compareTo(o.tablet_session);
-        }
-      }
-      return result;
+    public KeyExtent getExtent() {
+      return tablet_extent;
+    }
+
+    public String getTserverLocation() {
+      return tserverLocation;
+    }
+
+    public String getTserverSession() {
+      return tserverSession;
     }
   }
 
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocatorImpl.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocatorImpl.java
index cefd459e7c..dafada9132 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocatorImpl.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletLocatorImpl.java
@@ -125,7 +125,7 @@ public class TabletLocatorImpl extends TabletLocator {
         return null;
       }
 
-      Pair<String,String> lock = new Pair<>(tl.tablet_location, 
tl.tablet_session);
+      Pair<String,String> lock = new Pair<>(tl.getTserverLocation(), 
tl.getTserverSession());
 
       if (okLocks.contains(lock)) {
         return tl;
@@ -135,14 +135,14 @@ public class TabletLocatorImpl extends TabletLocator {
         return null;
       }
 
-      if (lockChecker.isLockHeld(tl.tablet_location, tl.tablet_session)) {
+      if (lockChecker.isLockHeld(tl.getTserverLocation(), 
tl.getTserverSession())) {
         okLocks.add(lock);
         return tl;
       }
 
       if (log.isTraceEnabled()) {
-        log.trace("Tablet server {} {} no longer holds its lock", 
tl.tablet_location,
-            tl.tablet_session);
+        log.trace("Tablet server {} {} no longer holds its lock", 
tl.getTserverLocation(),
+            tl.getTserverSession());
       }
 
       invalidLocks.add(lock);
@@ -244,22 +244,22 @@ public class TabletLocatorImpl extends TabletLocator {
   private <T extends Mutation> boolean addMutation(
       Map<String,TabletServerMutations<T>> binnedMutations, T mutation, 
TabletLocation tl,
       LockCheckerSession lcSession) {
-    TabletServerMutations<T> tsm = binnedMutations.get(tl.tablet_location);
+    TabletServerMutations<T> tsm = 
binnedMutations.get(tl.getTserverLocation());
 
     if (tsm == null) {
       // do lock check once per tserver here to make binning faster
       boolean lockHeld = lcSession.checkLock(tl) != null;
       if (lockHeld) {
-        tsm = new TabletServerMutations<>(tl.tablet_session);
-        binnedMutations.put(tl.tablet_location, tsm);
+        tsm = new TabletServerMutations<>(tl.getTserverSession());
+        binnedMutations.put(tl.getTserverLocation(), tsm);
       } else {
         return false;
       }
     }
 
     // its possible the same tserver could be listed with different sessions
-    if (tsm.getSession().equals(tl.tablet_session)) {
-      tsm.addMutation(tl.tablet_extent, mutation);
+    if (tsm.getSession().equals(tl.getTserverSession())) {
+      tsm.addMutation(tl.getExtent(), mutation);
       return true;
     }
 
@@ -269,10 +269,10 @@ public class TabletLocatorImpl extends TabletLocator {
   static boolean isContiguous(List<TabletLocation> tabletLocations) {
 
     Iterator<TabletLocation> iter = tabletLocations.iterator();
-    KeyExtent prevExtent = iter.next().tablet_extent;
+    KeyExtent prevExtent = iter.next().getExtent();
 
     while (iter.hasNext()) {
-      KeyExtent currExtent = iter.next().tablet_extent;
+      KeyExtent currExtent = iter.next().getExtent();
 
       if (!currExtent.isPreviousExtent(prevExtent)) {
         return false;
@@ -323,14 +323,14 @@ public class TabletLocatorImpl extends TabletLocator {
 
       tabletLocations.add(tl);
 
-      while (tl.tablet_extent.endRow() != null
-          && !range.afterEndKey(new 
Key(tl.tablet_extent.endRow()).followingKey(PartialKey.ROW))) {
+      while (tl.getExtent().endRow() != null
+          && !range.afterEndKey(new 
Key(tl.getExtent().endRow()).followingKey(PartialKey.ROW))) {
         if (useCache) {
-          Text row = new Text(tl.tablet_extent.endRow());
+          Text row = new Text(tl.getExtent().endRow());
           row.append(new byte[] {0}, 0, 1);
           tl = lcSession.checkLock(locateTabletInCache(row));
         } else {
-          tl = _locateTablet(context, tl.tablet_extent.endRow(), true, false, 
false, lcSession);
+          tl = _locateTablet(context, tl.getExtent().endRow(), true, false, 
false, lcSession);
         }
 
         if (tl == null) {
@@ -349,7 +349,8 @@ public class TabletLocatorImpl extends TabletLocator {
       // then after that merges and splits happen.
       if (isContiguous(tabletLocations)) {
         for (TabletLocation tl2 : tabletLocations) {
-          TabletLocatorImpl.addRange(binnedRanges, tl2.tablet_location, 
tl2.tablet_extent, range);
+          TabletLocatorImpl.addRange(binnedRanges, tl2.getTserverLocation(), 
tl2.getExtent(),
+              range);
         }
       } else {
         failures.add(range);
@@ -454,8 +455,8 @@ public class TabletLocatorImpl extends TabletLocator {
     wLock.lock();
     try {
       for (TabletLocation cacheEntry : metaCache.values()) {
-        if (cacheEntry.tablet_location.equals(server)) {
-          badExtents.add(cacheEntry.tablet_extent);
+        if (cacheEntry.getTserverLocation().equals(server)) {
+          badExtents.add(cacheEntry.getExtent());
           invalidatedCount++;
         }
       }
@@ -516,7 +517,7 @@ public class TabletLocatorImpl extends TabletLocator {
       if (timer != null) {
         timer.stop();
         log.trace("tid={} Located tablet {} at {} in {}", 
Thread.currentThread().getId(),
-            (tl == null ? "null" : tl.tablet_extent), (tl == null ? "null" : 
tl.tablet_location),
+            (tl == null ? "null" : tl.getExtent()), (tl == null ? "null" : 
tl.getTserverLocation()),
             String.format("%.3f secs", timer.scale(SECONDS)));
       }
 
@@ -538,7 +539,7 @@ public class TabletLocatorImpl extends TabletLocator {
       while (locations != null && locations.getLocations().isEmpty()
           && locations.getLocationless().isEmpty()) {
         // try the next tablet, the current tablet does not have any tablets 
that overlap the row
-        Text er = ptl.tablet_extent.endRow();
+        Text er = ptl.getExtent().endRow();
         if (er != null && er.compareTo(lastTabletRow) < 0) {
           // System.out.println("er "+er+" ltr "+lastTabletRow);
           ptl = parent.locateTablet(context, er, true, retry);
@@ -563,20 +564,20 @@ public class TabletLocatorImpl extends TabletLocator {
       Text lastEndRow = null;
       for (TabletLocation tabletLocation : locations.getLocations()) {
 
-        KeyExtent ke = tabletLocation.tablet_extent;
+        KeyExtent ke = tabletLocation.getExtent();
         TabletLocation locToCache;
 
         // create new location if current prevEndRow == endRow
         if ((lastEndRow != null) && (ke.prevEndRow() != null)
             && ke.prevEndRow().equals(lastEndRow)) {
           locToCache = new TabletLocation(new KeyExtent(ke.tableId(), 
ke.endRow(), lastEndRow),
-              tabletLocation.tablet_location, tabletLocation.tablet_session);
+              tabletLocation.getTserverLocation(), 
tabletLocation.getTserverSession());
         } else {
           locToCache = tabletLocation;
         }
 
         // save endRow for next iteration
-        lastEndRow = locToCache.tablet_extent.endRow();
+        lastEndRow = locToCache.getExtent().endRow();
 
         updateCache(locToCache, lcSession);
       }
@@ -585,20 +586,20 @@ public class TabletLocatorImpl extends TabletLocator {
   }
 
   private void updateCache(TabletLocation tabletLocation, LockCheckerSession 
lcSession) {
-    if (!tabletLocation.tablet_extent.tableId().equals(tableId)) {
+    if (!tabletLocation.getExtent().tableId().equals(tableId)) {
       // sanity check
       throw new IllegalStateException(
-          "Unexpected extent returned " + tableId + "  " + 
tabletLocation.tablet_extent);
+          "Unexpected extent returned " + tableId + "  " + 
tabletLocation.getExtent());
     }
 
-    if (tabletLocation.tablet_location == null) {
+    if (tabletLocation.getTserverLocation() == null) {
       // sanity check
       throw new IllegalStateException(
-          "Cannot add null locations to cache " + tableId + "  " + 
tabletLocation.tablet_extent);
+          "Cannot add null locations to cache " + tableId + "  " + 
tabletLocation.getExtent());
     }
 
     // clear out any overlapping extents in cache
-    removeOverlapping(metaCache, tabletLocation.tablet_extent);
+    removeOverlapping(metaCache, tabletLocation.getExtent());
 
     // do not add to cache unless lock is held
     if (lcSession.checkLock(tabletLocation) == null) {
@@ -606,14 +607,14 @@ public class TabletLocatorImpl extends TabletLocator {
     }
 
     // add it to cache
-    Text er = tabletLocation.tablet_extent.endRow();
+    Text er = tabletLocation.getExtent().endRow();
     if (er == null) {
       er = MAX_TEXT;
     }
     metaCache.put(er, tabletLocation);
 
     if (!badExtents.isEmpty()) {
-      removeOverlapping(badExtents, tabletLocation.tablet_extent);
+      removeOverlapping(badExtents, tabletLocation.getExtent());
     }
   }
 
@@ -631,7 +632,7 @@ public class TabletLocatorImpl extends TabletLocator {
     while (iter.hasNext()) {
       Entry<Text,TabletLocation> entry = iter.next();
 
-      KeyExtent ke = entry.getValue().tablet_extent;
+      KeyExtent ke = entry.getValue().getExtent();
 
       if (stopRemoving(nke, ke)) {
         break;
@@ -663,7 +664,7 @@ public class TabletLocatorImpl extends TabletLocator {
     Entry<Text,TabletLocation> entry = metaCache.ceilingEntry(row);
 
     if (entry != null) {
-      KeyExtent ke = entry.getValue().tablet_extent;
+      KeyExtent ke = entry.getValue().getExtent();
       if (ke.prevEndRow() == null || ke.prevEndRow().compareTo(row) < 0) {
         return entry.getValue();
       }
diff --git 
a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
index 1198924519..663b3748c1 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/ThriftScanner.java
@@ -332,18 +332,18 @@ public class ThriftScanner {
             } else {
               // when a tablet splits we do want to continue scanning the low 
child
               // of the split if we are already passed it
-              Range dataRange = loc.tablet_extent.toDataRange();
+              Range dataRange = loc.getExtent().toDataRange();
 
               if (scanState.range.getStartKey() != null
                   && dataRange.afterEndKey(scanState.range.getStartKey())) {
                 // go to the next tablet
-                scanState.startRow = loc.tablet_extent.endRow();
+                scanState.startRow = loc.getExtent().endRow();
                 scanState.skipStartRow = true;
                 loc = null;
               } else if (scanState.range.getEndKey() != null
                   && dataRange.beforeStartKey(scanState.range.getEndKey())) {
                 // should not happen
-                throw new RuntimeException("Unexpected tablet, extent : " + 
loc.tablet_extent
+                throw new RuntimeException("Unexpected tablet, extent : " + 
loc.getExtent()
                     + "  range : " + scanState.range + " startRow : " + 
scanState.startRow);
               }
             }
@@ -369,7 +369,7 @@ public class ThriftScanner {
         }
 
         Span child2 = TraceUtil.startSpan(ThriftScanner.class, 
"scan::location",
-            Map.of("tserver", loc.tablet_location));
+            Map.of("tserver", loc.getTserverLocation()));
         try (Scope scanLocation = child2.makeCurrent()) {
           results = scan(loc, scanState, context);
         } catch (AccumuloSecurityException e) {
@@ -380,7 +380,7 @@ public class ThriftScanner {
           throw e;
         } catch (TApplicationException tae) {
           TraceUtil.setException(child2, tae, true);
-          throw new 
AccumuloServerException(scanState.getErrorLocation().tablet_location, tae);
+          throw new 
AccumuloServerException(scanState.getErrorLocation().getTserverLocation(), tae);
         } catch (TSampleNotPresentException tsnpe) {
           String message = "Table " + 
context.getPrintableTableInfoFromId(scanState.tableId)
               + " does not have sampling configured or built";
@@ -395,7 +395,7 @@ public class ThriftScanner {
           }
           lastError = error;
 
-          TabletLocator.getLocator(context, 
scanState.tableId).invalidateCache(loc.tablet_extent);
+          TabletLocator.getLocator(context, 
scanState.tableId).invalidateCache(loc.getExtent());
           loc = null;
 
           // no need to try the current scan id somewhere else
@@ -470,7 +470,7 @@ public class ThriftScanner {
           sleepMillis = pause(sleepMillis, maxSleepTime, 
scanState.runOnScanServer);
         } catch (TException e) {
           TabletLocator.getLocator(context, 
scanState.tableId).invalidateCache(context,
-              loc.tablet_location);
+              loc.getTserverLocation());
           error = "Scan failed, thrift error " + e.getClass().getName() + "  " 
+ e.getMessage()
               + " " + scanState.getErrorLocation();
           if (!error.equals(lastError)) {
@@ -522,17 +522,17 @@ public class ThriftScanner {
 
       TabletLocation newLoc;
 
-      var tabletId = new TabletIdImpl(loc.tablet_extent);
+      var tabletId = new TabletIdImpl(loc.getExtent());
 
       if (scanState.scanID != null && scanState.prevLoc != null
-          && scanState.prevLoc.tablet_session.equals("scan_server")
-          && scanState.prevLoc.tablet_extent.equals(loc.tablet_extent)) {
+          && scanState.prevLoc.getTserverSession().equals("scan_server")
+          && scanState.prevLoc.getExtent().equals(loc.getExtent())) {
         // this is the case of continuing a scan on a scan server for the same 
tablet, so lets not
         // call the scan server selector and just go back to the previous scan 
server
         newLoc = scanState.prevLoc;
         log.trace(
             "For tablet {} continuing scan on scan server {} without 
consulting scan server selector, using busyTimeout {}",
-            loc.tablet_extent, newLoc.tablet_location, scanState.busyTimeout);
+            loc.getExtent(), newLoc.getTserverLocation(), 
scanState.busyTimeout);
       } else {
         // obtain a snapshot once and only expose this snapshot to the plugin 
for consistency
         var attempts = scanState.scanAttempts.snapshot();
@@ -564,17 +564,17 @@ public class ThriftScanner {
 
         String scanServer = actions.getScanServer(tabletId);
         if (scanServer != null) {
-          newLoc = new TabletLocation(loc.tablet_extent, scanServer, 
"scan_server");
+          newLoc = new TabletLocation(loc.getExtent(), scanServer, 
"scan_server");
           delay = actions.getDelay();
           scanState.busyTimeout = actions.getBusyTimeout();
           log.trace(
               "For tablet {} scan server selector chose scan_server:{} 
delay:{} busyTimeout:{}",
-              loc.tablet_extent, scanServer, delay, scanState.busyTimeout);
+              loc.getExtent(), scanServer, delay, scanState.busyTimeout);
         } else {
           newLoc = loc;
           delay = actions.getDelay();
           scanState.busyTimeout = Duration.ZERO;
-          log.trace("For tablet {} scan server selector chose tablet_server", 
loc.tablet_extent);
+          log.trace("For tablet {} scan server selector chose tablet_server", 
loc.getExtent());
         }
 
         if (!delay.isZero()) {
@@ -587,7 +587,7 @@ public class ThriftScanner {
         }
       }
 
-      var reporter = 
scanState.scanAttempts.createReporter(newLoc.tablet_location, tabletId);
+      var reporter = 
scanState.scanAttempts.createReporter(newLoc.getTserverLocation(), tabletId);
 
       try {
         return scanRpc(newLoc, scanState, context, 
scanState.busyTimeout.toMillis());
@@ -612,7 +612,7 @@ public class ThriftScanner {
 
     final TInfo tinfo = TraceUtil.traceInfo();
 
-    final HostAndPort parsedLocation = 
HostAndPort.fromString(loc.tablet_location);
+    final HostAndPort parsedLocation = 
HostAndPort.fromString(loc.getTserverLocation());
     TabletScanClientService.Client client =
         ThriftUtil.getClient(ThriftClientTypes.TABLET_SCAN, parsedLocation, 
context);
 
@@ -627,23 +627,24 @@ public class ThriftScanner {
       scanState.prevLoc = loc;
 
       if (scanState.scanID == null) {
-        Thread.currentThread().setName("Starting scan tserver=" + 
loc.tablet_location + " tableId="
-            + loc.tablet_extent.tableId());
+        Thread.currentThread().setName("Starting scan tserver=" + 
loc.getTserverLocation()
+            + " tableId=" + loc.getExtent().tableId());
 
         if (log.isTraceEnabled()) {
-          String msg = "Starting scan tserver=" + loc.tablet_location + " 
tablet="
-              + loc.tablet_extent + " range=" + scanState.range + " ssil="
+          String msg = "Starting scan tserver=" + loc.getTserverLocation() + " 
tablet="
+              + loc.getExtent() + " range=" + scanState.range + " ssil="
               + scanState.serverSideIteratorList + " ssio=" + 
scanState.serverSideIteratorOptions
               + " context=" + scanState.classLoaderContext;
           log.trace("tid={} {}", Thread.currentThread().getId(), msg);
           timer = new OpTimer().start();
         }
 
-        TabletType ttype = TabletType.type(loc.tablet_extent);
-        boolean waitForWrites = 
!serversWaitedForWrites.get(ttype).contains(loc.tablet_location);
+        TabletType ttype = TabletType.type(loc.getExtent());
+        boolean waitForWrites =
+            
!serversWaitedForWrites.get(ttype).contains(loc.getTserverLocation());
 
         InitialScan is = client.startScan(tinfo, scanState.context.rpcCreds(),
-            loc.tablet_extent.toThrift(), scanState.range.toThrift(),
+            loc.getExtent().toThrift(), scanState.range.toThrift(),
             
scanState.columns.stream().map(Column::toThrift).collect(Collectors.toList()),
             scanState.size, scanState.serverSideIteratorList, 
scanState.serverSideIteratorOptions,
             scanState.authorizations.getAuthorizationsBB(), waitForWrites, 
scanState.isolated,
@@ -651,7 +652,7 @@ public class ThriftScanner {
             SamplerConfigurationImpl.toThrift(scanState.samplerConfig), 
scanState.batchTimeOut,
             scanState.classLoaderContext, scanState.executionHints, 
busyTimeout);
         if (waitForWrites) {
-          serversWaitedForWrites.get(ttype).add(loc.tablet_location);
+          serversWaitedForWrites.get(ttype).add(loc.getTserverLocation());
         }
 
         sr = is.result;
@@ -665,7 +666,7 @@ public class ThriftScanner {
       } else {
         // log.debug("Calling continue scan : "+scanState.range+" loc = "+loc);
         String msg =
-            "Continuing scan tserver=" + loc.tablet_location + " scanid=" + 
scanState.scanID;
+            "Continuing scan tserver=" + loc.getTserverLocation() + " scanid=" 
+ scanState.scanID;
         Thread.currentThread().setName(msg);
 
         if (log.isTraceEnabled()) {
@@ -690,7 +691,7 @@ public class ThriftScanner {
       } else {
         // log.debug("No more : tab end row = 
"+loc.tablet_extent.getEndRow()+" range =
         // "+scanState.range);
-        if (loc.tablet_extent.endRow() == null) {
+        if (loc.getExtent().endRow() == null) {
           scanState.finished = true;
 
           if (timer != null) {
@@ -701,8 +702,8 @@ public class ThriftScanner {
           }
 
         } else if (scanState.range.getEndKey() == null || !scanState.range
-            .afterEndKey(new 
Key(loc.tablet_extent.endRow()).followingKey(PartialKey.ROW))) {
-          scanState.startRow = loc.tablet_extent.endRow();
+            .afterEndKey(new 
Key(loc.getExtent().endRow()).followingKey(PartialKey.ROW))) {
+          scanState.startRow = loc.getExtent().endRow();
           scanState.skipStartRow = true;
 
           if (timer != null) {
@@ -749,7 +750,7 @@ public class ThriftScanner {
       TInfo tinfo = TraceUtil.traceInfo();
 
       log.debug("Closing active scan {} {}", scanState.prevLoc, 
scanState.scanID);
-      HostAndPort parsedLocation = 
HostAndPort.fromString(scanState.prevLoc.tablet_location);
+      HostAndPort parsedLocation = 
HostAndPort.fromString(scanState.prevLoc.getTserverLocation());
       TabletScanClientService.Client client = null;
       try {
         client =
diff --git a/core/src/main/java/org/apache/accumulo/core/clientImpl/Writer.java 
b/core/src/main/java/org/apache/accumulo/core/clientImpl/Writer.java
index 6f991e9e18..4a358aee6f 100644
--- a/core/src/main/java/org/apache/accumulo/core/clientImpl/Writer.java
+++ b/core/src/main/java/org/apache/accumulo/core/clientImpl/Writer.java
@@ -98,21 +98,21 @@ public class Writer {
         continue;
       }
 
-      final HostAndPort parsedLocation = 
HostAndPort.fromString(tabLoc.tablet_location);
+      final HostAndPort parsedLocation = 
HostAndPort.fromString(tabLoc.getTserverLocation());
       try {
-        updateServer(context, m, tabLoc.tablet_extent, parsedLocation);
+        updateServer(context, m, tabLoc.getExtent(), parsedLocation);
         return;
       } catch (NotServingTabletException e) {
         log.trace("Not serving tablet, server = {}", parsedLocation);
-        TabletLocator.getLocator(context, 
tableId).invalidateCache(tabLoc.tablet_extent);
+        TabletLocator.getLocator(context, 
tableId).invalidateCache(tabLoc.getExtent());
       } catch (ConstraintViolationException cve) {
         log.error("error sending update to {}", parsedLocation, cve);
         // probably do not need to invalidate cache, but it does not hurt
-        TabletLocator.getLocator(context, 
tableId).invalidateCache(tabLoc.tablet_extent);
+        TabletLocator.getLocator(context, 
tableId).invalidateCache(tabLoc.getExtent());
         throw cve;
       } catch (TException e) {
         log.error("error sending update to {}", parsedLocation, e);
-        TabletLocator.getLocator(context, 
tableId).invalidateCache(tabLoc.tablet_extent);
+        TabletLocator.getLocator(context, 
tableId).invalidateCache(tabLoc.getExtent());
       }
 
       sleepUninterruptibly(500, MILLISECONDS);
diff --git 
a/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
 
b/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
index 9ac2658f63..6d0f2aa735 100644
--- 
a/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
+++ 
b/core/src/main/java/org/apache/accumulo/core/metadata/MetadataLocationObtainer.java
@@ -88,8 +88,8 @@ public class MetadataLocationObtainer implements 
TabletLocationObtainer {
 
       if (log.isTraceEnabled()) {
         log.trace("tid={} Looking up in {} row={} extent={} tserver={}",
-            Thread.currentThread().getId(), src.tablet_extent.tableId(), 
TextUtil.truncate(row),
-            src.tablet_extent, src.tablet_location);
+            Thread.currentThread().getId(), src.getExtent().tableId(), 
TextUtil.truncate(row),
+            src.getExtent(), src.getTserverLocation());
         timer = new OpTimer().start();
       }
 
@@ -105,8 +105,8 @@ public class MetadataLocationObtainer implements 
TabletLocationObtainer {
       List<IterInfo> serverSideIteratorList = new ArrayList<>();
       serverSideIteratorList.add(new IterInfo(10000, 
WholeRowIterator.class.getName(), "WRI"));
       Map<String,Map<String,String>> serverSideIteratorOptions = 
Collections.emptyMap();
-      boolean more = ThriftScanner.getBatchFromServer(context, range, 
src.tablet_extent,
-          src.tablet_location, encodedResults, locCols, serverSideIteratorList,
+      boolean more = ThriftScanner.getBatchFromServer(context, range, 
src.getExtent(),
+          src.getTserverLocation(), encodedResults, locCols, 
serverSideIteratorList,
           serverSideIteratorOptions, Constants.SCAN_BATCH_SIZE, 
Authorizations.EMPTY, 0L, null);
 
       decodeRows(encodedResults, results);
@@ -115,7 +115,7 @@ public class MetadataLocationObtainer implements 
TabletLocationObtainer {
         range = new 
Range(results.lastKey().followingKey(PartialKey.ROW_COLFAM_COLQUAL_COLVIS_TIME),
             true, new Key(stopRow).followingKey(PartialKey.ROW), false);
         encodedResults.clear();
-        ThriftScanner.getBatchFromServer(context, range, src.tablet_extent, 
src.tablet_location,
+        ThriftScanner.getBatchFromServer(context, range, src.getExtent(), 
src.getTserverLocation(),
             encodedResults, locCols, serverSideIteratorList, 
serverSideIteratorOptions,
             Constants.SCAN_BATCH_SIZE, Authorizations.EMPTY, 0L, null);
 
@@ -125,7 +125,7 @@ public class MetadataLocationObtainer implements 
TabletLocationObtainer {
       if (timer != null) {
         timer.stop();
         log.trace("tid={} Got {} results from {} in {}", 
Thread.currentThread().getId(),
-            results.size(), src.tablet_extent, String.format("%.3f secs", 
timer.scale(SECONDS)));
+            results.size(), src.getExtent(), String.format("%.3f secs", 
timer.scale(SECONDS)));
       }
 
       // if (log.isTraceEnabled()) log.trace("results "+results);
@@ -134,15 +134,15 @@ public class MetadataLocationObtainer implements 
TabletLocationObtainer {
 
     } catch (AccumuloServerException ase) {
       if (log.isTraceEnabled()) {
-        log.trace("{} lookup failed, {} server side exception", 
src.tablet_extent.tableId(),
-            src.tablet_location);
+        log.trace("{} lookup failed, {} server side exception", 
src.getExtent().tableId(),
+            src.getTserverLocation());
       }
       throw ase;
     } catch (AccumuloException e) {
       if (log.isTraceEnabled()) {
-        log.trace("{} lookup failed", src.tablet_extent.tableId(), e);
+        log.trace("{} lookup failed", src.getExtent().tableId(), e);
       }
-      parent.invalidateCache(context, src.tablet_location);
+      parent.invalidateCache(context, src.getTserverLocation());
     }
 
     return null;
diff --git 
a/core/src/test/java/org/apache/accumulo/core/clientImpl/TabletLocatorImplTest.java
 
b/core/src/test/java/org/apache/accumulo/core/clientImpl/TabletLocatorImplTest.java
index ea20ee6643..97e01c4d3d 100644
--- 
a/core/src/test/java/org/apache/accumulo/core/clientImpl/TabletLocatorImplTest.java
+++ 
b/core/src/test/java/org/apache/accumulo/core/clientImpl/TabletLocatorImplTest.java
@@ -170,7 +170,7 @@ public class TabletLocatorImplTest {
 
     for (Entry<KeyExtent,TabletLocation> entry : mcke.entrySet()) {
       setLocation(tservers, metaTabLoc, METADATA_TABLE_EXTENT, entry.getKey(),
-          entry.getValue().tablet_location);
+          entry.getValue().getTserverLocation());
     }
 
     return tab1TabletCache;
@@ -236,7 +236,7 @@ public class TabletLocatorImplTest {
 
     HashSet<KeyExtent> eic = new HashSet<>();
     for (TabletLocation tl : metaCache.values()) {
-      eic.add(tl.tablet_extent);
+      eic.add(tl.getExtent());
     }
 
     assertEquals(expected, eic);
@@ -485,22 +485,22 @@ public class TabletLocatorImplTest {
     public TabletLocations lookupTablet(ClientContext context, TabletLocation 
src, Text row,
         Text stopRow, TabletLocator parent) {
 
-      Map<KeyExtent,SortedMap<Key,Value>> tablets = 
tservers.get(src.tablet_location);
+      Map<KeyExtent,SortedMap<Key,Value>> tablets = 
tservers.get(src.getTserverLocation());
 
       if (tablets == null) {
-        parent.invalidateCache(context, src.tablet_location);
+        parent.invalidateCache(context, src.getTserverLocation());
         return null;
       }
 
-      SortedMap<Key,Value> tabletData = tablets.get(src.tablet_extent);
+      SortedMap<Key,Value> tabletData = tablets.get(src.getExtent());
 
       if (tabletData == null) {
-        parent.invalidateCache(src.tablet_extent);
+        parent.invalidateCache(src.getExtent());
         return null;
       }
 
       // the following clip is done on a tablet, do it here to see if it 
throws exceptions
-      src.tablet_extent.toDataRange().clip(new Range(row, true, stopRow, 
true));
+      src.getExtent().toDataRange().clip(new Range(row, true, stopRow, true));
 
       Key startKey = new Key(row);
       Key stopKey = new Key(stopRow).followingKey(PartialKey.ROW);
@@ -661,8 +661,8 @@ public class TabletLocatorImplTest {
       assertNull(tl);
     } else {
       assertNotNull(tl);
-      assertEquals(server, tl.tablet_location);
-      assertEquals(expected, tl.tablet_extent);
+      assertEquals(server, tl.getTserverLocation());
+      assertEquals(expected, tl.getExtent());
     }
   }
 
diff --git 
a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java 
b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
index 7acd327db1..09401ac705 100644
--- 
a/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
+++ 
b/server/base/src/main/java/org/apache/accumulo/server/client/BulkImporter.java
@@ -340,7 +340,7 @@ public class BulkImporter {
   private static List<KeyExtent> extentsOf(List<TabletLocation> locations) {
     List<KeyExtent> result = new ArrayList<>(locations.size());
     for (TabletLocation tl : locations) {
-      result.add(tl.tablet_extent);
+      result.add(tl.getExtent());
     }
     return result;
   }
@@ -374,7 +374,7 @@ public class BulkImporter {
         // need to estimate its
         // size
         ais.put(entry.getKey(), Collections.singletonList(
-            new AssignmentInfo(tabletLocation.tablet_extent, 
mapFileSizes.get(entry.getKey()))));
+            new AssignmentInfo(tabletLocation.getExtent(), 
mapFileSizes.get(entry.getKey()))));
         continue;
       }
 
@@ -398,7 +398,7 @@ public class BulkImporter {
           long estSize =
               (long) (mapFileSizes.get(entry.getKey()) / (double) 
entry.getValue().size());
           for (TabletLocation tl : entry.getValue()) {
-            estimatedSizes.put(tl.tablet_extent, estSize);
+            estimatedSizes.put(tl.getExtent(), estSize);
           }
         }
 
@@ -437,7 +437,7 @@ public class BulkImporter {
     Map<KeyExtent,String> result = new HashMap<>();
     for (List<TabletLocation> entry : assignments.values()) {
       for (TabletLocation tl : entry) {
-        result.put(tl.tablet_extent, tl.tablet_location);
+        result.put(tl.getExtent(), tl.getTserverLocation());
       }
     }
     return result;
@@ -669,7 +669,7 @@ public class BulkImporter {
         TabletLocation tabletLocation = locator.locateTablet(context, row, 
false, true);
         // log.debug(filename + " found row " + row + " at location " + 
tabletLocation);
         result.add(tabletLocation);
-        row = tabletLocation.tablet_extent.endRow();
+        row = tabletLocation.getExtent().endRow();
         if (row != null && (endRow == null || row.compareTo(endRow) < 0)) {
           row = new Text(row);
           row.append(byte0, 0, byte0.length);
@@ -697,9 +697,9 @@ public class BulkImporter {
       for (Entry<Path,List<TabletLocation>> entry : assignments.entrySet()) {
         for (TabletLocation tl : entry.getValue()) {
 
-          Integer count = getCount(tl.tablet_extent);
+          Integer count = getCount(tl.getExtent());
 
-          counts.put(tl.tablet_extent, count + 1);
+          counts.put(tl.getExtent(), count + 1);
         }
       }
     }
diff --git 
a/server/base/src/test/java/org/apache/accumulo/server/client/BulkImporterTest.java
 
b/server/base/src/test/java/org/apache/accumulo/server/client/BulkImporterTest.java
index 9b69efa196..e37783e826 100644
--- 
a/server/base/src/test/java/org/apache/accumulo/server/client/BulkImporterTest.java
+++ 
b/server/base/src/test/java/org/apache/accumulo/server/client/BulkImporterTest.java
@@ -23,6 +23,7 @@ import static org.junit.jupiter.api.Assertions.assertNull;
 
 import java.util.Collection;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 import java.util.Map;
 import java.util.SortedSet;
@@ -147,25 +148,25 @@ public class BulkImporterTest {
       List<TabletLocation> overlaps =
           BulkImporter.findOverlappingTablets(context, vm, locator, new 
Path(file), null, null, cs);
       assertEquals(5, overlaps.size());
-      Collections.sort(overlaps);
-      assertEquals(new KeyExtent(tableId, new Text("a"), null), 
overlaps.get(0).tablet_extent);
+      Collections.sort(overlaps, Comparator.comparing(tl -> tl.getExtent()));
+      assertEquals(new KeyExtent(tableId, new Text("a"), null), 
overlaps.get(0).getExtent());
       assertEquals(new KeyExtent(tableId, new Text("d"), new Text("cm")),
-          overlaps.get(1).tablet_extent);
+          overlaps.get(1).getExtent());
       assertEquals(new KeyExtent(tableId, new Text("dm"), new Text("d")),
-          overlaps.get(2).tablet_extent);
+          overlaps.get(2).getExtent());
       assertEquals(new KeyExtent(tableId, new Text("j"), new Text("i")),
-          overlaps.get(3).tablet_extent);
-      assertEquals(new KeyExtent(tableId, null, new Text("l")), 
overlaps.get(4).tablet_extent);
+          overlaps.get(3).getExtent());
+      assertEquals(new KeyExtent(tableId, null, new Text("l")), 
overlaps.get(4).getExtent());
 
       List<TabletLocation> overlaps2 = 
BulkImporter.findOverlappingTablets(context, vm, locator,
           new Path(file), new KeyExtent(tableId, new Text("h"), new 
Text("b")), cs);
       assertEquals(3, overlaps2.size());
       assertEquals(new KeyExtent(tableId, new Text("d"), new Text("cm")),
-          overlaps2.get(0).tablet_extent);
+          overlaps2.get(0).getExtent());
       assertEquals(new KeyExtent(tableId, new Text("dm"), new Text("d")),
-          overlaps2.get(1).tablet_extent);
+          overlaps2.get(1).getExtent());
       assertEquals(new KeyExtent(tableId, new Text("j"), new Text("i")),
-          overlaps2.get(2).tablet_extent);
+          overlaps2.get(2).getExtent());
       assertEquals(locator.invalidated, 1);
     }
   }
diff --git 
a/test/src/main/java/org/apache/accumulo/test/functional/BulkFailureIT.java 
b/test/src/main/java/org/apache/accumulo/test/functional/BulkFailureIT.java
index 9322042527..5bd88cc91c 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/BulkFailureIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/BulkFailureIT.java
@@ -307,7 +307,7 @@ public class BulkFailureIT extends AccumuloClusterHarness {
     locator.invalidateCache(extent);
 
     HostAndPort location = HostAndPort
-        .fromString(locator.locateTablet(context, new Text(""), false, 
true).tablet_location);
+        .fromString(locator.locateTablet(context, new Text(""), false, 
true).getTserverLocation());
 
     long timeInMillis = 
context.getConfiguration().getTimeInMillis(Property.TSERV_BULK_TIMEOUT);
     TabletIngestClientService.Iface client =
diff --git 
a/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java 
b/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java
index 9a5843cfd1..e93b2ccaf2 100644
--- 
a/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java
+++ 
b/test/src/main/java/org/apache/accumulo/test/manager/SuspendedTabletsIT.java
@@ -189,8 +189,8 @@ public class SuspendedTabletsIT extends ConfigurableMacBase 
{
           TabletLocator.TabletLocation tab =
               tl.locateTablet(ctx, tls.extent.toMetaRow(), false, false);
           // add it to the set of servers with metadata
-          metadataServerSet
-              .add(new TServerInstance(tab.tablet_location, 
Long.valueOf(tab.tablet_session, 16)));
+          metadataServerSet.add(new TServerInstance(tab.getTserverLocation(),
+              Long.valueOf(tab.getTserverSession(), 16)));
         }
       }
 


Reply via email to