Skip to content

Commit 668b506

Browse files
david-leifkerRyanHolstien
authored andcommitted
fix(elasticsearch): refactor idHashAlgo setting (#11193)
1 parent 3418ed3 commit 668b506

File tree

40 files changed

+90
-109
lines changed

40 files changed

+90
-109
lines changed

docker/datahub-gms/env/docker-without-neo4j.env

-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@ PE_CONSUMER_ENABLED=true
2323
UI_INGESTION_ENABLED=true
2424
ENTITY_SERVICE_ENABLE_RETENTION=true
2525

26-
ELASTIC_ID_HASH_ALGO=MD5
27-
2826
# Uncomment to disable persistence of client-side analytics events
2927
# DATAHUB_ANALYTICS_ENABLED=false
3028

docker/datahub-gms/env/docker.env

-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@ MCE_CONSUMER_ENABLED=true
2727
PE_CONSUMER_ENABLED=true
2828
UI_INGESTION_ENABLED=true
2929

30-
ELASTIC_ID_HASH_ALGO=MD5
31-
3230
# Uncomment to enable Metadata Service Authentication
3331
METADATA_SERVICE_AUTH_ENABLED=false
3432

docker/datahub-mae-consumer/env/docker-without-neo4j.env

-2
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,6 @@ ES_BULK_REFRESH_POLICY=WAIT_UNTIL
1313
GRAPH_SERVICE_IMPL=elasticsearch
1414
ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-mae-consumer/resources/entity-registry.yml
1515

16-
ELASTIC_ID_HASH_ALGO=MD5
17-
1816
# Uncomment to disable persistence of client-side analytics events
1917
# DATAHUB_ANALYTICS_ENABLED=false
2018

docker/datahub-mae-consumer/env/docker.env

-2
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ NEO4J_PASSWORD=datahub
1717
GRAPH_SERVICE_IMPL=neo4j
1818
ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-mae-consumer/resources/entity-registry.yml
1919

20-
ELASTIC_ID_HASH_ALGO=MD5
21-
2220
# Uncomment to disable persistence of client-side analytics events
2321
# DATAHUB_ANALYTICS_ENABLED=false
2422

docker/datahub-mce-consumer/env/docker-without-neo4j.env

-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ MAE_CONSUMER_ENABLED=false
2424
PE_CONSUMER_ENABLED=false
2525
UI_INGESTION_ENABLED=false
2626

27-
ELASTIC_ID_HASH_ALGO=MD5
28-
2927
# Uncomment to configure kafka topic names
3028
# Make sure these names are consistent across the whole deployment
3129
# METADATA_CHANGE_PROPOSAL_TOPIC_NAME=MetadataChangeProposal_v1

docker/datahub-mce-consumer/env/docker.env

-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ MAE_CONSUMER_ENABLED=false
2424
PE_CONSUMER_ENABLED=false
2525
UI_INGESTION_ENABLED=false
2626

27-
ELASTIC_ID_HASH_ALGO=MD5
28-
2927
# Uncomment to configure kafka topic names
3028
# Make sure these names are consistent across the whole deployment
3129
# METADATA_CHANGE_PROPOSAL_TOPIC_NAME=MetadataChangeProposal_v1

docker/quickstart/docker-compose-m1.quickstart.yml

-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ services:
8686
- ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX=true
8787
- ELASTICSEARCH_INDEX_BUILDER_SETTINGS_REINDEX=true
8888
- ELASTICSEARCH_PORT=9200
89-
- ELASTIC_ID_HASH_ALGO=MD5
9089
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml
9190
- ENTITY_SERVICE_ENABLE_RETENTION=true
9291
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL

docker/quickstart/docker-compose-without-neo4j-m1.quickstart.yml

-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ services:
8686
- ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX=true
8787
- ELASTICSEARCH_INDEX_BUILDER_SETTINGS_REINDEX=true
8888
- ELASTICSEARCH_PORT=9200
89-
- ELASTIC_ID_HASH_ALGO=MD5
9089
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml
9190
- ENTITY_SERVICE_ENABLE_RETENTION=true
9291
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL

docker/quickstart/docker-compose-without-neo4j.quickstart.yml

-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ services:
8686
- ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX=true
8787
- ELASTICSEARCH_INDEX_BUILDER_SETTINGS_REINDEX=true
8888
- ELASTICSEARCH_PORT=9200
89-
- ELASTIC_ID_HASH_ALGO=MD5
9089
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml
9190
- ENTITY_SERVICE_ENABLE_RETENTION=true
9291
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL

docker/quickstart/docker-compose.consumers-without-neo4j.quickstart.yml

-2
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ services:
1919
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL
2020
- GRAPH_SERVICE_IMPL=elasticsearch
2121
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-mae-consumer/resources/entity-registry.yml
22-
- ELASTIC_ID_HASH_ALGO=MD5
2322
hostname: datahub-mae-consumer
2423
image: ${DATAHUB_MAE_CONSUMER_IMAGE:-acryldata/datahub-mae-consumer}:${DATAHUB_VERSION:-head}
2524
ports:
@@ -38,7 +37,6 @@ services:
3837
- EBEAN_DATASOURCE_USERNAME=datahub
3938
- ELASTICSEARCH_HOST=elasticsearch
4039
- ELASTICSEARCH_PORT=9200
41-
- ELASTIC_ID_HASH_ALGO=MD5
4240
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-mce-consumer/resources/entity-registry.yml
4341
- ENTITY_SERVICE_ENABLE_RETENTION=true
4442
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL

docker/quickstart/docker-compose.consumers.quickstart.yml

-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ services:
2626
- NEO4J_PASSWORD=datahub
2727
- GRAPH_SERVICE_IMPL=neo4j
2828
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-mae-consumer/resources/entity-registry.yml
29-
- ELASTIC_ID_HASH_ALGO=MD5
3029
hostname: datahub-mae-consumer
3130
image: ${DATAHUB_MAE_CONSUMER_IMAGE:-acryldata/datahub-mae-consumer}:${DATAHUB_VERSION:-head}
3231
ports:
@@ -48,7 +47,6 @@ services:
4847
- EBEAN_DATASOURCE_USERNAME=datahub
4948
- ELASTICSEARCH_HOST=elasticsearch
5049
- ELASTICSEARCH_PORT=9200
51-
- ELASTIC_ID_HASH_ALGO=MD5
5250
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-mce-consumer/resources/entity-registry.yml
5351
- ENTITY_SERVICE_ENABLE_RETENTION=true
5452
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL

docker/quickstart/docker-compose.quickstart.yml

-1
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ services:
8686
- ELASTICSEARCH_INDEX_BUILDER_MAPPINGS_REINDEX=true
8787
- ELASTICSEARCH_INDEX_BUILDER_SETTINGS_REINDEX=true
8888
- ELASTICSEARCH_PORT=9200
89-
- ELASTIC_ID_HASH_ALGO=MD5
9089
- ENTITY_REGISTRY_CONFIG_PATH=/datahub/datahub-gms/resources/entity-registry.yml
9190
- ENTITY_SERVICE_ENABLE_RETENTION=true
9291
- ES_BULK_REFRESH_POLICY=WAIT_UNTIL

entity-registry/src/main/java/com/linkedin/metadata/aspect/models/graph/Edge.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import java.util.Map;
1414
import java.util.Optional;
1515
import java.util.stream.Collectors;
16+
import javax.annotation.Nonnull;
1617
import lombok.AllArgsConstructor;
1718
import lombok.Data;
1819
import lombok.EqualsAndHashCode;
@@ -59,7 +60,7 @@ public Edge(
5960
null);
6061
}
6162

62-
public String toDocId() {
63+
public String toDocId(@Nonnull String idHashAlgo) {
6364
StringBuilder rawDocId = new StringBuilder();
6465
rawDocId
6566
.append(getSource().toString())
@@ -72,9 +73,8 @@ public String toDocId() {
7273
}
7374

7475
try {
75-
String hashAlgo = System.getenv("ELASTIC_ID_HASH_ALGO");
7676
byte[] bytesOfRawDocID = rawDocId.toString().getBytes(StandardCharsets.UTF_8);
77-
MessageDigest md = MessageDigest.getInstance(hashAlgo);
77+
MessageDigest md = MessageDigest.getInstance(idHashAlgo);
7878
byte[] thedigest = md.digest(bytesOfRawDocID);
7979
return Base64.getEncoder().encodeToString(thedigest);
8080
} catch (NoSuchAlgorithmException e) {

metadata-io/build.gradle

-1
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,6 @@ test {
130130
// override, testng controlling parallelization
131131
// increasing >1 will merely run all tests extra times
132132
maxParallelForks = 1
133-
environment "ELASTIC_ID_HASH_ALGO", "MD5"
134133
}
135134
useTestNG() {
136135
suites 'src/test/resources/testng.xml'

metadata-io/src/main/java/com/linkedin/metadata/graph/elastic/ElasticSearchGraphService.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ public class ElasticSearchGraphService implements GraphService, ElasticSearchInd
6464
private final ESGraphWriteDAO _graphWriteDAO;
6565
private final ESGraphQueryDAO _graphReadDAO;
6666
private final ESIndexBuilder _indexBuilder;
67+
private final String idHashAlgo;
6768
public static final String INDEX_NAME = "graph_service_v1";
6869
private static final Map<String, Object> EMPTY_HASH = new HashMap<>();
6970

@@ -125,7 +126,7 @@ public LineageRegistry getLineageRegistry() {
125126

126127
@Override
127128
public void addEdge(@Nonnull final Edge edge) {
128-
String docId = edge.toDocId();
129+
String docId = edge.toDocId(idHashAlgo);
129130
String edgeDocument = toDocument(edge);
130131
_graphWriteDAO.upsertDocument(docId, edgeDocument);
131132
}
@@ -137,7 +138,7 @@ public void upsertEdge(@Nonnull final Edge edge) {
137138

138139
@Override
139140
public void removeEdge(@Nonnull final Edge edge) {
140-
String docId = edge.toDocId();
141+
String docId = edge.toDocId(idHashAlgo);
141142
_graphWriteDAO.deleteDocument(docId);
142143
}
143144

metadata-io/src/main/java/com/linkedin/metadata/service/UpdateIndicesService.java

+7-2
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,7 @@ public class UpdateIndicesService implements SearchIndicesService {
8080
private final SystemMetadataService _systemMetadataService;
8181
private final SearchDocumentTransformer _searchDocumentTransformer;
8282
private final EntityIndexBuilders _entityIndexBuilders;
83+
@Nonnull private final String idHashAlgo;
8384

8485
@Value("${featureFlags.graphServiceDiffModeEnabled:true}")
8586
private boolean _graphDiffMode;
@@ -117,13 +118,15 @@ public UpdateIndicesService(
117118
TimeseriesAspectService timeseriesAspectService,
118119
SystemMetadataService systemMetadataService,
119120
SearchDocumentTransformer searchDocumentTransformer,
120-
EntityIndexBuilders entityIndexBuilders) {
121+
EntityIndexBuilders entityIndexBuilders,
122+
@Nonnull String idHashAlgo) {
121123
_graphService = graphService;
122124
_entitySearchService = entitySearchService;
123125
_timeseriesAspectService = timeseriesAspectService;
124126
_systemMetadataService = systemMetadataService;
125127
_searchDocumentTransformer = searchDocumentTransformer;
126128
_entityIndexBuilders = entityIndexBuilders;
129+
this.idHashAlgo = idHashAlgo;
127130
}
128131

129132
@Override
@@ -601,7 +604,9 @@ private void updateTimeseriesFields(
601604
SystemMetadata systemMetadata) {
602605
Map<String, JsonNode> documents;
603606
try {
604-
documents = TimeseriesAspectTransformer.transform(urn, aspect, aspectSpec, systemMetadata);
607+
documents =
608+
TimeseriesAspectTransformer.transform(
609+
urn, aspect, aspectSpec, systemMetadata, idHashAlgo);
605610
} catch (JsonProcessingException e) {
606611
log.error("Failed to generate timeseries document from aspect: {}", e.toString());
607612
return;

metadata-io/src/main/java/com/linkedin/metadata/timeseries/transformer/TimeseriesAspectTransformer.java

+11-9
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ public static Map<String, JsonNode> transform(
5454
@Nonnull final Urn urn,
5555
@Nonnull final RecordTemplate timeseriesAspect,
5656
@Nonnull final AspectSpec aspectSpec,
57-
@Nullable final SystemMetadata systemMetadata)
57+
@Nullable final SystemMetadata systemMetadata,
58+
@Nonnull final String idHashAlgo)
5859
throws JsonProcessingException {
5960
ObjectNode commonDocument = getCommonDocument(urn, timeseriesAspect, systemMetadata);
6061
Map<String, JsonNode> finalDocuments = new HashMap<>();
@@ -74,7 +75,7 @@ public static Map<String, JsonNode> transform(
7475
final Map<TimeseriesFieldSpec, List<Object>> timeseriesFieldValueMap =
7576
FieldExtractor.extractFields(timeseriesAspect, aspectSpec.getTimeseriesFieldSpecs());
7677
timeseriesFieldValueMap.forEach((k, v) -> setTimeseriesField(document, k, v));
77-
finalDocuments.put(getDocId(document, null), document);
78+
finalDocuments.put(getDocId(document, null, idHashAlgo), document);
7879

7980
// Create new rows for the member collection fields.
8081
final Map<TimeseriesFieldCollectionSpec, List<Object>> timeseriesFieldCollectionValueMap =
@@ -83,7 +84,7 @@ public static Map<String, JsonNode> transform(
8384
timeseriesFieldCollectionValueMap.forEach(
8485
(key, values) ->
8586
finalDocuments.putAll(
86-
getTimeseriesFieldCollectionDocuments(key, values, commonDocument)));
87+
getTimeseriesFieldCollectionDocuments(key, values, commonDocument, idHashAlgo)));
8788
return finalDocuments;
8889
}
8990

@@ -216,12 +217,13 @@ private static void setTimeseriesField(
216217
private static Map<String, JsonNode> getTimeseriesFieldCollectionDocuments(
217218
final TimeseriesFieldCollectionSpec fieldSpec,
218219
final List<Object> values,
219-
final ObjectNode commonDocument) {
220+
final ObjectNode commonDocument,
221+
@Nonnull final String idHashAlgo) {
220222
return values.stream()
221223
.map(value -> getTimeseriesFieldCollectionDocument(fieldSpec, value, commonDocument))
222224
.collect(
223225
Collectors.toMap(
224-
keyDocPair -> getDocId(keyDocPair.getSecond(), keyDocPair.getFirst()),
226+
keyDocPair -> getDocId(keyDocPair.getSecond(), keyDocPair.getFirst(), idHashAlgo),
225227
Pair::getSecond));
226228
}
227229

@@ -257,9 +259,9 @@ private static Pair<String, ObjectNode> getTimeseriesFieldCollectionDocument(
257259
finalDocument);
258260
}
259261

260-
private static String getDocId(@Nonnull JsonNode document, String collectionId)
262+
private static String getDocId(
263+
@Nonnull JsonNode document, String collectionId, @Nonnull String idHashAlgo)
261264
throws IllegalArgumentException {
262-
String hashAlgo = System.getenv("ELASTIC_ID_HASH_ALGO");
263265
String docId = document.get(MappingsBuilder.TIMESTAMP_MILLIS_FIELD).toString();
264266
JsonNode eventGranularity = document.get(MappingsBuilder.EVENT_GRANULARITY);
265267
if (eventGranularity != null) {
@@ -278,9 +280,9 @@ private static String getDocId(@Nonnull JsonNode document, String collectionId)
278280
docId += partitionSpec.toString();
279281
}
280282

281-
if (hashAlgo.equalsIgnoreCase("SHA-256")) {
283+
if (idHashAlgo.equalsIgnoreCase("SHA-256")) {
282284
return DigestUtils.sha256Hex(docId);
283-
} else if (hashAlgo.equalsIgnoreCase("MD5")) {
285+
} else if (idHashAlgo.equalsIgnoreCase("MD5")) {
284286
return DigestUtils.md5Hex(docId);
285287
}
286288
throw new IllegalArgumentException("Hash function not handled !");

metadata-io/src/test/java/com/linkedin/metadata/graph/search/SearchGraphServiceTestBase.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public abstract class SearchGraphServiceTestBase extends GraphServiceTestBase {
6262
@Nonnull
6363
protected abstract ESIndexBuilder getIndexBuilder();
6464

65-
private final IndexConvention _indexConvention = IndexConventionImpl.NO_PREFIX;
65+
private final IndexConvention _indexConvention = IndexConventionImpl.noPrefix("MD5");
6666
private final String _indexName = _indexConvention.getIndexName(INDEX_NAME);
6767
private ElasticSearchGraphService _client;
6868

@@ -108,7 +108,8 @@ private ElasticSearchGraphService buildService(boolean enableMultiPathSearch) {
108108
_indexConvention,
109109
writeDAO,
110110
readDAO,
111-
getIndexBuilder());
111+
getIndexBuilder(),
112+
"MD5");
112113
}
113114

114115
@Override

metadata-io/src/test/java/com/linkedin/metadata/search/LineageServiceTestBase.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public void setup() throws RemoteInvocationException, URISyntaxException {
122122
operationContext =
123123
TestOperationContexts.systemContextNoSearchAuthorization(
124124
new SnapshotEntityRegistry(new Snapshot()),
125-
new IndexConventionImpl("lineage_search_service_test"))
125+
new IndexConventionImpl("lineage_search_service_test", "MD5"))
126126
.asSession(RequestContext.TEST, Authorizer.EMPTY, TestOperationContexts.TEST_USER_AUTH);
127127
settingsBuilder = new SettingsBuilder(null);
128128
elasticSearchService = buildEntitySearchService();

metadata-io/src/test/java/com/linkedin/metadata/search/SearchServiceTestBase.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public void setup() throws RemoteInvocationException, URISyntaxException {
7979
operationContext =
8080
TestOperationContexts.systemContextNoSearchAuthorization(
8181
new SnapshotEntityRegistry(new Snapshot()),
82-
new IndexConventionImpl("search_service_test"))
82+
new IndexConventionImpl("search_service_test", "MD5"))
8383
.asSession(RequestContext.TEST, Authorizer.EMPTY, TestOperationContexts.TEST_USER_AUTH);
8484

8585
settingsBuilder = new SettingsBuilder(null);

metadata-io/src/test/java/com/linkedin/metadata/search/TestEntityTestBase.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,8 @@ public abstract class TestEntityTestBase extends AbstractTestNGSpringContextTest
6262
public void setup() {
6363
opContext =
6464
TestOperationContexts.systemContextNoSearchAuthorization(
65-
new SnapshotEntityRegistry(new Snapshot()), new IndexConventionImpl("es_service_test"));
65+
new SnapshotEntityRegistry(new Snapshot()),
66+
new IndexConventionImpl("es_service_test", "MD5"));
6667
settingsBuilder = new SettingsBuilder(null);
6768
elasticSearchService = buildService();
6869
elasticSearchService.reindexAll(Collections.emptySet());

metadata-io/src/test/java/com/linkedin/metadata/search/query/BrowseDAOTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ public void setup() throws RemoteInvocationException, URISyntaxException {
4545
mockClient = mock(RestHighLevelClient.class);
4646
opContext =
4747
TestOperationContexts.systemContextNoSearchAuthorization(
48-
new IndexConventionImpl("es_browse_dao_test"));
48+
new IndexConventionImpl("es_browse_dao_test", "MD5"));
4949
browseDAO = new ESBrowseDAO(mockClient, searchConfiguration, customSearchConfiguration);
5050
}
5151

metadata-io/src/test/java/com/linkedin/metadata/systemmetadata/SystemMetadataServiceTestBase.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public abstract class SystemMetadataServiceTestBase extends AbstractTestNGSpring
3232
protected abstract ESIndexBuilder getIndexBuilder();
3333

3434
private final IndexConvention _indexConvention =
35-
new IndexConventionImpl("es_system_metadata_service_test");
35+
new IndexConventionImpl("es_system_metadata_service_test", "MD5");
3636

3737
private ElasticSearchSystemMetadataService _client;
3838

metadata-io/src/test/java/com/linkedin/metadata/timeseries/search/TimeseriesAspectServiceTestBase.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ public void setup() throws RemoteInvocationException, URISyntaxException {
126126

127127
opContext =
128128
TestOperationContexts.systemContextNoSearchAuthorization(
129-
entityRegistry, new IndexConventionImpl("es_timeseries_aspect_service_test"));
129+
entityRegistry, new IndexConventionImpl("es_timeseries_aspect_service_test", "MD5"));
130130

131131
elasticSearchTimeseriesAspectService = buildService();
132132
elasticSearchTimeseriesAspectService.reindexAll(Collections.emptySet());
@@ -152,7 +152,7 @@ private ElasticSearchTimeseriesAspectService buildService() {
152152

153153
private void upsertDocument(TestEntityProfile dp, Urn urn) throws JsonProcessingException {
154154
Map<String, JsonNode> documents =
155-
TimeseriesAspectTransformer.transform(urn, dp, aspectSpec, null);
155+
TimeseriesAspectTransformer.transform(urn, dp, aspectSpec, null, "MD5");
156156
assertEquals(documents.size(), 3);
157157
documents.forEach(
158158
(key, value) ->

metadata-io/src/test/java/io/datahubproject/test/fixtures/search/SampleDataFixtureConfiguration.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -86,12 +86,12 @@ protected String longTailIndexPrefix() {
8686

8787
@Bean(name = "sampleDataIndexConvention")
8888
protected IndexConvention indexConvention(@Qualifier("sampleDataPrefix") String prefix) {
89-
return new IndexConventionImpl(prefix);
89+
return new IndexConventionImpl(prefix, "MD5");
9090
}
9191

9292
@Bean(name = "longTailIndexConvention")
9393
protected IndexConvention longTailIndexConvention(@Qualifier("longTailPrefix") String prefix) {
94-
return new IndexConventionImpl(prefix);
94+
return new IndexConventionImpl(prefix, "MD5");
9595
}
9696

9797
@Bean(name = "sampleDataFixtureName")

0 commit comments

Comments
 (0)