can reset kafka Supervisor to offset by specified time#10745
can reset kafka Supervisor to offset by specified time#10745kaijianding wants to merge 2 commits intoapache:masterfrom
Conversation
847ddb4 to
17761d9
Compare
|
This would be a very helpful feature for our use case as well! |
|
Hi, @kaijianding . This PR looks great! Could you please help to solve the CI problem, thanks a lot 👍 |
|
@asdf2014 sure, will add some tests to pass CI |
|
This pull request has been marked as stale due to 60 days of inactivity. It will be closed in 4 weeks if no further activity occurs. If you think that's incorrect or this pull request should instead be reviewed, please simply write any comment. Even if closed, you can still revive the PR at any time or discuss it on the dev@druid.apache.org list. Thank you for your contributions. |
17761d9 to
d3abdd3
Compare
|
This pull request/issue is no longer marked as stale. |
d3abdd3 to
11eebbf
Compare
|
@kaijianding, thank you for this patch! Would you be interested in picking this up again and getting it through the finish line? If not, do you mind if someone else picks it up? A few high-level comments:
|
|
This pull request has been marked as stale due to 60 days of inactivity. |
|
This pull request/issue has been closed due to lack of activity. If you think that |
Description
Currently, druid can only reset to earliest/latest offset, sometimes, users want to read from a specified time like the start of today
A new optional param
timestampis added to apiPOST /druid/indexer/v1/supervisor/<supervisorId>/reset?timestamp=<timestamp in millisencond>Add
Map<PartitionIdType, SequenceOffsetType> getPositionFromTime(long offsetTime);to get offsets from timeOnly kafka supports this feature
Add
OverrideNoticeto replace the whole DataSourceMetadata in metastore and kill tasks to let tasks restart and read starting from the new DatasourceMetadata(the same logic as ResetNotice)This PR has:
Key changed/added classes in this PR
KafkaRecordSupplierIndexerSQLMetadataStorageCoordinatorSeekableStreamSupervisor.java