venice icon indicating copy to clipboard operation
venice copied to clipboard

[WIP] Deprecate parent VT to track concurrent pushes

Open majisourav99 opened this issue 8 months ago • 0 comments

Problem Statement

Today parent controller creates a version topic in parent region just to track current push status and block future pushes till the current push finishes. This is waste of kafka resources just to block concurrent pushes.

Solution

This PR tries to use parent colo store version status to detect previous push status. Today parent store version statuses for completed push are as either KILLED/ERROR/ONLINE which imply that the push has finished from user perspective and they can trigger another push.

Code changes

  • [ ] Added new code behind a config. If so list the config names and their default values in the PR description.
  • [ ] Introduced new log lines.
    • [ ] Confirmed if logs need to be rate limited to avoid excessive logging.

Concurrency-Specific Checks

Both reviewer and PR author to verify

  • [ ] Code has no race conditions or thread safety issues.
  • [ ] Proper synchronization mechanisms (e.g., synchronized, RWLock) are used where needed.
  • [ ] No blocking calls inside critical sections that could lead to deadlocks or performance degradation.
  • [ ] Verified thread-safe collections are used (e.g., ConcurrentHashMap, CopyOnWriteArrayList).
  • [ ] Validated proper exception handling in multi-threaded code to avoid silent thread termination.

How was this PR tested?

  • [ ] New unit tests added.
  • [ ] New integration tests added.
  • [ ] Modified or extended existing tests.
  • [ ] Verified backward compatibility (if applicable).

Does this PR introduce any user-facing or breaking changes?

  • [ ] No. You can skip the rest of this section.
  • [ ] Yes. Clearly explain the behavior change and its impact.

majisourav99 avatar Apr 28 '25 16:04 majisourav99