Skip to content

Commit b934eb4

Browse files
committed
use single time for unit test
1 parent 52ada9e commit b934eb4

2 files changed

Lines changed: 12 additions & 6 deletions

File tree

server/src/main/java/org/elasticsearch/ingest/IngestService.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,12 @@ private static Map<String, Processor.Factory> processorFactories(List<IngestPlug
125125
}
126126

127127
public static boolean resolvePipelines(final DocWriteRequest<?> originalRequest, final IndexRequest indexRequest,
128-
final Metadata metadata) {
128+
final Metadata metadata) {
129+
return resolvePipelines(originalRequest, indexRequest, metadata, System.currentTimeMillis());
130+
}
131+
132+
public static boolean resolvePipelines(final DocWriteRequest<?> originalRequest, final IndexRequest indexRequest,
133+
final Metadata metadata, final long epochMillis) {
129134
if (indexRequest.isPipelineResolved() == false) {
130135
final String requestPipeline = indexRequest.getPipeline();
131136
indexRequest.setPipeline(NOOP_PIPELINE_NAME);
@@ -135,7 +140,7 @@ public static boolean resolvePipelines(final DocWriteRequest<?> originalRequest,
135140
IndexMetadata indexMetadata = null;
136141
// start to look for default or final pipelines via settings found in the index meta data
137142
if (originalRequest != null) {
138-
indexMetadata = metadata.indices().get(resolveIndexName(originalRequest.index()));
143+
indexMetadata = metadata.indices().get(resolveIndexName(originalRequest.index(), epochMillis));
139144
}
140145
// check the alias for the index request (this is how normal index requests are modeled)
141146
if (indexMetadata == null && indexRequest.index() != null) {
@@ -226,9 +231,9 @@ public static boolean resolvePipelines(final DocWriteRequest<?> originalRequest,
226231
|| NOOP_PIPELINE_NAME.equals(indexRequest.getFinalPipeline()) == false;
227232
}
228233

229-
private static String resolveIndexName(String unresolvedIndexName) {
234+
private static String resolveIndexName(final String unresolvedIndexName, final long epochMillis) {
230235
List<String> resolvedNames = DATE_MATH_EXPRESSION_RESOLVER.resolve(
231-
new IndexNameExpressionResolver.ResolverContext(),
236+
new IndexNameExpressionResolver.ResolverContext(epochMillis),
232237
List.of(unresolvedIndexName)
233238
);
234239
assert resolvedNames.size() == 1;

server/src/test/java/org/elasticsearch/ingest/IngestServiceTests.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,16 +1378,17 @@ public void testResolveFinalPipeline() {
13781378
}
13791379

13801380
public void testResolveFinalPipelineWithDateMathExpression() {
1381+
final long epochMillis = randomLongBetween(1, System.currentTimeMillis());
13811382
final DateFormatter dateFormatter = DateFormatter.forPattern("uuuu.MM.dd");
1382-
IndexMetadata.Builder builder = IndexMetadata.builder("idx-" + dateFormatter.formatMillis(System.currentTimeMillis()))
1383+
IndexMetadata.Builder builder = IndexMetadata.builder("idx-" + dateFormatter.formatMillis(epochMillis))
13831384
.settings(settings(Version.CURRENT).put(IndexSettings.FINAL_PIPELINE.getKey(), "final-pipeline"))
13841385
.numberOfShards(1)
13851386
.numberOfReplicas(0);
13861387
Metadata metadata = Metadata.builder().put(builder).build();
13871388

13881389
// index name matches with IDM:
13891390
IndexRequest indexRequest = new IndexRequest("<idx-{now/d}>");
1390-
boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata);
1391+
boolean result = IngestService.resolvePipelines(indexRequest, indexRequest, metadata, epochMillis);
13911392
assertThat(result, is(true));
13921393
assertThat(indexRequest.isPipelineResolved(), is(true));
13931394
assertThat(indexRequest.getPipeline(), equalTo("_none"));

0 commit comments

Comments
 (0)