Skip to content

Tiering service Deep Dive part 2#10

Merged
polyzos merged 7 commits into
apache:mainfrom
polyzos:tiering-service-part-2
Jun 9, 2026
Merged

Tiering service Deep Dive part 2#10
polyzos merged 7 commits into
apache:mainfrom
polyzos:tiering-service-part-2

Conversation

@polyzos

@polyzos polyzos commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

No description provided.

@luoyuxia luoyuxia left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@polyzos Thanks for the great work. Only left one comment.

Now customers is next in the commit order. The enumerator generates 12 splits (since this is round 1 of a PK table, these are snapshot splits reading the full KV state). 12 readers can work on its splits at once; the 4 spare readers, again, pick up whatever's next in the queue rather than idling. The round takes roughly 100 seconds, and customers' commit lands at **T=220s**, well inside the configured 5-minute freshness.


But notice one thing here. clicks committed at **T=30s**; with a 1-minute freshness, its next round was scheduled for **T=90s**, so it's been waiting in the queue since **T=90s**. Its reads may well start earlier (spare readers can pick up clicks round 2 while customers is still being read), but its *commit* can't land until orders and customers have committed ahead of it.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The article says commits happen “in queue order”, but the current implementation doesn't guarantees that.

The commit operator is single-parallelism, so commits are serialized, but TieringCommitOperator commits a table once it has collected all write results for that table. It does not appear to maintain the coordinator pending-queue order across in-flight tables. A later-assigned but faster table could therefore reach the committer first and be committed before an earlier table.

@polyzos polyzos force-pushed the tiering-service-part-2 branch from fd0eb80 to 4106864 Compare June 8, 2026 04:50
@polyzos polyzos merged commit 9e951eb into apache:main Jun 9, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants