Skip to content

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

@mrproliu

Description

@mrproliu

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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working and you are sure it's a bug!

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions