venice icon indicating copy to clipboard operation
venice copied to clipboard

[controller] adhoc repush controller endpoint E2E testing fixes

Open WhitneyDeng opened this issue 9 months ago • 0 comments

Problem Statement

Fixing bugs found when end-to-end testing adhoc repush controller endpoint.

Bugs found:

  • Bug: LogCompactionService should read log.compaction.scheduling.enabled config from cluster-level rather than "commonConfig" (aka the first cluster entry in the multiClusterProperties map). Reading the config at for the corresponding cluster ensures scheduled compaction is isolated to clusters where this feature is enabled.
  • Fix: Read from getControllerConfig( clusterName ).isLogCompactionSchedulingEnabled() when iterating through clusters in LogCompactionService::LogCompactionTask::compactStoresInClusters()

Solution

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.

WhitneyDeng avatar Mar 20 '25 00:03 WhitneyDeng