Skip to content

feat: handle NilLabel gracefully in v3 mutation API#215

Merged
em3s merged 2 commits intomainfrom
feature/nil-table-mutation
Mar 16, 2026
Merged

feat: handle NilLabel gracefully in v3 mutation API#215
em3s merged 2 commits intomainfrom
feature/nil-table-mutation

Conversation

@eazyhozy
Copy link
Copy Markdown
Member

Summary

Return IDLE status for NilLabel mutations in v3 API instead of throwing
UnsupportedOperationException, aligning with v2 behavior.

Closes #213

Changes

  • Add NilTableBinding implementing TableBinding with no-op IDLE behavior
  • Modify V2BackedEngine.getTableBinding() to return NilTableBinding for NilLabel
  • Add NilLabel mutation should return IDLE test in MutationServiceSpec

How to Test

./gradlew :engine:test --tests "com.kakao.actionbase.v2.engine.v3.MutationServiceSpec"

Return IDLE status for NilLabel mutations instead of throwing
UnsupportedOperationException, aligning v3 behavior with v2.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
@eazyhozy eazyhozy self-assigned this Mar 13, 2026
Ensure CDC before/after values match v2 NilLabel behavior (null)
by always passing State.initial, which stateToHashEdge() converts
to null.

Generated with [Claude Code](https://claude.ai/code)
via [Happy](https://happy.engineering)

Co-Authored-By: Claude <noreply@anthropic.com>
Co-Authored-By: Happy <yesreply@happy.engineering>
@eazyhozy eazyhozy marked this pull request as ready for review March 13, 2026 07:17
@eazyhozy eazyhozy requested a review from em3s as a code owner March 13, 2026 07:17
@dosubot dosubot bot added size:M This PR changes 30-99 lines, ignoring generated files. enhancement New feature or request labels Mar 13, 2026
@eazyhozy
Copy link
Copy Markdown
Member Author

eazyhozy commented Mar 13, 2026

@em3s Could you review this PR?

Copy link
Copy Markdown
Contributor

@em3s em3s left a comment

Choose a reason for hiding this comment

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

It looks the same as v2 implementation. Nice Work!

@dosubot dosubot bot added the lgtm This PR has been approved by a maintainer label Mar 16, 2026
@em3s em3s merged commit 904667d into main Mar 16, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request lgtm This PR has been approved by a maintainer size:M This PR changes 30-99 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

NilLabel WAL entries cause 400 error on AsyncProcessor replay via v3 API

2 participants