Skip to content

Commit 208ae57

Browse files
authored
[ML] Fix and unmute Transform upgrade test (#132995)
1 parent e487634 commit 208ae57

File tree

5 files changed

+24
-22
lines changed

5 files changed

+24
-22
lines changed

muted-tests.yml

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -393,9 +393,6 @@ tests:
393393
- class: org.elasticsearch.packaging.test.ArchiveGenerateInitialCredentialsTests
394394
method: test50CredentialAutogenerationOnlyOnce
395395
issue: https://github.com/elastic/elasticsearch/issues/132878
396-
- class: org.elasticsearch.upgrades.TransformSurvivesUpgradeIT
397-
method: testTransformRollingUpgrade
398-
issue: https://github.com/elastic/elasticsearch/issues/132892
399396
- class: org.elasticsearch.xpack.eql.planner.QueryTranslatorTests
400397
method: testMatchOptimization
401398
issue: https://github.com/elastic/elasticsearch/issues/132894

x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/action/TransportUpgradeTransformsAction.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import org.apache.logging.log4j.Logger;
1212
import org.elasticsearch.ElasticsearchStatusException;
1313
import org.elasticsearch.ResourceNotFoundException;
14-
import org.elasticsearch.TransportVersion;
1514
import org.elasticsearch.action.ActionListener;
1615
import org.elasticsearch.action.support.ActionFilters;
1716
import org.elasticsearch.action.support.master.TransportMasterNodeAction;
@@ -107,7 +106,7 @@ protected void masterOperation(Task ignoredTask, Request request, ClusterState s
107106
}
108107

109108
// do not allow in mixed clusters
110-
if (state.getMinTransportVersion().equals(TransportVersion.current()) == false) {
109+
if (state.nodes().isMixedVersionCluster()) {
111110
listener.onFailure(
112111
new ElasticsearchStatusException("Cannot upgrade transforms while cluster upgrade is in progress.", RestStatus.CONFLICT)
113112
);

x-pack/plugin/transform/src/main/java/org/elasticsearch/xpack/transform/persistence/IndexBasedTransformConfigManager.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -295,16 +295,19 @@ public void deleteOldIndices(ActionListener<Boolean> listener) {
295295

296296
// use the transform context as we access system indexes
297297
try (ThreadContext.StoredContext ctx = client.threadPool().getThreadContext().stashWithOrigin(TRANSFORM_ORIGIN)) {
298-
indicesToDelete.addAll(
299-
Arrays.asList(
300-
indexNameExpressionResolver.concreteIndexNames(
301-
state,
302-
IndicesOptions.lenientExpandHidden(),
303-
TransformInternalIndexConstants.INDEX_NAME_PATTERN
304-
)
305-
)
298+
var matchingIndexes = indexNameExpressionResolver.concreteIndices(
299+
state,
300+
IndicesOptions.lenientExpandHidden(),
301+
TransformInternalIndexConstants.INDEX_NAME_PATTERN
306302
);
307303

304+
for (var index : matchingIndexes) {
305+
var meta = state.getMetadata().indexMetadata(index);
306+
if (meta.isSystem() == false) { // ignore system indices as these are automatically managed
307+
indicesToDelete.add(meta.getIndex().getName());
308+
}
309+
}
310+
308311
indicesToDelete.addAll(
309312
Arrays.asList(
310313
indexNameExpressionResolver.concreteIndexNames(

x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/MLModelDeploymentsUpgradeIT.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,10 @@ public void setUpLogging() throws IOException {
7373
request.setJsonEntity("""
7474
{
7575
"persistent": {
76-
"logger.org.elasticsearch.xpack.ml.inference": "TRACE",
76+
"logger.org.elasticsearch.xpack.ml.inference": "DEBUG",
7777
"logger.org.elasticsearch.xpack.ml.inference.assignments": "DEBUG",
7878
"logger.org.elasticsearch.xpack.ml.process": "DEBUG",
79-
"logger.org.elasticsearch.xpack.ml.action": "TRACE"
79+
"logger.org.elasticsearch.xpack.ml.action": "DEBUG"
8080
}
8181
}
8282
""");

x-pack/qa/rolling-upgrade/src/test/java/org/elasticsearch/upgrades/TransformSurvivesUpgradeIT.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import org.apache.http.HttpHost;
1010
import org.apache.http.entity.ContentType;
1111
import org.apache.http.entity.StringEntity;
12+
import org.elasticsearch.Version;
1213
import org.elasticsearch.client.Request;
1314
import org.elasticsearch.client.Response;
1415
import org.elasticsearch.client.RestClient;
@@ -130,11 +131,11 @@ private void createAndStartContinuousTransform() throws Exception {
130131

131132
assertBusy(() -> {
132133
var stateAndStats = getTransformStats(CONTINUOUS_TRANSFORM_ID);
134+
assertThat((Integer) XContentMapValues.extractValue("stats.documents_indexed", stateAndStats), equalTo(ENTITIES.size()));
133135
assertThat(
134-
((Integer) XContentMapValues.extractValue("stats.documents_indexed", stateAndStats)).longValue(),
135-
equalTo(ENTITIES.size())
136+
((Integer) XContentMapValues.extractValue("stats.documents_processed", stateAndStats)).longValue(),
137+
equalTo(totalDocsWritten)
136138
);
137-
assertThat((Integer) XContentMapValues.extractValue("stats.documents_processed", stateAndStats), equalTo(totalDocsWritten));
138139
// Even if we get back to started, we may periodically get set back to `indexing` when triggered.
139140
// Though short lived due to no changes on the source indices, it could result in flaky test behavior
140141
assertThat(stateAndStats.get("state"), oneOf("started", "indexing"));
@@ -236,10 +237,12 @@ private void verifyUpgradeFailsIfMixedCluster() {
236237
if (isOriginalClusterCurrent()) {
237238
return;
238239
}
239-
final Request upgradeTransformRequest = new Request("POST", getTransformEndpoint() + "_upgrade");
240-
241-
Exception ex = expectThrows(Exception.class, () -> client().performRequest(upgradeTransformRequest));
242-
assertThat(ex.getMessage(), containsString("All nodes must be the same version"));
240+
var oldestVersion = Version.fromString(UPGRADE_FROM_VERSION);
241+
if (oldestVersion.onOrAfter(Version.V_9_3_0)) {
242+
final Request upgradeTransformRequest = new Request("POST", getTransformEndpoint() + "_upgrade");
243+
Exception ex = expectThrows(Exception.class, () -> client().performRequest(upgradeTransformRequest));
244+
assertThat(ex.getMessage(), containsString("Cannot upgrade transforms while cluster upgrade is in progress"));
245+
}
243246
}
244247

245248
private void verifyUpgrade() throws IOException {

0 commit comments

Comments
 (0)