[Bug] Incorrect end timestamp recovery in tiered index files

Open Beginner friendly
#10,656 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
java
Domain
databases

Research direction

Locate IndexStoreFile and inspect its recovery logic, especially how INDEX_BEGIN_TIME_STAMP and INDEX_END_TIME_STAMP are read. Reproduce the reported case by writing an index with a later end timestamp, closing and reopening it, and confirm that recovery preserves the persisted end timestamp and query results are not skipped.

Written by the indexing model from the issue text.

Description

Before Creating the Bug Report
  • I found a bug, not just asking a question, which should be created in GitHub Discussions.

  • I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.

  • I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.

Runtime platform environment

All

RocketMQ version

develop

JDK Version

All

Describe the Bug

IndexStoreFile reads endTimestamp from INDEX_BEGIN_TIME_STAMP instead of INDEX_END_TIME_STAMP during recovery.

Steps to Reproduce

Write an index whose timestamp is later than the file’s begin timestamp, then close and reopen the file.

What Did You Expect to See?

The reopened file should retain the persisted end timestamp.

What Did You See Instead?

The end timestamp becomes the begin timestamp, which can cause valid query results to be skipped.

Additional Context

No response

Dominant language
Java
Stars
22.6k
Forks
12k
Avg merge
3d 12h
Merged PRs (30d)
25

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/rocketmq

All issues in apache/rocketmq

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.