{"record":{"id":"aae977eacbd37904","repo":"apache/druid","slug":"automatic-offset-reset-is-disabled-but-there-are","errorCode":null,"errorMessage":"Automatic offset reset is disabled, but there are partitions with unavailable sequence numbers [%s].","messagePattern":"Automatic offset reset is disabled, but there are partitions with unavailable sequence numbers \\[(.+?)\\]\\.","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskRunner.java","lineNumber":153,"sourceCode":"        }\n        if (task.getTuningConfig().isResetOffsetAutomatically()) {\n          log.info(\n              \"Attempting to reset offsets for [%d] partitions with ids[%s].\",\n              partitionToSequenceResetMap.size(),\n              partitionToSequenceResetMap.keySet()\n          );\n          try {\n            sendResetRequestAndWait(partitionToSequenceResetMap, toolbox);\n          }\n          catch (IOException e) {\n            throw new ISE(\n                e,\n                \"Exception while attempting to automatically reset sequences for partitions[%s]\",\n                partitionToSequenceResetMap.keySet()\n            );\n          }\n        } else {\n          throw new ISE(\n              \"Automatic offset reset is disabled, but there are partitions with unavailable sequence numbers [%s].\",\n              partitionToSequenceResetMap\n          );\n        }\n      }\n    }\n  }\n\n  @Override\n  protected boolean isEndOffsetExclusive()\n  {\n    return false;\n  }\n\n  @Override\n  protected boolean isEndOfShard(String seqNum)\n  {\n    return KinesisSequenceNumber.END_OF_SHARD_MARKER.equals(seqNum);","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskRunner.java#L135-L171","documentation":"Fatal validation in KinesisIndexTaskRunner.possiblyResetDataSourceMetadata: the stored starting sequence numbers for some partitions are no longer available in the stream (records aged out), but the task's tuning config has resetOffsetAutomatically disabled, so the task cannot recover and refuses to continue rather than silently skipping or duplicating data.","triggerScenarios":"Thrown at extensions-core/kinesis-indexing-service/src/main/java/org/apache/druid/indexing/kinesis/KinesisIndexTaskRunner.java:153 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Enable resetOffsetAutomatically in the task/supervisor tuning config to let the task reset expired sequences.","Manually reset offsets for the listed partitions using the supervisor reset API.","Increase Kinesis stream retention so sequence numbers do not expire between restarts."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}