Skip to content

Comments

V3MutationService and V3CompatibleTableBinding - codex 5.3#197

Closed
em3s wants to merge 2 commits intomainfrom
feat/issue-195-refactor-v3-mutation-duplication
Closed

V3MutationService and V3CompatibleTableBinding - codex 5.3#197
em3s wants to merge 2 commits intomainfrom
feat/issue-195-refactor-v3-mutation-duplication

Conversation

@em3s
Copy link
Contributor

@em3s em3s commented Feb 9, 2026

Summary

Refactor duplicated mutation logic in V3MutationService and V3CompatibleTableBinding to improve maintainability and ensure consistent error handling in single and multi-edge mutation paths.

Closes #195

Plan

Created by opencode (gpt-5.3-codex)

  • Extract buildHBaseMutations() in V3CompatibleTableBinding
  • Extract decodeCurrentState() in V3CompatibleTableBinding
  • Extract resolveMutationContext() in V3MutationService
  • Extract writeCdc() in V3MutationService
  • Extract and apply handleMutationError() in both mutation methods
  • Add LockAcquisitionFailedException handling to mutateMultiEdge

Progress

  • Created feature branch, empty planning commit, and PR — opencode (gpt-5.3-codex) (commit ec58d98)
  • Implemented helper extraction and lock-failure parity fix in V3 mutation flow — opencode (gpt-5.3-codex) (commit 9908c4c)

@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. maintenance Maintenance work. labels Feb 9, 2026
@em3s em3s changed the title Refactor V3MutationService and V3CompatibleTableBinding to eliminate duplicate code refactor(engine): V3MutationService and V3CompatibleTableBinding - codex 5.3 Feb 9, 2026
@dosubot dosubot bot added size:XL This PR changes 500-999 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Feb 9, 2026
@em3s
Copy link
Contributor Author

em3s commented Feb 9, 2026

Review Round 1

by opencode (gpt-5.3-codex)

Issues Found & Fixed

Severity Issue Status
HIGH mutateMultiEdge error handling initially swallowed non-lock errors and changed previous propagation behavior. Fixed: narrowed fallback handling so only LockAcquisitionFailedException is converted to ERROR status; non-lock errors now propagate.
WARNING Async subscribe() calls for CDC write and stale-lock cleanup have no explicit error consumer. Skipped: pre-existing behavior in this service; keeping this refactor scoped to duplication removal and lock-failure parity to minimize behavioral changes.
SUGGESTION resolveMutationContext could be synchronous instead of returning Mono. Skipped: left reactive style unchanged for consistency with surrounding method flow in this refactor.

Result

All tests passing. No CRITICAL/HIGH issues remain.

@em3s
Copy link
Contributor Author

em3s commented Feb 9, 2026

opus 4.6 wins

See #199

@em3s em3s closed this Feb 9, 2026
@em3s em3s changed the title refactor(engine): V3MutationService and V3CompatibleTableBinding - codex 5.3 V3MutationService and V3CompatibleTableBinding - codex 5.3 Feb 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance Maintenance work. size:XL This PR changes 500-999 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Refactor V3MutationService and V3CompatibleTableBinding to eliminate duplicate code

1 participant