You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jan 7, 2022. It is now read-only.
Summary: Internal logs config is available from two places - ServerConfig and LocalLogsConfig. Configuration.cpp used to look up the ServerConfig where as a number other callsites look up on the LocalLogsConfig. These versions could diverge since LocalLogsConfig is only updated whenever LogsConfigStateMachine publishes a new state. This divergence could lead to number of problems if one subcomponent sees a log and another subcomponent does not. For example, recovery of a new internal log could get stuck, replication property changes to internal logs are not propogated, writes to metadata log of a newly added log failing etc. This diff fixes the problem by ensuring that LCM subscribes to ServerConfig updates and publishes a new LocalLogsConfig with updated internal_logs if a change is detected. Also updates Configuration.cpp to always lookup log properties using LocalLogsConfig irrespective of whether log id is internal or not.
Reviewed By: AhmedSoliman
Differential Revision: D17752931
fbshipit-source-id: 00428373a2539c51202744b1aba7fdbc7b16fe1b
0 commit comments