Skip to content

Tags: huntie/sapling

Tags

assets

Toggle assets's commit message
Select WBC batching through repo configuration

Summary:
Replace the startup `wbc_event_router_executor` JK mode gate with `metadata_cache_config.wbc_event_router_batching_enabled`. The repo boolean defaults false: EventRouter processing disabled uses legacy discovery; processing enabled plus false/unset uses existing serial EventRouter; processing enabled plus true uses batching.

Keep `wbc_event_router_batch_concurrency` and `wbc_event_router_max_pending_bookmarks` as the existing per-repo-switch JK settings, with unchanged clamps. Only mode selection moves into repo config; numeric settings are still captured when the coordinator is created. Ordinary real RepoSpec changes rebuild the repo/WBC, so toggling this flag applies a mode change without restarting tasks. No loop-time mode handoff, timer, settings struct, or generic framework.

Pass the bool from RepoFactory through WarmBookmarksCacheBuilder. Keep the existing public `WarmBookmarksCache::new` signature by delegating its compatibility path with batching=false to the builder's shared initialization. Reject batching with EventRouter processing disabled before starting warming/subscriptions. Existing cache fields and batch/serial mechanics remain unchanged.

Include the supported generated Thrift mirror and parser default/validation. Configerator schema review D128328232 comes first. The already-established metadata logger optionality stays unchanged in this mirror/parser; accepted D127724314/D127840405 are separate upstream prerequisites, validated locally without editing or commandeering them. No settings payload or numerical schema fields remain.

No per-repo rollout flags, listener settings, templates, JK definitions/values, deployment, or landing are changed. The original batching stack is left untouched while the owner lands it.

Reviewed By: YousefSalama

Differential Revision: D128335453

fbshipit-source-id: 66ef24810c8994823602d30322236dfe4b0bea6b