Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: providing more detail on snapshot approach

...

  1. Load dynamic configuration changes via the latest local metadata log snapshot and apply them before constructing the SocketServer (current preferred approach).
    1. Specifically, this will involve installing and then initializing the BrokerMetadataPublisher  (specifically the DynamicConfigPublisher ) first so that dynamic configuration changes are processed from the current metadata image before reading any configs in the SocketServer . 
    2. Need to wait until the scheduled event MetadataLoader#initializeNewPublishers  completes before reading configs in the SocketServer to avoid a race. This is because the publisher installation future is returned before publisher initialization is guaranteed to be finished since it's scheduled on the separate MetadataLoader thread.
  2. Write SocketServer dynamic configuration changes to a file. Load this file and apply the changes before constructing the SocketServer.

...