[Bug] Warm stage segments exceed configured segment_interval after lifecycle migration from hot
bug
### 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 条评论