Skip to content

Commit

Permalink
[Transform] Upgrader: only expand ids based on transform configs (#80076
Browse files Browse the repository at this point in the history
)

adds a filter when retrieving outdated transform ids, only transform configurations are of interest

fixes #80073
  • Loading branch information
Hendrik Muhs authored Oct 29, 2021
1 parent 742f404 commit 4f2ff7f
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,12 @@
public class TransformCheckpointTests extends AbstractSerializingTransformTestCase<TransformCheckpoint> {

public static TransformCheckpoint randomTransformCheckpoint() {
return randomTransformCheckpoint(randomAlphaOfLengthBetween(1, 10));
}

public static TransformCheckpoint randomTransformCheckpoint(String transformId) {
return new TransformCheckpoint(
randomAlphaOfLengthBetween(1, 10),
transformId,
randomNonNegativeLong(),
randomNonNegativeLong(),
randomCheckpointsByIndex(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -419,9 +419,9 @@ public void testGetAllTransformIdsAndGetAllOutdatedTransformIds() throws Excepti
);

// add another old one, but not with an existing id
transformId = "transform_oldindex";
docId = TransformConfig.documentId(transformId);
transformConfig = TransformConfigTests.randomTransformConfig(transformId);
final String oldTransformId = "transform_oldindex";
docId = TransformConfig.documentId(oldTransformId);
transformConfig = TransformConfigTests.randomTransformConfig(oldTransformId);

try (XContentBuilder builder = XContentFactory.jsonBuilder()) {
XContentBuilder source = transformConfig.toXContent(builder, new ToXContent.MapParams(TO_XCONTENT_PARAMS));
Expand All @@ -431,18 +431,29 @@ public void testGetAllTransformIdsAndGetAllOutdatedTransformIds() throws Excepti
client().index(request).actionGet();
}

transformIds.add(transformId);
// add a new checkpoint doc for the old transform to check id expansion ignores other documents, see gh#80073
assertAsync(
listener -> transformConfigManager.putTransformCheckpoint(
TransformCheckpointTests.randomTransformCheckpoint(oldTransformId),
listener
),
true,
null,
null
);

transformIds.add(oldTransformId);
assertAsync(listener -> transformConfigManager.getAllTransformIds(listener), transformIds, null, null);
assertAsync(
listener -> transformConfigManager.getAllOutdatedTransformIds(listener),
tuple(Long.valueOf(numberOfTransformsToGenerate + 1), Collections.singleton(transformId)),
tuple(Long.valueOf(numberOfTransformsToGenerate + 1), Collections.singleton(oldTransformId)),
null,
null
);

assertAsync(
listener -> transformConfigManager.expandAllTransformIds(true, 10, listener),
tuple(Long.valueOf(numberOfTransformsToGenerate + 1), Collections.singleton(transformId)),
tuple(Long.valueOf(numberOfTransformsToGenerate + 1), Collections.singleton(oldTransformId)),
null,
null
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -882,6 +882,10 @@ private void recursiveExpandAllTransformIds(
.setSize(page.getSize())
.setFetchSource(false)
.addDocValueField(TransformField.ID.getPreferredName())
.setQuery(
QueryBuilders.boolQuery()
.filter(QueryBuilders.termQuery(TransformField.INDEX_DOC_TYPE.getPreferredName(), TransformConfig.NAME))
)
.request();

executeAsyncWithOrigin(
Expand Down

0 comments on commit 4f2ff7f

Please sign in to comment.