apache/druid · error · IllegalStateException

Exception while attempting to automatically reset sequences…

Error message

Exception while attempting to automatically reset sequences for partitions[%s]

What it means

Error while executing automatic offset reset in KinesisIndexTaskRunner.possiblyResetDataSourceMetadata: starting sequence numbers for some partitions are no longer available in the stream (expired records), and although isResetOffsetAutomatically was enabled, the reset request (sendResetRequestAndWait) failed — typically an ISE/IOException while coordinating sequence resets with the overlord.

Solutions

  1. Check overlord connectivity from the task; the reset goes through a reset API call and waits for confirmation.
  2. Manually reset offsets for the affected partitions via the supervisor reset endpoint.
  3. Increase Kinesis retention or fix checkpointing so sequences do not expire; consider disabling auto-reset to handle it manually.
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskRunner.java:146 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07). Data as JSON: /api/errors/a68bd08d1cc37e9c. Report an issue: GitHub.

Appendix: source

Thrown at extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskRunner.java:146

      if (!partitionToSequenceResetMap.isEmpty()) {
        for (Map.Entry<StreamPartition<String>, String> partitionToSequence : partitionToSequenceResetMap.entrySet()) {
          log.warn("Starting sequenceNumber[%s] is no longer available for partition[%s].",
                   partitionToSequence.getValue(),
                   partitionToSequence.getKey()
          );
        }
        if (task.getTuningConfig().isResetOffsetAutomatically()) {
          log.info(
              "Attempting to reset offsets for [%d] partitions with ids[%s].",
              partitionToSequenceResetMap.size(),
              partitionToSequenceResetMap.keySet()
          );
          try {
            sendResetRequestAndWait(partitionToSequenceResetMap, toolbox);
          }
          catch (IOException e) {
            throw new ISE(
                e,
                "Exception while attempting to automatically reset sequences for partitions[%s]",
                partitionToSequenceResetMap.keySet()
            );
          }
        } else {
          throw new ISE(
              "Automatic offset reset is disabled, but there are partitions with unavailable sequence numbers [%s].",
              partitionToSequenceResetMap
          );
        }
      }
    }
  }

  @Override
  protected boolean isEndOffsetExclusive()
  {

View on GitHub (pinned to 9b90983fd2)