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 5256e3462d fixes PrintInfoIT (#4658)
5256e3462d is described below

commit 5256e3462d244cdcd3011429ad562a00464c8253
Author: Keith Turner <ktur...@apache.org>
AuthorDate: Sat Jun 8 15:14:45 2024 -0400

    fixes PrintInfoIT (#4658)
    
    PrintInfoIT obtained a file from tablet metadata to open. The path from 
metadata was json and this cause file open to fail. Updated the code to get 
just the file path from the json.
---
 .../java/org/apache/accumulo/test/PrintInfoIT.java | 34 +++++++++-------------
 1 file changed, 13 insertions(+), 21 deletions(-)

diff --git a/test/src/main/java/org/apache/accumulo/test/PrintInfoIT.java 
b/test/src/main/java/org/apache/accumulo/test/PrintInfoIT.java
index 6544135053..8f2beb5838 100644
--- a/test/src/main/java/org/apache/accumulo/test/PrintInfoIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/PrintInfoIT.java
@@ -24,33 +24,26 @@ import static org.junit.jupiter.api.Assertions.assertFalse;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 
 import java.io.File;
-import java.util.Collections;
-import java.util.Map;
 
 import org.apache.accumulo.core.client.Accumulo;
 import org.apache.accumulo.core.client.AccumuloClient;
 import org.apache.accumulo.core.client.AccumuloException;
 import org.apache.accumulo.core.client.AccumuloSecurityException;
-import org.apache.accumulo.core.client.BatchScanner;
 import org.apache.accumulo.core.client.BatchWriter;
 import org.apache.accumulo.core.client.BatchWriterConfig;
 import org.apache.accumulo.core.client.TableExistsException;
 import org.apache.accumulo.core.client.TableNotFoundException;
 import org.apache.accumulo.core.client.summary.SummarizerConfiguration;
 import 
org.apache.accumulo.core.client.summary.summarizers.VisibilitySummarizer;
-import org.apache.accumulo.core.data.Key;
+import org.apache.accumulo.core.clientImpl.ClientContext;
 import org.apache.accumulo.core.data.Mutation;
-import org.apache.accumulo.core.data.Range;
+import org.apache.accumulo.core.data.TableId;
 import org.apache.accumulo.core.data.Value;
 import org.apache.accumulo.core.file.rfile.PrintInfo;
-import org.apache.accumulo.core.metadata.AccumuloTable;
-import org.apache.accumulo.core.metadata.schema.MetadataSchema;
-import org.apache.accumulo.core.security.Authorizations;
 import org.apache.accumulo.core.security.ColumnVisibility;
 import org.apache.accumulo.harness.SharedMiniClusterBase;
 import org.apache.accumulo.miniclusterImpl.MiniAccumuloClusterImpl;
 import org.apache.commons.io.FileUtils;
-import org.apache.hadoop.io.Text;
 import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
@@ -165,23 +158,22 @@ public class PrintInfoIT extends SharedMiniClusterBase {
   }
 
   // Get the name of the RFile associated with a table.
-  private String getRFileName(final AccumuloClient client, final String 
tableName)
-      throws Exception {
+  private String getRFileName(final AccumuloClient client, final String 
tableName) {
     boolean foundFile = false;
     String rfileName = null;
-    try (BatchScanner bscanner =
-        client.createBatchScanner(AccumuloTable.METADATA.tableName(), 
Authorizations.EMPTY, 1)) {
-      String tableId = client.tableOperations().tableIdMap().get(tableName);
-      bscanner.setRanges(
-          Collections.singletonList(new Range(new Text(tableId + ";"), new 
Text(tableId + "<"))));
-      
bscanner.fetchColumnFamily(MetadataSchema.TabletsSection.DataFileColumnFamily.NAME);
-
-      for (Map.Entry<Key,Value> entry : bscanner) {
-        foundFile = true;
-        rfileName = entry.getKey().getColumnQualifier().toString();
+    var ample = ((ClientContext) client).getAmple();
+    var tableId = 
TableId.of(client.tableOperations().tableIdMap().get(tableName));
+    try (var tablets = ample.readTablets().forTable(tableId).build()) {
+      for (var tablet : tablets) {
+        var files = tablet.getFiles();
+        if (!files.isEmpty()) {
+          foundFile = true;
+          rfileName = files.iterator().next().getNormalizedPathStr();
+        }
       }
       assertTrue(foundFile);
     }
+
     return rfileName;
   }
 

Reply via email to