-
Notifications
You must be signed in to change notification settings - Fork 6.6k
[Bug] Warm stage segments exceed configured segment_interval after lifecycle migration from hot #13793
Description
Search before asking
- I had searched in the issues and found no similar issues.
Apache SkyWalking Component
BanyanDB (apache/skywalking-banyandb)
What happened
After lifecycle migration from hot to warm stage, the actual segment time ranges on warm nodes exceed the configured segment_interval. For sw_metricsMinute:
| Stage | Configured segment_interval |
|---|---|
| Hot | 1 day |
| Warm | 3 days |
Data arrives day by day via lifecycle (no data gaps expected with 1-day hot interval). But the actual warm segments show:
| Segment | Actual range | Duration | Expected |
|---|---|---|---|
| seg-20260325 | 03-25 ~ 03-27 | 2 days | 3 days |
| seg-20260327 | 03-27 ~ 04-01 | 5 days | 3 days |
| seg-20260401 | 04-01 ~ 04-04 | 3 days | 3 days ✓ |
Both warm-0 and warm-1 show identical non-standard boundaries. Part metadata in seg-20260327 confirms it contains 5 full days of data:
| Date | Rows | Notes |
|---|---|---|
| 03-27 | ~6,230,000 | Normal |
| 03-28 | ~6,213,000 | Normal |
| 03-29 | ~6,204,000 | Normal |
| 03-30 | ~6,191,000 | In compacted part spanning 03-29 ~ 03-30 |
| 03-31 | ~5,865,000 | Normal |
| Total | 30,703,391 |
Since the hot stage uses a 1-day segment_interval, the lifecycle migrates data on a day-by-day basis. Every day has continuous data (~6M rows), so there should be no data gaps that would justify a segment exceeding the
configured 3-day interval on warm.
What you expected to happen
Warm stage segments should respect the configured segment_interval of 3 days:
| Segment | Expected range | Duration |
|---|---|---|
| seg-20260326 | 03-26 ~ 03-29 | 3 days |
| seg-20260329 | 03-29 ~ 04-01 | 3 days |
| seg-20260401 | 04-01 ~ 04-04 | 3 days |
How to reproduce
Hot and warm stages have different segment_interval (e.g., hot = 1 day, warm = 3 days).
Anything else
No response
Are you willing to submit a pull request to fix on your own?
- Yes I am willing to submit a pull request on my own!
Code of Conduct
- I agree to follow this project's Code of Conduct