ITADN

[Bug] Warm stage segments exceed configured segment_interval after lifecycle migration from hot

#13793Openmrproliu 创建于 2026-04-05
bug
M
mrproliucommented
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/skywalking/issues?q=is%3Aissue) 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 - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct)
0 条评论