why do we need both autoRecoveryReplayMax and autoUpdateReplayMax?