Skip to content

[TASK-2293] use column id instead of position in Partial Update#2594

Open
fresh-borzoni wants to merge 1 commit intoapache:mainfrom
fresh-borzoni:partial-update-use-ids-instead-positions
Open

[TASK-2293] use column id instead of position in Partial Update#2594
fresh-borzoni wants to merge 1 commit intoapache:mainfrom
fresh-borzoni:partial-update-use-ids-instead-positions

Conversation

@fresh-borzoni
Copy link
Contributor

@fresh-borzoni fresh-borzoni commented Feb 7, 2026

Summary

closes #2293

After ADD COLUMN, PartialUpdater reads old KV rows using latest-schema positions, causing ArrayIndexOutOfBoundsException because old rows have fewer fields.

Solution

Convert rows to latest schema layout in KvTablet before they reach the merger, using column IDs to map positions. Applied to incoming rows, old KV rows during upsert, and old KV rows during deletion. No protocol changes — server derives everything from batch's schemaId.

@fresh-borzoni fresh-borzoni force-pushed the partial-update-use-ids-instead-positions branch 2 times, most recently from e38f9d6 to ce0f30d Compare February 7, 2026 23:24
@fresh-borzoni
Copy link
Contributor Author

@loserwang1024 @luoyuxia
PTAL 🙏

@fresh-borzoni fresh-borzoni force-pushed the partial-update-use-ids-instead-positions branch 6 times, most recently from 5aa68d5 to 3345e59 Compare February 8, 2026 12:39
@fresh-borzoni fresh-borzoni force-pushed the partial-update-use-ids-instead-positions branch from 3345e59 to 7e94b5b Compare February 8, 2026 13:57
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.

Partial Update use column id rather column position to update data.

1 participant