Skip to content

Commit c0cc3de

Browse files
committed
Add period at the start of the hashed prefix
1 parent 2700327 commit c0cc3de

3 files changed

Lines changed: 96 additions & 24 deletions

File tree

server/src/main/java/org/opensearch/index/remote/RemoteStoreEnums.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
@ExperimentalApi
3737
public class RemoteStoreEnums {
3838

39+
static final char REMOTE_STORE_DEDICATED_PREFIX_START_CHAR = '.';
40+
3941
/**
4042
* Categories of the data in Remote store.
4143
*/
@@ -112,7 +114,7 @@ boolean requiresHashAlgorithm() {
112114
public BlobPath generatePath(PathInput pathInput, PathHashAlgorithm hashAlgorithm) {
113115
assert Objects.nonNull(hashAlgorithm) : "hashAlgorithm is expected to be non-null";
114116
return BlobPath.cleanPath()
115-
.add(hashAlgorithm.hash(pathInput))
117+
.add(REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + hashAlgorithm.hash(pathInput))
116118
.add(pathInput.basePath())
117119
.add(pathInput.indexUUID())
118120
.add(pathInput.shardId())

server/src/test/java/org/opensearch/index/remote/RemoteIndexPathTests.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public void testToXContentWithSegmentRepo() throws IOException {
4747
xContentBuilder = indexPath.toXContent(xContentBuilder, ToXContent.EMPTY_PARAMS);
4848
xContentBuilder.endObject();
4949
String expected =
50-
"{\"version\":\"1\",\"index_uuid\":\"djjsid73he8yd7usduh\",\"shard_count\":2,\"path_type\":\"HASHED_PREFIX\",\"path_hash_algorithm\":\"FNV_1A_BASE64\",\"path_creation_map\":{\"segments\":[\"data\",\"metadata\",\"lock_files\"]},\"paths\":[\"9BmBinD5HYs/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/segments/data/\",\"ExCNOD8_5ew/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/segments/data/\",\"z8wtf0yr2l4/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/segments/metadata/\",\"VheHVwFlExE/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/segments/metadata/\",\"IgFKbsDeUpQ/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/segments/lock_files/\",\"pA3gy_GZtns/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/segments/lock_files/\"]}";
50+
"{\"version\":\"1\",\"index_uuid\":\"djjsid73he8yd7usduh\",\"shard_count\":2,\"path_type\":\"HASHED_PREFIX\",\"path_hash_algorithm\":\"FNV_1A_BASE64\",\"path_creation_map\":{\"segments\":[\"data\",\"metadata\",\"lock_files\"]},\"paths\":[\".9BmBinD5HYs/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/segments/data/\",\".ExCNOD8_5ew/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/segments/data/\",\".z8wtf0yr2l4/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/segments/metadata/\",\".VheHVwFlExE/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/segments/metadata/\",\".IgFKbsDeUpQ/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/segments/lock_files/\",\".pA3gy_GZtns/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/segments/lock_files/\"]}";
5151
assertEquals(expected, xContentBuilder.toString());
5252
}
5353

@@ -68,7 +68,7 @@ public void testToXContentForTranslogRepoOnly() throws IOException {
6868
xContentBuilder = indexPath.toXContent(xContentBuilder, ToXContent.EMPTY_PARAMS);
6969
xContentBuilder.endObject();
7070
String expected =
71-
"{\"version\":\"1\",\"index_uuid\":\"djjsid73he8yd7usduh\",\"shard_count\":2,\"path_type\":\"HASHED_PREFIX\",\"path_hash_algorithm\":\"FNV_1A_BASE64\",\"path_creation_map\":{\"translog\":[\"data\",\"metadata\"]},\"paths\":[\"2EaVODaKBck/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/translog/data/\",\"dTS2VqEOUNo/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/translog/data/\",\"PVNKNGonmZw/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/translog/metadata/\",\"NXmt0Y6NjA8/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/translog/metadata/\"]}";
71+
"{\"version\":\"1\",\"index_uuid\":\"djjsid73he8yd7usduh\",\"shard_count\":2,\"path_type\":\"HASHED_PREFIX\",\"path_hash_algorithm\":\"FNV_1A_BASE64\",\"path_creation_map\":{\"translog\":[\"data\",\"metadata\"]},\"paths\":[\".2EaVODaKBck/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/translog/data/\",\".dTS2VqEOUNo/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/translog/data/\",\".PVNKNGonmZw/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/0/translog/metadata/\",\".NXmt0Y6NjA8/djsd878ndjh/hcs87cj8/djjsid73he8yd7usduh/1/translog/metadata/\"]}";
7272
assertEquals(expected, xContentBuilder.toString());
7373
}
7474

@@ -92,7 +92,7 @@ public void testToXContentForBothRepos() throws IOException {
9292
xContentBuilder = indexPath.toXContent(xContentBuilder, ToXContent.EMPTY_PARAMS);
9393
xContentBuilder.endObject();
9494
String expected =
95-
"{\"version\":\"1\",\"index_uuid\":\"csbdqiu8a7sdnjdks\",\"shard_count\":3,\"path_type\":\"HASHED_PREFIX\",\"path_hash_algorithm\":\"FNV_1A_BASE64\",\"path_creation_map\":{\"translog\":[\"data\",\"metadata\"],\"segments\":[\"data\",\"metadata\",\"lock_files\"]},\"paths\":[\"Cjo0F6kNjYk/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/segments/data/\",\"kpayyhxct1I/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/segments/data/\",\"p2RlgnHeIgc/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/segments/data/\",\"gkPIurBtB1w/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/segments/metadata/\",\"Y4YhlbxAB1c/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/segments/metadata/\",\"HYc8fyVPouI/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/segments/metadata/\",\"igzyZCz1ysI/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/segments/lock_files/\",\"uEluEiYmptk/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/segments/lock_files/\",\"TfAD8f06_7A/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/segments/lock_files/\",\"QqKEpasbEGs/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/translog/data/\",\"sNyoimoe1Bw/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/translog/data/\",\"d4YQtONfq50/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/translog/data/\",\"zLr4UXjK8T4/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/translog/metadata/\",\"_s8i7ZmlXGE/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/translog/metadata/\",\"tvtD3-k5ISg/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/translog/metadata/\"]}";
95+
"{\"version\":\"1\",\"index_uuid\":\"csbdqiu8a7sdnjdks\",\"shard_count\":3,\"path_type\":\"HASHED_PREFIX\",\"path_hash_algorithm\":\"FNV_1A_BASE64\",\"path_creation_map\":{\"translog\":[\"data\",\"metadata\"],\"segments\":[\"data\",\"metadata\",\"lock_files\"]},\"paths\":[\".Cjo0F6kNjYk/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/segments/data/\",\".kpayyhxct1I/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/segments/data/\",\".p2RlgnHeIgc/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/segments/data/\",\".gkPIurBtB1w/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/segments/metadata/\",\".Y4YhlbxAB1c/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/segments/metadata/\",\".HYc8fyVPouI/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/segments/metadata/\",\".igzyZCz1ysI/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/segments/lock_files/\",\".uEluEiYmptk/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/segments/lock_files/\",\".TfAD8f06_7A/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/segments/lock_files/\",\".QqKEpasbEGs/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/translog/data/\",\".sNyoimoe1Bw/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/translog/data/\",\".d4YQtONfq50/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/translog/data/\",\".zLr4UXjK8T4/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/0/translog/metadata/\",\"._s8i7ZmlXGE/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/1/translog/metadata/\",\".tvtD3-k5ISg/nxf9yv0/c3ejoi/csbdqiu8a7sdnjdks/2/translog/metadata/\"]}";
9696
assertEquals(expected, xContentBuilder.toString());
9797
}
9898

server/src/test/java/org/opensearch/index/remote/RemoteStoreEnumsTests.java

Lines changed: 90 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,15 @@ public void testGeneratePathForHashedPrefixType() {
165165
BlobPath result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
166166
assertTrue(
167167
result.buildAsString()
168-
.startsWith(String.join(SEPARATOR, FNV_1A_BASE64.hash(pathInput), basePath, dataCategory.getName(), dataType.getName()))
168+
.startsWith(
169+
String.join(
170+
SEPARATOR,
171+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_BASE64.hash(pathInput),
172+
basePath,
173+
dataCategory.getName(),
174+
dataType.getName()
175+
)
176+
)
169177
);
170178

171179
// assert with exact value for known base path
@@ -180,7 +188,7 @@ public void testGeneratePathForHashedPrefixType() {
180188
.dataType(dataType)
181189
.build();
182190
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
183-
assertEquals("DgSI70IciXs/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/data/", result.buildAsString());
191+
assertEquals(".DgSI70IciXs/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/data/", result.buildAsString());
184192

185193
// Translog Metadata
186194
dataType = METADATA;
@@ -194,7 +202,15 @@ public void testGeneratePathForHashedPrefixType() {
194202
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
195203
assertTrue(
196204
result.buildAsString()
197-
.startsWith(String.join(SEPARATOR, FNV_1A_BASE64.hash(pathInput), basePath, dataCategory.getName(), dataType.getName()))
205+
.startsWith(
206+
String.join(
207+
SEPARATOR,
208+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_BASE64.hash(pathInput),
209+
basePath,
210+
dataCategory.getName(),
211+
dataType.getName()
212+
)
213+
)
198214
);
199215

200216
// assert with exact value for known base path
@@ -206,7 +222,7 @@ public void testGeneratePathForHashedPrefixType() {
206222
.dataType(dataType)
207223
.build();
208224
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
209-
assertEquals("oKU5SjILiy4/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/metadata/", result.buildAsString());
225+
assertEquals(".oKU5SjILiy4/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/metadata/", result.buildAsString());
210226

211227
// Translog Lock files - This is a negative case where the assertion will trip.
212228
dataType = LOCK_FILES;
@@ -242,7 +258,15 @@ public void testGeneratePathForHashedPrefixType() {
242258
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
243259
assertTrue(
244260
result.buildAsString()
245-
.startsWith(String.join(SEPARATOR, FNV_1A_BASE64.hash(pathInput), basePath, dataCategory.getName(), dataType.getName()))
261+
.startsWith(
262+
String.join(
263+
SEPARATOR,
264+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_BASE64.hash(pathInput),
265+
basePath,
266+
dataCategory.getName(),
267+
dataType.getName()
268+
)
269+
)
246270
);
247271

248272
// assert with exact value for known base path
@@ -254,7 +278,7 @@ public void testGeneratePathForHashedPrefixType() {
254278
.dataType(dataType)
255279
.build();
256280
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
257-
assertEquals("AUBRfCIuWdk/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/data/", result.buildAsString());
281+
assertEquals(".AUBRfCIuWdk/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/data/", result.buildAsString());
258282

259283
// Segment Metadata
260284
dataType = METADATA;
@@ -268,7 +292,15 @@ public void testGeneratePathForHashedPrefixType() {
268292
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
269293
assertTrue(
270294
result.buildAsString()
271-
.startsWith(String.join(SEPARATOR, FNV_1A_BASE64.hash(pathInput), basePath, dataCategory.getName(), dataType.getName()))
295+
.startsWith(
296+
String.join(
297+
SEPARATOR,
298+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_BASE64.hash(pathInput),
299+
basePath,
300+
dataCategory.getName(),
301+
dataType.getName()
302+
)
303+
)
272304
);
273305

274306
// assert with exact value for known base path
@@ -280,7 +312,7 @@ public void testGeneratePathForHashedPrefixType() {
280312
.dataType(dataType)
281313
.build();
282314
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
283-
assertEquals("erwR-G735Uw/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/metadata/", result.buildAsString());
315+
assertEquals(".erwR-G735Uw/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/metadata/", result.buildAsString());
284316

285317
// Segment Lockfiles
286318
dataType = LOCK_FILES;
@@ -294,7 +326,15 @@ public void testGeneratePathForHashedPrefixType() {
294326
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
295327
assertTrue(
296328
result.buildAsString()
297-
.startsWith(String.join(SEPARATOR, FNV_1A_BASE64.hash(pathInput), basePath, dataCategory.getName(), dataType.getName()))
329+
.startsWith(
330+
String.join(
331+
SEPARATOR,
332+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_BASE64.hash(pathInput),
333+
basePath,
334+
dataCategory.getName(),
335+
dataType.getName()
336+
)
337+
)
298338
);
299339

300340
// assert with exact value for known base path
@@ -306,7 +346,7 @@ public void testGeneratePathForHashedPrefixType() {
306346
.dataType(dataType)
307347
.build();
308348
result = HASHED_PREFIX.path(pathInput, FNV_1A_BASE64);
309-
assertEquals("KeYDIk0mJXI/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/lock_files/", result.buildAsString());
349+
assertEquals(".KeYDIk0mJXI/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/lock_files/", result.buildAsString());
310350
}
311351

312352
public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
@@ -334,7 +374,13 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
334374
assertTrue(
335375
result.buildAsString()
336376
.startsWith(
337-
String.join(SEPARATOR, FNV_1A_COMPOSITE_1.hash(pathInput), basePath, dataCategory.getName(), dataType.getName())
377+
String.join(
378+
SEPARATOR,
379+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_COMPOSITE_1.hash(pathInput),
380+
basePath,
381+
dataCategory.getName(),
382+
dataType.getName()
383+
)
338384
)
339385
);
340386

@@ -350,7 +396,7 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
350396
.dataType(dataType)
351397
.build();
352398
result = HASHED_PREFIX.path(pathInput, FNV_1A_COMPOSITE_1);
353-
assertEquals("D10000001001000/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/data/", result.buildAsString());
399+
assertEquals(".D10000001001000/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/data/", result.buildAsString());
354400

355401
// Translog Metadata
356402
dataType = METADATA;
@@ -365,7 +411,13 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
365411
assertTrue(
366412
result.buildAsString()
367413
.startsWith(
368-
String.join(SEPARATOR, FNV_1A_COMPOSITE_1.hash(pathInput), basePath, dataCategory.getName(), dataType.getName())
414+
String.join(
415+
SEPARATOR,
416+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_COMPOSITE_1.hash(pathInput),
417+
basePath,
418+
dataCategory.getName(),
419+
dataType.getName()
420+
)
369421
)
370422
);
371423

@@ -379,7 +431,7 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
379431
.build();
380432
result = HASHED_PREFIX.path(pathInput, FNV_1A_COMPOSITE_1);
381433
assertEquals(
382-
"o00101001010011/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/metadata/",
434+
".o00101001010011/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/translog/metadata/",
383435
result.buildAsString()
384436
);
385437

@@ -418,7 +470,13 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
418470
assertTrue(
419471
result.buildAsString()
420472
.startsWith(
421-
String.join(SEPARATOR, FNV_1A_COMPOSITE_1.hash(pathInput), basePath, dataCategory.getName(), dataType.getName())
473+
String.join(
474+
SEPARATOR,
475+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_COMPOSITE_1.hash(pathInput),
476+
basePath,
477+
dataCategory.getName(),
478+
dataType.getName()
479+
)
422480
)
423481
);
424482

@@ -431,7 +489,7 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
431489
.dataType(dataType)
432490
.build();
433491
result = HASHED_PREFIX.path(pathInput, FNV_1A_COMPOSITE_1);
434-
assertEquals("A01010000000101/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/data/", result.buildAsString());
492+
assertEquals(".A01010000000101/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/data/", result.buildAsString());
435493

436494
// Segment Metadata
437495
dataType = METADATA;
@@ -446,7 +504,13 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
446504
assertTrue(
447505
result.buildAsString()
448506
.startsWith(
449-
String.join(SEPARATOR, FNV_1A_COMPOSITE_1.hash(pathInput), basePath, dataCategory.getName(), dataType.getName())
507+
String.join(
508+
SEPARATOR,
509+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_COMPOSITE_1.hash(pathInput),
510+
basePath,
511+
dataCategory.getName(),
512+
dataType.getName()
513+
)
450514
)
451515
);
452516

@@ -460,7 +524,7 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
460524
.build();
461525
result = HASHED_PREFIX.path(pathInput, FNV_1A_COMPOSITE_1);
462526
assertEquals(
463-
"e10101111000001/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/metadata/",
527+
".e10101111000001/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/metadata/",
464528
result.buildAsString()
465529
);
466530

@@ -477,7 +541,13 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
477541
assertTrue(
478542
result.buildAsString()
479543
.startsWith(
480-
String.join(SEPARATOR, FNV_1A_COMPOSITE_1.hash(pathInput), basePath, dataCategory.getName(), dataType.getName())
544+
String.join(
545+
SEPARATOR,
546+
RemoteStoreEnums.REMOTE_STORE_DEDICATED_PREFIX_START_CHAR + FNV_1A_COMPOSITE_1.hash(pathInput),
547+
basePath,
548+
dataCategory.getName(),
549+
dataType.getName()
550+
)
481551
)
482552
);
483553

@@ -491,7 +561,7 @@ public void testGeneratePathForHashedPrefixTypeAndFNVCompositeHashAlgorithm() {
491561
.build();
492562
result = HASHED_PREFIX.path(pathInput, FNV_1A_COMPOSITE_1);
493563
assertEquals(
494-
"K01111001100000/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/lock_files/",
564+
".K01111001100000/xjsdhj/ddjsha/yudy7sd/32hdhua7/89jdij/k2ijhe877d7yuhx7/10/segments/lock_files/",
495565
result.buildAsString()
496566
);
497567
}

0 commit comments

Comments
 (0)