Merge Develop into main - #19
Conversation
Rework JanusGraph CDC processing and message conversion for more reliable change detection and simpler flow. Key changes: - GraphLogProcessor: removed the event-ordering LRU cache and related logic (shouldProcessEvent), simplified processing pipeline to use changeState.getVertices(Change.ANY) so edge-only changes are discovered, added relation counting/logging, and removed legacy property-diff/edge-check helpers. processVertexChange signature simplified accordingly. - SunbirdLegacyMessageConverter: replaced ad-hoc property-diff logic with structured helpers (buildUpdateProperties, buildCreateProperties, buildDeleteProperties, collectRelationChanges, createPropertyEntry). Derived fields (label, nodeUniqueId, channel, userId, etc.) are read directly from the vertex rather than from a flattened diff map. Removed the REQUIRED_FIELDS list and fragile flattening code. Now only actual property/relation changes produce UPDATE events; CREATE/DELETE handling simplified. Overall this refactor fixes missed edge-only changes, avoids consuming ChangeState iterators multiple times, removes brittle caching semantics, and centralizes property/relation diff construction with better logging.
JanusGraph CDC Extension
added reservedDialcodes field
Vertex issue fix
…ertex, Change.REMOVED) rather than reading a dead vertex
fix: buildDeleteProperties must read from snapshot rather than reading a dead vertex
…ssed For UPDATE events, read derived fields (objectType, nodeUniqueId, channel, etc.) from transaction log (propertiesMap) first, falling back to vertex state. Prevents garbage "vertex" events when image node is deleted by publish job before CDC processes the updateProcessingNode transaction. Also filters events with objectType="vertex" (no IL_FUNC_OBJECT_TYPE set) to prevent downstream transaction processor crashes on missing schema.
…x-deletion fix: Handle CDC race condition when vertex deleted before event processed
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (17)
📝 WalkthroughWalkthroughA new ChangesJanusGraph CDC Extension
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Type of change
Please choose appropriate options.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes in the below checkboxes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration
Test Configuration:
Checklist:
Summary by CodeRabbit
New Features
Documentation