From e30ee90143d38d3837469ac584e958425a96efcf Mon Sep 17 00:00:00 2001 From: gmarouli Date: Fri, 31 Oct 2025 21:00:41 +0200 Subject: [PATCH] Add logging so we can time the downsampling action --- .../downsample/DownsampleTransportFailureIT.java | 6 ++++++ .../xpack/downsample/TransportDownsampleAction.java | 11 +++++++++++ 2 files changed, 17 insertions(+) diff --git a/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/DownsampleTransportFailureIT.java b/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/DownsampleTransportFailureIT.java index c32316a3d00cf..b8cfa4ab21937 100644 --- a/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/DownsampleTransportFailureIT.java +++ b/x-pack/plugin/downsample/src/internalClusterTest/java/org/elasticsearch/xpack/downsample/DownsampleTransportFailureIT.java @@ -30,6 +30,7 @@ import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval; import org.elasticsearch.test.ESIntegTestCase; import org.elasticsearch.test.InternalTestCluster; +import org.elasticsearch.test.junit.annotations.TestIssueLogging; import org.elasticsearch.test.transport.MockTransportService; import org.elasticsearch.xcontent.XContentBuilder; import org.elasticsearch.xcontent.XContentFactory; @@ -264,6 +265,10 @@ private void assertIndexDoesNotExist(final String nodeName, final String indexNa assertEquals("no such index [" + indexName + "]", targetIndexNotFoundException.getMessage()); } + @TestIssueLogging( + value = "org.elasticsearch.xpack.downsample.TransportDownsampleAction:DEBUG", + issueUrl = "https://github.com/elastic/elasticsearch/issues/137148" + ) public void testNoDisruption() { // GIVEN @@ -278,6 +283,7 @@ public void testNoDisruption() { // WHEN nothing happens // THEN + logger.info("Executing downsample action from [{}] to [{}]", SOURCE_INDEX_NAME, TARGET_INDEX_NAME); final AcknowledgedResponse downsampleResponse = testCluster.masterClient() .execute(DownsampleAction.INSTANCE, downsampleRequest) .actionGet(TimeValue.timeValueMillis(DOWNSAMPLE_ACTION_TIMEOUT_MILLIS)); diff --git a/x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java b/x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java index 8a3758cd57249..50589bd80946d 100644 --- a/x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java +++ b/x-pack/plugin/downsample/src/main/java/org/elasticsearch/xpack/downsample/TransportDownsampleAction.java @@ -238,6 +238,11 @@ protected void masterOperation( ClusterState state, ActionListener listener ) { + logger.debug( + "Starting downsampling [{}] with [{}] interval", + request.getSourceIndex(), + request.getDownsampleConfig().getFixedInterval() + ); long startTime = nowSupplier.get(); String sourceIndexName = request.getSourceIndex(); IndexNameExpressionResolver.assertExpressionHasNullOrDataSelector(sourceIndexName); @@ -1025,6 +1030,7 @@ private void createDownsampleIndex( taskQueue.submitTask("create-downsample-index [" + downsampleIndexName + "]", new DownsampleClusterStateUpdateTask(listener) { @Override public ClusterState execute(ClusterState currentState) throws Exception { + logger.debug("Creating downsample index [{}]", downsampleIndexName); return metadataCreateIndexService.applyCreateIndexRequest( currentState, createIndexClusterStateUpdateRequest, @@ -1086,6 +1092,7 @@ class UpdateDownsampleIndexSettingsActionListener implements ActionListener { @Override public void onResponse(final AcknowledgedResponse response) { + logger.debug("Preparing to flush downsample index [{}]", downsampleIndexName); FlushRequest request = new FlushRequest(downsampleIndexName); request.setParentTask(parentTask); client.admin() @@ -1239,12 +1248,14 @@ class MeasurementActionListener implements ActionListener @Override public void onResponse(final AcknowledgedResponse response) { recordSuccessMetrics(startTime); + logger.debug("Downsampling measured successfully"); actionListener.onResponse(AcknowledgedResponse.TRUE); } @Override public void onFailure(Exception e) { recordSuccessMetrics(startTime); + logger.debug("Downsampling measured successfully", e); this.actionListener.onFailure(e); }