Skip to content

docs: document Table thread safety - #1094

Merged
wgtmac merged 1 commit into
apache:mainfrom
smaheshwar-pltr:docs/table-thread-safety
Nov 5, 2026
Merged

wgtmac merged 1 commit into
apache:mainfrom
smaheshwar-pltr:docs/table-thread-safety

Conversation

@smaheshwar-pltr

Copy link
Copy Markdown
Contributor

See apache/iceberg#17989 / apache/iceberg#17990 for some context. Iceberg Java contains code that accesses a shared table concurrently from threads with refreshes and commits. That's caused concurrency bugs in the past.

Porting that code over to iceberg-cpp would be worse. In Java, the JLS defines a data race and so that concurrent pattern is well-defined and indivisible without synchronisation (that's not the case for all types but holds for object references). In C++, such code would be undefined behaviour, so I think it's quite valuable to have at least a comment here stating that, otherwise agents / people might port that code over resulting in UB.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@wgtmac
wgtmac merged commit ce262f5 into apache:main Nov 5, 2026
15 checks 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.

2 participants