From 03e098d732b7eea701eef066d388cb4f2ef63df4 Mon Sep 17 00:00:00 2001 From: Kashif Faraz Date: Fri, 14 Mar 2025 09:53:38 +0530 Subject: [PATCH] Revert "reject publishing actions with a retriable error code if a earlier task is still publishing (#17509)" This reverts commit aca56d6bb842231853d624e7da07748ba002ac4f. --- .../indexing/common/actions/LocalTaskActionClient.java | 1 - .../actions/SegmentTransactionalInsertActionTest.java | 4 ++-- .../metadata/IndexerSQLMetadataStorageCoordinator.java | 4 +--- .../metadata/IndexerSQLMetadataStorageCoordinatorTest.java | 6 +++--- 4 files changed, 6 insertions(+), 9 deletions(-) diff --git a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/LocalTaskActionClient.java b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/LocalTaskActionClient.java index 81ff137ed179..1d0059335ed1 100644 --- a/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/LocalTaskActionClient.java +++ b/indexing-service/src/main/java/org/apache/druid/indexing/common/actions/LocalTaskActionClient.java @@ -69,7 +69,6 @@ private R performAction(TaskAction taskAction) return result; } catch (Throwable t) { - log.error(t, "Failed to perform action[%s]", taskAction); throw new RuntimeException(t); } } diff --git a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java index 7d5f4488fea0..44ce60b5ceb2 100644 --- a/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java +++ b/indexing-service/src/test/java/org/apache/druid/indexing/common/actions/SegmentTransactionalInsertActionTest.java @@ -22,6 +22,7 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; +import org.apache.druid.error.InvalidInput; import org.apache.druid.indexing.common.TaskLockType; import org.apache.druid.indexing.common.task.NoopTask; import org.apache.druid.indexing.common.task.Task; @@ -31,7 +32,6 @@ import org.apache.druid.indexing.overlord.Segments; import org.apache.druid.indexing.overlord.TimeChunkLockRequest; import org.apache.druid.java.util.common.Intervals; -import org.apache.druid.metadata.RetryTransactionException; import org.apache.druid.timeline.DataSegment; import org.apache.druid.timeline.partition.LinearShardSpec; import org.assertj.core.api.Assertions; @@ -151,7 +151,7 @@ public void testFailTransactionalUpdateDataSourceMetadata() throws Exception Assert.assertEquals( SegmentPublishResult.fail( - new RetryTransactionException( + InvalidInput.exception( "The new start metadata state[ObjectMetadata{theObject=[1]}] is" + " ahead of the last committed end state[null]. Try resetting the supervisor." ).toString() diff --git a/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java b/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java index fcdd31d0fa6a..ce092f8c6967 100644 --- a/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java +++ b/server/src/main/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinator.java @@ -2102,9 +2102,7 @@ protected DataStoreMetadataUpdateResult updateDataSourceMetadataWithHandle( if (startMetadataGreaterThanExisting && !startMetadataMatchesExisting) { // Offsets stored in startMetadata is greater than the last commited metadata. - // This can happen because the previous task is still publishing its segments and can resolve once - // the previous task finishes publishing. - return DataStoreMetadataUpdateResult.retryableFailure( + return DataStoreMetadataUpdateResult.failure( "The new start metadata state[%s] is ahead of the last committed" + " end state[%s]. Try resetting the supervisor.", startMetadata, oldCommitMetadataFromDb diff --git a/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java b/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java index 9a63c2d781c7..b6578fa9a721 100644 --- a/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java +++ b/server/src/test/java/org/apache/druid/metadata/IndexerSQLMetadataStorageCoordinatorTest.java @@ -858,15 +858,15 @@ public void testTransactionalAnnounceFailDbNullWantNotNull() ); Assert.assertEquals( SegmentPublishResult.fail( - new RetryTransactionException( + InvalidInput.exception( "The new start metadata state[ObjectMetadata{theObject={foo=bar}}] is ahead of the last committed" + " end state[null]. Try resetting the supervisor." ).toString()), result1 ); - // Should be retried. - Assert.assertEquals(2, metadataUpdateCounter.get()); + // Should only be tried once. + Assert.assertEquals(1, metadataUpdateCounter.get()); } @Test