You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@accumulo.apache.org by cs...@apache.org on 2023/10/12 11:44:34 UTC
[accumulo] branch main updated: Clean up some usage of StoredTabletFile (#3837)
This is an automated email from the ASF dual-hosted git repository.
cshannon 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 b4578f62a4 Clean up some usage of StoredTabletFile (#3837)
b4578f62a4 is described below
commit b4578f62a4bb2675547aaffe36bd4f11919e623c
Author: Dom G <do...@apache.org>
AuthorDate: Thu Oct 12 07:44:27 2023 -0400
Clean up some usage of StoredTabletFile (#3837)
Update creation of StoredTabletFile objects to use new helper methods to simplify
creating when initializing with infinite ranges.
---
.../core/metadata/CompactableFileImpl.java | 3 +-
.../metadata/schema/ReferencedTabletFileTest.java | 10 +-
.../core/metadata/schema/TabletMetadataTest.java | 9 +-
.../accumulo/server/metadata/ServerAmpleImpl.java | 4 +-
.../constraints/MetadataConstraintsTest.java | 228 +++++++++------------
.../manager/tableOps/bulkVer2/LoadFiles.java | 3 +-
.../tablet/CompactableImplFileManagerTest.java | 4 +-
.../java/org/apache/accumulo/test/CloneIT.java | 5 +-
.../test/functional/GarbageCollectorIT.java | 18 +-
9 files changed, 126 insertions(+), 158 deletions(-)
diff --git a/core/src/main/java/org/apache/accumulo/core/metadata/CompactableFileImpl.java b/core/src/main/java/org/apache/accumulo/core/metadata/CompactableFileImpl.java
index 31fdc55d16..9944245f97 100644
--- a/core/src/main/java/org/apache/accumulo/core/metadata/CompactableFileImpl.java
+++ b/core/src/main/java/org/apache/accumulo/core/metadata/CompactableFileImpl.java
@@ -22,7 +22,6 @@ import java.net.URI;
import java.util.Objects;
import org.apache.accumulo.core.client.admin.compaction.CompactableFile;
-import org.apache.accumulo.core.data.Range;
import org.apache.accumulo.core.metadata.schema.DataFileValue;
public class CompactableFileImpl implements CompactableFile {
@@ -31,7 +30,7 @@ public class CompactableFileImpl implements CompactableFile {
private final DataFileValue dataFileValue;
public CompactableFileImpl(URI uri, long size, long entries) {
- this.storedTabletFile = StoredTabletFile.of(uri, new Range());
+ this.storedTabletFile = StoredTabletFile.of(uri);
this.dataFileValue = new DataFileValue(size, entries);
}
diff --git a/core/src/test/java/org/apache/accumulo/core/metadata/schema/ReferencedTabletFileTest.java b/core/src/test/java/org/apache/accumulo/core/metadata/schema/ReferencedTabletFileTest.java
index 47deaeb0c9..93e7bc0525 100644
--- a/core/src/test/java/org/apache/accumulo/core/metadata/schema/ReferencedTabletFileTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/metadata/schema/ReferencedTabletFileTest.java
@@ -22,8 +22,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.net.URI;
-
import org.apache.accumulo.core.data.Key;
import org.apache.accumulo.core.data.PartialKey;
import org.apache.accumulo.core.data.Range;
@@ -113,10 +111,10 @@ public class ReferencedTabletFileTest {
String metadataEntry = uglyVolume + "/tables/" + id + "/" + dir + "/" + filename;
ReferencedTabletFile uglyFile =
test(metadataEntry, "hdfs://nn.somewhere.com:86753/accumulo", id, dir, filename);
- ReferencedTabletFile niceFile = StoredTabletFile.of(
- URI.create(
- "hdfs://nn.somewhere.com:86753/accumulo/tables/" + id + "/" + dir + "/" + filename),
- new Range()).getTabletFile();
+ ReferencedTabletFile niceFile = StoredTabletFile
+ .of(new Path(
+ "hdfs://nn.somewhere.com:86753/accumulo/tables/" + id + "/" + dir + "/" + filename))
+ .getTabletFile();
assertEquals(niceFile, uglyFile);
assertEquals(niceFile.hashCode(), uglyFile.hashCode());
}
diff --git a/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java b/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java
index 3b856726be..244271534f 100644
--- a/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java
+++ b/core/src/test/java/org/apache/accumulo/core/metadata/schema/TabletMetadataTest.java
@@ -62,6 +62,7 @@ import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.Ta
import org.apache.accumulo.core.metadata.schema.TabletMetadata.ColumnType;
import org.apache.accumulo.core.metadata.schema.TabletMetadata.LocationType;
import org.apache.accumulo.core.tabletserver.log.LogEntry;
+import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.junit.jupiter.api.Test;
@@ -88,8 +89,8 @@ public class TabletMetadataTest {
mutation.at().family(ClonedColumnFamily.NAME).qualifier("").put("OK");
DataFileValue dfv1 = new DataFileValue(555, 23);
- StoredTabletFile tf1 = new StoredTabletFile(serialize("hdfs://nn1/acc/tables/1/t-0001/df1.rf"));
- StoredTabletFile tf2 = new StoredTabletFile(serialize("hdfs://nn1/acc/tables/1/t-0001/df2.rf"));
+ StoredTabletFile tf1 = StoredTabletFile.of(new Path("hdfs://nn1/acc/tables/1/t-0001/df1.rf"));
+ StoredTabletFile tf2 = StoredTabletFile.of(new Path("hdfs://nn1/acc/tables/1/t-0001/df2.rf"));
mutation.at().family(DataFileColumnFamily.NAME).qualifier(tf1.getMetadata()).put(dfv1.encode());
DataFileValue dfv2 = new DataFileValue(234, 13);
mutation.at().family(DataFileColumnFamily.NAME).qualifier(tf2.getMetadata()).put(dfv2.encode());
@@ -105,8 +106,8 @@ public class TabletMetadataTest {
mutation.at().family(le2.getColumnFamily()).qualifier(le2.getColumnQualifier())
.timestamp(le2.timestamp).put(le2.getValue());
- StoredTabletFile sf1 = new StoredTabletFile(serialize("hdfs://nn1/acc/tables/1/t-0001/sf1.rf"));
- StoredTabletFile sf2 = new StoredTabletFile(serialize("hdfs://nn1/acc/tables/1/t-0001/sf2.rf"));
+ StoredTabletFile sf1 = StoredTabletFile.of(new Path("hdfs://nn1/acc/tables/1/t-0001/sf1.rf"));
+ StoredTabletFile sf2 = StoredTabletFile.of(new Path("hdfs://nn1/acc/tables/1/t-0001/sf2.rf"));
mutation.at().family(ScanFileColumnFamily.NAME).qualifier(sf1.getMetadata()).put("");
mutation.at().family(ScanFileColumnFamily.NAME).qualifier(sf2.getMetadata()).put("");
diff --git a/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java b/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
index de4a1f8585..ea57481987 100644
--- a/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
+++ b/server/base/src/main/java/org/apache/accumulo/server/metadata/ServerAmpleImpl.java
@@ -141,8 +141,8 @@ public class ServerAmpleImpl extends AmpleImpl implements Ample {
if (DataLevel.of(tableId) == DataLevel.ROOT) {
// Directories are unexpected for the root tablet, so convert to stored tablet file
- mutateRootGcCandidates(rgcc -> rgcc.add(candidates.stream().map(
- reference -> StoredTabletFile.of(URI.create(reference.getMetadataPath()), new Range()))));
+ mutateRootGcCandidates(rgcc -> rgcc.add(candidates.stream()
+ .map(reference -> StoredTabletFile.of(URI.create(reference.getMetadataPath())))));
return;
}
diff --git a/server/base/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java b/server/base/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java
index f891a0b132..38f6d27ad2 100644
--- a/server/base/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java
+++ b/server/base/src/test/java/org/apache/accumulo/server/constraints/MetadataConstraintsTest.java
@@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import java.lang.reflect.Method;
-import java.net.URI;
import java.util.Base64;
import java.util.List;
@@ -42,6 +41,7 @@ import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.Se
import org.apache.accumulo.core.metadata.schema.MetadataSchema.TabletsSection.TabletColumnFamily;
import org.apache.accumulo.server.ServerContext;
import org.apache.accumulo.server.zookeeper.TransactionWatcher.Arbitrator;
+import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.easymock.EasyMock;
import org.junit.jupiter.api.Test;
@@ -160,130 +160,111 @@ public class MetadataConstraintsTest {
// inactive txid
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("12345"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
assertViolation(mc, m, (short) 8);
// txid that throws exception
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("9"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
assertViolation(mc, m, (short) 8);
// active txid w/ file
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
violations = mc.check(createEnv(), m);
assertNull(violations);
// active txid w/o file
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
assertViolation(mc, m, (short) 8);
// two active txids w/ files
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2")).getMetadataText(),
new Value("7"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
assertViolation(mc, m, (short) 8);
// two files w/ one active txid
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2")).getMetadataText(),
new Value("5"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
violations = mc.check(createEnv(), m);
assertNull(violations);
// two loaded w/ one active txid and one file
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
- m.put(DataFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ DataFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile2")).getMetadataText(),
new Value("5"));
assertViolation(mc, m, (short) 8);
// active txid, mutation that looks like split
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
ServerColumnFamily.DIRECTORY_COLUMN.put(m, new Value("/t1"));
violations = mc.check(createEnv(), m);
@@ -291,10 +272,9 @@ public class MetadataConstraintsTest {
// inactive txid, mutation that looks like split
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("12345"));
ServerColumnFamily.DIRECTORY_COLUMN.put(m, new Value("/t1"));
violations = mc.check(createEnv(), m);
@@ -302,10 +282,9 @@ public class MetadataConstraintsTest {
// active txid, mutation that looks like a load
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
m.put(CurrentLocationColumnFamily.NAME, new Text("789"), new Value("127.0.0.1:9997"));
violations = mc.check(createEnv(), m);
@@ -313,10 +292,9 @@ public class MetadataConstraintsTest {
// inactive txid, mutation that looks like a load
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("12345"));
m.put(CurrentLocationColumnFamily.NAME, new Text("789"), new Value("127.0.0.1:9997"));
violations = mc.check(createEnv(), m);
@@ -324,26 +302,24 @@ public class MetadataConstraintsTest {
// deleting a load flag
m = new Mutation(new Text("0;foo"));
- m.putDelete(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText());
+ m.putDelete(BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText());
violations = mc.check(createEnv(), m);
assertNull(violations);
// Missing beginning of path
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME, new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadata().replace("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile", "/someFile")),
+ m.put(BulkFileColumnFamily.NAME,
+ new Text(StoredTabletFile.of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"))
+ .getMetadata()
+ .replace("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile", "/someFile")),
new Value("5"));
assertViolation(mc, m, (short) 9);
// Missing tables directory in path
m = new Mutation(new Text("0;foo"));
m.put(BulkFileColumnFamily.NAME,
- new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
+ new Text(StoredTabletFile.of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"))
.getMetadata().replace("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile",
"hdfs://1.2.3.4/accumulo/2a/t-0003/someFile")),
new Value("5"));
@@ -351,10 +327,9 @@ public class MetadataConstraintsTest {
// No DataFileColumnFamily included
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ BulkFileColumnFamily.NAME, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new Value("5"));
assertViolation(mc, m, (short) 8);
@@ -386,8 +361,7 @@ public class MetadataConstraintsTest {
// {"path":"","startRow":"","endRow":""}
m = new Mutation(new Text("0;foo"));
m.put(BulkFileColumnFamily.NAME,
- new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
+ new Text(StoredTabletFile.of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"))
.getMetadata().replaceFirst("\"path\":\".*\",\"startRow", "\"path\":\"\",\"startRow")),
new Value("5"));
assertViolation(mc, m, (short) 9);
@@ -411,10 +385,11 @@ public class MetadataConstraintsTest {
// Bad Json - endRow will be replaced with encoded row without the exclusive byte 0x00 which is
// required for an endRow so will fail validation
m = new Mutation(new Text("0;foo"));
- m.put(BulkFileColumnFamily.NAME, new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range("a", "b"))
- .getMetadata()
- .replaceFirst("\"endRow\":\".*\"", "\"endRow\":\"" + encodeRowForMetadata("bad") + "\"")),
+ m.put(BulkFileColumnFamily.NAME,
+ new Text(StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range("a", "b"))
+ .getMetadata().replaceFirst("\"endRow\":\".*\"",
+ "\"endRow\":\"" + encodeRowForMetadata("bad") + "\"")),
new Value("5"));
assertViolation(mc, m, (short) 9);
@@ -437,9 +412,10 @@ public class MetadataConstraintsTest {
// Missing beginning of path
m = new Mutation(new Text("0;foo"));
- m.put(columnFamily, new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadata().replace("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile", "/someFile")),
+ m.put(columnFamily,
+ new Text(StoredTabletFile.of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"))
+ .getMetadata()
+ .replace("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile", "/someFile")),
value);
assertViolation(mc, m, (short) 9);
@@ -461,8 +437,7 @@ public class MetadataConstraintsTest {
// {"path":"","startRow":"","endRow":""}
m = new Mutation(new Text("0;foo"));
m.put(columnFamily,
- new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
+ new Text(StoredTabletFile.of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"))
.getMetadata().replaceFirst("\"path\":\".*\",\"startRow", "\"path\":\"\",\"startRow")),
value);
assertViolation(mc, m, (short) 9);
@@ -496,18 +471,18 @@ public class MetadataConstraintsTest {
// Bad Json - endRow will be replaced with encoded row without the exclusive byte 0x00 which is
// required for an endRow so this will fail validation
m = new Mutation(new Text("0;foo"));
- m.put(columnFamily, new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range("a", "b"))
- .getMetadata()
- .replaceFirst("\"endRow\":\".*\"", "\"endRow\":\"" + encodeRowForMetadata("b") + "\"")),
+ m.put(columnFamily,
+ new Text(StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range("a", "b"))
+ .getMetadata()
+ .replaceFirst("\"endRow\":\".*\"", "\"endRow\":\"" + encodeRowForMetadata("b") + "\"")),
value);
assertViolation(mc, m, (short) 9);
// Missing tables directory in path
m = new Mutation(new Text("0;foo"));
m.put(columnFamily,
- new Text(StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
+ new Text(StoredTabletFile.of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"))
.getMetadata().replace("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile",
"hdfs://1.2.3.4/accumulo/2a/t-0003/someFile")),
new DataFileValue(1, 1).encodeAsValue());
@@ -515,19 +490,20 @@ public class MetadataConstraintsTest {
// Should pass validation (inf range)
m = new Mutation(new Text("0;foo"));
- m.put(columnFamily,
- StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range())
- .getMetadataText(),
+ m.put(
+ columnFamily, StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile")).getMetadataText(),
new DataFileValue(1, 1).encodeAsValue());
violations = mc.check(createEnv(), m);
assertNull(violations);
// Should pass validation with range set
m = new Mutation(new Text("0;foo"));
- m.put(columnFamily, StoredTabletFile
- .of(URI.create("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range("a", "b"))
- .getMetadataText(), new DataFileValue(1, 1).encodeAsValue());
+ m.put(columnFamily,
+ StoredTabletFile
+ .of(new Path("hdfs://1.2.3.4/accumulo/tables/2a/t-0003/someFile"), new Range("a", "b"))
+ .getMetadataText(),
+ new DataFileValue(1, 1).encodeAsValue());
violations = mc.check(createEnv(), m);
assertNull(violations);
diff --git a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java
index 6d1cbb027e..a5234819dc 100644
--- a/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java
+++ b/server/manager/src/main/java/org/apache/accumulo/manager/tableOps/bulkVer2/LoadFiles.java
@@ -41,7 +41,6 @@ import org.apache.accumulo.core.clientImpl.bulk.BulkSerialize;
import org.apache.accumulo.core.clientImpl.bulk.LoadMappingIterator;
import org.apache.accumulo.core.conf.Property;
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.dataImpl.KeyExtent;
import org.apache.accumulo.core.dataImpl.thrift.TKeyExtent;
@@ -291,7 +290,7 @@ class LoadFiles extends ManagerRepo {
for (final Bulk.FileInfo fileInfo : files) {
StoredTabletFile fullPath =
- StoredTabletFile.of(new Path(bulkDir, fileInfo.getFileName()).toUri(), new Range());
+ StoredTabletFile.of(new Path(bulkDir, fileInfo.getFileName()));
byte[] val =
new DataFileValue(fileInfo.getEstFileSize(), fileInfo.getEstNumEntries()).encode();
mutation.put(fam, fullPath.getMetadata().getBytes(UTF_8), val);
diff --git a/server/tserver/src/test/java/org/apache/accumulo/tserver/tablet/CompactableImplFileManagerTest.java b/server/tserver/src/test/java/org/apache/accumulo/tserver/tablet/CompactableImplFileManagerTest.java
index 9f6f115335..6f43f7ba51 100644
--- a/server/tserver/src/test/java/org/apache/accumulo/tserver/tablet/CompactableImplFileManagerTest.java
+++ b/server/tserver/src/test/java/org/apache/accumulo/tserver/tablet/CompactableImplFileManagerTest.java
@@ -43,6 +43,7 @@ import org.apache.accumulo.core.spi.compaction.CompactionExecutorId;
import org.apache.accumulo.core.spi.compaction.CompactionJob;
import org.apache.accumulo.core.spi.compaction.CompactionKind;
import org.apache.accumulo.tserver.tablet.CompactableImpl.FileSelectionStatus;
+import org.apache.hadoop.fs.Path;
import org.junit.jupiter.api.Test;
import com.google.common.collect.Sets;
@@ -385,8 +386,7 @@ public class CompactableImplFileManagerTest {
}
static StoredTabletFile newFile(String f) {
- return new StoredTabletFile(
- StoredTabletFile.serialize("hdfs://nn1/accumulo/tables/1/t-0001/" + f));
+ return StoredTabletFile.of(new Path("hdfs://nn1/accumulo/tables/1/t-0001/" + f));
}
static Set<StoredTabletFile> newFiles(String... strings) {
diff --git a/test/src/main/java/org/apache/accumulo/test/CloneIT.java b/test/src/main/java/org/apache/accumulo/test/CloneIT.java
index de1747818a..a55734bb36 100644
--- a/test/src/main/java/org/apache/accumulo/test/CloneIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/CloneIT.java
@@ -22,7 +22,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import java.net.URI;
import java.util.HashSet;
import java.util.Map.Entry;
@@ -32,7 +31,6 @@ import org.apache.accumulo.core.client.BatchWriter;
import org.apache.accumulo.core.client.Scanner;
import org.apache.accumulo.core.data.Key;
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.dataImpl.KeyExtent;
@@ -45,6 +43,7 @@ import org.apache.accumulo.core.metadata.schema.TabletDeletedException;
import org.apache.accumulo.core.security.Authorizations;
import org.apache.accumulo.harness.AccumuloClusterHarness;
import org.apache.accumulo.server.util.MetadataTableUtil;
+import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.Text;
import org.junit.jupiter.api.Test;
@@ -410,6 +409,6 @@ public class CloneIT extends AccumuloClusterHarness {
}
private static String getMetadata(String file) {
- return StoredTabletFile.of(URI.create(file), new Range()).getMetadata();
+ return StoredTabletFile.of(new Path(file)).getMetadata();
}
}
diff --git a/test/src/main/java/org/apache/accumulo/test/functional/GarbageCollectorIT.java b/test/src/main/java/org/apache/accumulo/test/functional/GarbageCollectorIT.java
index 6f3e3c3d87..c7cb622927 100644
--- a/test/src/main/java/org/apache/accumulo/test/functional/GarbageCollectorIT.java
+++ b/test/src/main/java/org/apache/accumulo/test/functional/GarbageCollectorIT.java
@@ -32,7 +32,6 @@ import java.time.Duration;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
-import java.util.LinkedList;
import java.util.List;
import java.util.Map.Entry;
import java.util.Objects;
@@ -333,9 +332,8 @@ public class GarbageCollectorIT extends ConfigurableMacBase {
List.of(new GcCandidate("hdfs://foo.com:6000/user/foo/tables/+r/t-0/F00.rf", 0L),
new GcCandidate("hdfs://foo.com:6000/user/foo/tables/+r/t-0/F001.rf", 1L));
- List<StoredTabletFile> stfs = new LinkedList<>();
- candidates.stream().forEach(
- temp -> stfs.add(new StoredTabletFile(StoredTabletFile.serialize(temp.getPath()))));
+ List<StoredTabletFile> stfs = candidates.stream()
+ .map(temp -> StoredTabletFile.of(new Path(temp.getPath()))).collect(Collectors.toList());
log.debug("Adding root table GcCandidates");
ample.putGcCandidates(tableId, stfs);
@@ -347,7 +345,7 @@ public class GarbageCollectorIT extends ConfigurableMacBase {
while (cIter.hasNext()) {
// Duplicate these entries back into zookeeper
ample.putGcCandidates(tableId,
- List.of(new StoredTabletFile(StoredTabletFile.serialize(cIter.next().getPath()))));
+ List.of(StoredTabletFile.of(new Path(cIter.next().getPath()))));
counter++;
}
// Ensure Zookeeper collapsed the entries and did not support duplicates.
@@ -473,11 +471,9 @@ public class GarbageCollectorIT extends ConfigurableMacBase {
// Create multiple candidate entries
List<StoredTabletFile> stfs = Stream
- .of(new StoredTabletFile(
- StoredTabletFile.serialize("hdfs://foo.com:6000/user/foo/tables/a/t-0/F00.rf")),
- new StoredTabletFile(
- StoredTabletFile.serialize("hdfs://foo.com:6000/user/foo/tables/b/t-0/F00.rf")))
- .collect(Collectors.toList());
+ .of("hdfs://foo.com:6000/user/foo/tables/a/t-0/F00.rf",
+ "hdfs://foo.com:6000/user/foo/tables/b/t-0/F00.rf")
+ .map(Path::new).map(StoredTabletFile::of).collect(Collectors.toList());
log.debug("Adding candidates to table {}", tableId);
ample.putGcCandidates(tableId, stfs);
@@ -494,7 +490,7 @@ public class GarbageCollectorIT extends ConfigurableMacBase {
GcCandidate deleteCandidate = candidates.get(0);
assertNotNull(deleteCandidate);
ample.putGcCandidates(tableId,
- List.of(new StoredTabletFile(StoredTabletFile.serialize(deleteCandidate.getPath()))));
+ List.of(StoredTabletFile.of(new Path(deleteCandidate.getPath()))));
log.debug("Deleting Candidate {}", deleteCandidate);
ample.deleteGcCandidates(datalevel, List.of(deleteCandidate), Ample.GcCandidateType.INUSE);