keith-turner commented on a change in pull request #2320:
URL: https://github.com/apache/accumulo/pull/2320#discussion_r747057650



##########
File path: 
server/tserver/src/main/java/org/apache/accumulo/tserver/TabletServer.java
##########
@@ -791,6 +791,27 @@ public void run() {
       }
     }, 0, 5000, TimeUnit.MILLISECONDS);
 
+    
ThreadPools.createGeneralScheduledExecutorService(aconf).scheduleWithFixedDelay(()
 -> {
+      final SortedMap<KeyExtent,Tablet> onlineTabletsSnapshot = 
onlineTablets.snapshot();
+      final SortedMap<KeyExtent,Pair<Long,TabletMetadata>> 
tabletValidationInfo = new TreeMap<>();
+
+      // gather update counters and metadata for all tablets
+      for (var entry : onlineTabletsSnapshot.entrySet()) {
+        KeyExtent keyExtent = entry.getKey();
+        Long counter = entry.getValue().getUpdateCounter();
+        TabletMetadata tm = getContext().getAmple().readTablet(keyExtent,
+            TabletMetadata.ColumnType.FILES, TabletMetadata.ColumnType.LOGS,
+            TabletMetadata.ColumnType.ECOMP, 
TabletMetadata.ColumnType.PREV_ROW);

Review comment:
       I looked and I think it does only support user tablets.
   
   
https://github.com/apache/accumulo/blob/6cfb9180a0d3e5115922314ff2062e0706ef0795/core/src/main/java/org/apache/accumulo/core/metadata/schema/TabletsMetadata.java#L324-L328
   
   So if the tablet server was serving the root or metadata tablets, then it 
would throw an exception for this.  Could partition the tablets into user and 
non-user (root,metadata) tablets.  Can use readTablets() w/ the user tablets.  
For the non-user would have to call readTablet() one at a time.  Could do that 
partitioning in the tablet server code for now and in a later PR push it down 
into Ample and remove it from the tablet server code.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to