DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
...
- Load dynamic configuration changes via the latest local metadata log snapshot and apply them before constructing the SocketServer (current preferred approach).
- Write SocketServer dynamic configuration changes to a file. Load this file and apply the changes before constructing the SocketServer.
...
- Does not have to deal with any cases where the file is not readable/writeable.
- Reuses state we already persist to disk.
- May not have the most up-to-date information depending on how old the snapshot is. One approach to remediate this is to have the broker take a snapshot while in controlled shutdown.
- Requires us to read the snapshot twice during "startup", first at the raft layer and then in BrokerServer; although the first read should bring the snapshot file blocks into the page cache. Since the snapshot's size is independent of the length of the log this read is always relatively fast and won't delay startup.
- When no snapshot exists or the latest snapshot does not contain dynamic configuration changes, use supplied static configurations.
Points of discussion on the file approach:
...