Buggy code:
public abstract class VdcOpHandler { private static final Logger log = LoggerFactory . getLogger ( VdcOpHandler . class ) ; private static final int VDC_RPOP_BARRIER_TIMEOUT = 5 * 60 ; private static final int SWITCHOVER_ZK_WRITALE_WAIT_INTERVAL = 1000 * 5 ; private static final int FAILOVER_ZK_WRITALE_WAIT_INTERVAL = 1000 * 15 ; private static final int SWITCHOVER_BARRIER_TIMEOUT = 300 ; private static final int FAILOVER_BARRIER_TIMEOUT = 300 ; private static final int RESUME_BARRIER_TIMEOUT = 300 ; private static final int MAX_PAUSE_RETRY = 20 ; private static final int IPSEC_RESTART_DELAY = 1000 * 60 ; private static final long DATA_REVISION_WAIT_TIMEOUT_SECONDS = 300 ; private static final String URI_INTERNAL_POWEROFF = "//control//internal//cluster//poweroff" ; private static final String LOCK_REMOVE_STANDBY = "drRemoveStandbyLock" ; private static final String LOCK_FAILOVER_REMOVE_OLD_ACTIVE = "drFailoverRemoveOldActiveLock" ; private static final String LOCK_PAUSE_STANDBY = "drPauseStandbyLock" ; private static final String LOCK_DEGRADE_STANDBY = "drDegradeStandbyLock" ; private static final String LOCK_REJOIN_STANDBY = "drRejoinStandbyLock" ; public static final String NTPSERVERS = "network_ntpservers" ; protected CoordinatorClientExt coordinator ; protected LocalRepository localRepository ; protected DrUtil drUtil ; protected DbClient dbClient ; protected Service service ; protected final Waiter waiter = new Waiter ( ) ; protected PropertyInfoExt targetVdcPropInfo ; protected PropertyInfoExt localVdcPropInfo ; protected SiteInfo targetSiteInfo ; private boolean concurrentRebootNeeded = false ; private boolean rollingRebootNeeded = false ; public VdcOpHandler ( ) { } public abstract void execute ( ) throws Exception { } public boolean isConcurrentRebootNeeded ( ) { } public void setConcurrentRebootNeeded ( boolean rebootRequired ) { } public boolean isRollingRebootNeeded ( ) { } public void setRollingRebootNeeded ( boolean rollingRebootRequired ) { } public static class NoopOpHandler extends VdcOpHandler { public NoopOpHandler ( ) { } @ Override public void execute ( ) { } } public static class IPSecRotateOpHandler extends VdcOpHandler { public IPSecRotateOpHandler ( ) { } @ Override public void execute ( ) throws Exception { } } public static class GeoConfigChangeOpHandler extends VdcOpHandler { public GeoConfigChangeOpHandler ( ) { } @ Override public void execute ( ) throws Exception { } private boolean isRemovingVdc ( ) { } } public static class DrAddStandbyHandler extends VdcOpHandler { public DrAddStandbyHandler ( ) { } @ Override public void execute ( ) throws Exception { } } public static class DrChangeDataRevisionHandler extends VdcOpHandler { public DrChangeDataRevisionHandler ( ) { } @ Override public void execute ( ) throws Exception { } private void checkDataRevision ( ) throws Exception { } private void updateDataRevision ( ) throws Exception { } private void flushNtpConfigToLocal ( ) { } } public static class DrRemoveStandbyHandler extends VdcOpHandler { public DrRemoveStandbyHandler ( ) { } @ Override public void execute ( ) throws Exception { } private void removeDbNodes ( ) throws Exception { } } public static class DrPauseStandbyHandler extends VdcOpHandler { public DrPauseStandbyHandler ( ) { } @ Override public void execute ( ) throws Exception { } private void checkAndPauseOnActive ( ) { } private void checkAndPauseOnStandby ( ) { int retryCnt = 0 ; while ( coordinator . isActiveSiteHealthy ( ) ) { if ( ( ++ retryCnt ) > ( VdcOpHandler . MAX_PAUSE_RETRY ) ) { throw new IllegalStateException ( "timeout<seq2seq4repair_space>waiting<seq2seq4repair_space>for<seq2seq4repair_space>coordinatorsvc<seq2seq4repair_space>to<seq2seq4repair_space>be<seq2seq4repair_space>blocked<seq2seq4repair_space>on<seq2seq4repair_space>active<seq2seq4repair_space>site." ) ; } VdcOpHandler . log . info ( "short<seq2seq4repair_space>sleep<seq2seq4repair_space>before<seq2seq4repair_space>checking<seq2seq4repair_space>active<seq2seq4repair_space>site<seq2seq4repair_space>status<seq2seq4repair_space>again" ) ; retrySleep ( ) ; } String state = drUtil . getLocalCoordinatorMode ( coordinator . getMyNodeId ( ) ) ; if ( ZOOKEEPER_MODE_READONLY . equals ( state ) ) { coordinator . reconfigZKToWritable ( ) ; } Site localSite = drUtil . getLocalSite ( ) ; if ( localSite . getState ( ) . equals ( STANDBY_PAUSING ) ) { localSite . setState ( STANDBY_PAUSED ) ; VdcOpHandler . log . info ( "Updating<seq2seq4repair_space>local<seq2seq4repair_space>site<seq2seq4repair_space>state<seq2seq4repair_space>to<seq2seq4repair_space>STANDBY_PAUSED" ) ; coordinator . getCoordinatorClient ( ) . persistServiceConfiguration ( localSite . toConfiguration ( ) ) ; for ( Site standby : drUtil . listStandbySites ( ) ) { if ( STANDBY_PAUSING . equals ( standby . getState ( ) ) ) { standby . setState ( STANDBY_SYNCED ) ; VdcOpHandler . log . info ( "Updating<seq2seq4repair_space>state<seq2seq4repair_space>of<seq2seq4repair_space>site<seq2seq4repair_space>{}<seq2seq4repair_space>to<seq2seq4repair_space>STANDBY_SYNCED" , standby . getUuid ( ) ) ; <START_BUG> coordinator . getCoordinatorClient ( ) . persistServiceConfiguration ( localSite . toConfiguration ( ) ) ; <END_BUG> } } } } } public static class DrResumeStandbyHandler extends VdcOpHandler { public DrResumeStandbyHandler ( ) { } @ Override public void execute ( ) throws Exception { } } public static class DrDegradeStandbyHandler extends VdcOpHandler { public DrDegradeStandbyHandler ( ) { } @ Override public void execute ( ) throws Exception { } } public static class DrRejoinStandbyHandler extends VdcOpHandler { public DrRejoinStandbyHandler ( ) { } @ Override public void execute ( ) throws Exception { } } public static class DrSwitchoverHandler extends VdcOpHandler { private static final int TIME_WAIT_FOR_OLD_ACTIVE_SWITCHOVER_MS = 1000 * 5 ; private static final int MAX_WAIT_TIME_IN_MIN = 5 ; private boolean isRebootNeeded = true ; public DrSwitchoverHandler ( ) { } @ Override public boolean isConcurrentRebootNeeded ( ) { } @ Override public void execute ( ) throws Exception { } private void waitForBarrierRemovedToRestart ( Site site ) throws Exception { } private void stopActiveSiteRelatedServices ( ) { } private void proccessSingleNodeSiteCase ( ) { } private void waitForOldActiveZKLeaderDown ( Site oldActiveSite ) throws InterruptedException { } private void notifyOldActiveSiteReboot ( Site oldActiveSite , Site site ) throws Exception { } private void waitForOldActiveSiteFinishOperations ( String oldActiveSiteUUID ) { } private void updateSwitchoverSiteState ( Site site , SiteState siteState , String barrierName , int memberQty ) throws Exception { } private String getSingleBarrierPath ( String siteID , String barrierName ) { } private boolean hasSingleNodeSite ( ) { } } public static class DrFailoverHandler extends VdcOpHandler { private Factory postHandlerFactory ; public DrFailoverHandler ( ) { } @ Override public void execute ( ) throws Exception { } public void setPostHandlerFactory ( Factory postHandlerFactory ) { } private boolean isNewActiveSiteForFailover ( Site site ) { } private void processFailover ( ) throws Exception { } private Site getOldActiveSiteForFailover ( ) { } private void waitForAllNodesAndReboot ( Site site ) throws Exception { } }

Fix:
coordinator . getCoordinatorClient ( ) . persistServiceConfiguration ( standby . toConfiguration ( ) ) ;