From 5f8be7289fe49be2b29e5691ab162dc3716965a2 Mon Sep 17 00:00:00 2001 From: Tanguy Leroux Date: Mon, 28 Jun 2021 16:59:33 +0200 Subject: [PATCH] Add test logging to debug SearchableSnapshotsLicenseIntegTests.testShardAllocationOnInvalidLicense (#74621) Relates #72329 --- .../SearchableSnapshotsLicenseIntegTests.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshotsLicenseIntegTests.java b/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshotsLicenseIntegTests.java index c158e381a3ac4..d7b828ef9ed55 100644 --- a/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshotsLicenseIntegTests.java +++ b/x-pack/plugin/searchable-snapshots/src/internalClusterTest/java/org/elasticsearch/xpack/searchablesnapshots/SearchableSnapshotsLicenseIntegTests.java @@ -23,6 +23,7 @@ import org.elasticsearch.cluster.ClusterState; import org.elasticsearch.cluster.health.ClusterHealthStatus; import org.elasticsearch.cluster.metadata.Metadata; +import org.elasticsearch.cluster.service.ClusterService; import org.elasticsearch.common.Strings; import org.elasticsearch.common.settings.Settings; import org.elasticsearch.license.DeleteLicenseAction; @@ -35,6 +36,7 @@ import org.elasticsearch.license.PostStartTrialResponse; import org.elasticsearch.protocol.xpack.license.DeleteLicenseRequest; import org.elasticsearch.test.ESIntegTestCase; +import org.elasticsearch.test.junit.annotations.TestLogging; import org.elasticsearch.xpack.core.searchablesnapshots.MountSearchableSnapshotAction; import org.elasticsearch.xpack.core.searchablesnapshots.MountSearchableSnapshotRequest; import org.elasticsearch.xpack.searchablesnapshots.action.ClearSearchableSnapshotsCacheAction; @@ -143,6 +145,7 @@ public void testClearCacheRequiresLicense() throws ExecutionException, Interrupt } } + @TestLogging(reason = "https://github.com/elastic/elasticsearch/issues/72329", value = "org.elasticsearch.license:DEBUG") public void testShardAllocationOnInvalidLicense() throws Exception { // check that shards have been failed as part of invalid license assertBusy( @@ -167,10 +170,23 @@ public void testShardAllocationOnInvalidLicense() throws Exception { waitNoPendingTasksOnAll(); ensureClusterStateConsistency(); - PostStartTrialRequest startTrialRequest = new PostStartTrialRequest().setType(License.LicenseType.TRIAL.getTypeName()) - .acknowledge(true); - PostStartTrialResponse resp = client().execute(PostStartTrialAction.INSTANCE, startTrialRequest).get(); - assertEquals(PostStartTrialResponse.Status.UPGRADED_TO_TRIAL, resp.getStatus()); + try { + PostStartTrialRequest startTrialRequest = new PostStartTrialRequest().setType(License.LicenseType.TRIAL.getTypeName()) + .acknowledge(true); + PostStartTrialResponse resp = client().execute(PostStartTrialAction.INSTANCE, startTrialRequest).get(); + assertEquals(PostStartTrialResponse.Status.UPGRADED_TO_TRIAL, resp.getStatus()); + } catch (AssertionError ae) { + try { + final ClusterService clusterService = internalCluster().getCurrentMasterNodeInstance(ClusterService.class); + logger.error( + "Failed to start trial license again, cluster state on master node is:\n{}", + Strings.toString(clusterService.state(), false, true) + ); + } catch (Exception e) { + ae.addSuppressed(e); + } + throw ae; + } // check if cluster goes green again after valid license has been put in place ensureGreen(indexName); }