package Ġra ft . node . config Ċ Ċ import Ġra ft . log . Log ĊĊ Ċ /** Ċ Ġ* ĠNode Ġconfiguration . Ċ Ġ* Ċ Ġ* Ċ Ġ* ĠNode Ġconfiguration Ġshould Ġnot Ġchange Ġafter Ġinitialization . Ġe . g Ġ[ Node Builder ]. Ċ Ġ* Ċ Ġ*/ Ċ class ĠNode Config Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMinimum Ġelection Ġtimeout ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġmin E lection Timeout Ġ= Ġ 3 0 0 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMaximum Ġelection Ġtimeout ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġmax E lection Timeout Ġ= Ġ 4 0 0 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠDelay Ġfor Ġfirst Ġlog Ġreplication Ġafter Ġbecoming Ġleader ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġlog Replication Delay Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInterval Ġfor Ġlog Ġreplication Ġtask . ĊĠĠĠĠ Ġ* ĠMore Ġspecifically , Ġinterval Ġfor Ġheartbeat Ġrpc . ĊĠĠĠĠ Ġ* ĠAppend Ġentries Ġrpc Ġmay Ġbe Ġsent Ġless Ġthan Ġthis Ġinterval . ĊĠĠĠĠ Ġ* Ġe . g Ġafter Ġreceiving Ġappend Ġentries Ġresult Ġfrom Ġfollow ers . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġlog Replication Interval Ġ= Ġ 1 0 0 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRead Ġtimeout Ġto Ġreceive Ġresponse Ġfrom Ġfollow er . ĊĠĠĠĠ Ġ* ĠIf Ġno Ġresponse Ġreceived Ġfrom Ġfollow er , Ġres end Ġlog Ġreplication Ġrpc . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġlog Replication Read Timeout Ġ= Ġ 9 0 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMax Ġentries Ġto Ġsend Ġwhen Ġreplicate Ġlog Ġto Ġfollow ers ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġmax Replication Entries : ĠInt Ġ= ĠLog . ALL _ ENTR IES ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMax Ġentries Ġto Ġsend Ġwhen Ġreplicate Ġlog Ġto Ġnew Ġnode ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġmax Replication Entries For New Node : ĠInt Ġ= ĠLog . ALL _ ENTR IES ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠData Ġlength Ġin Ġinstall Ġsnapshot Ġrpc . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġsnapshot Data Length Ġ= Ġ 1 0 2 4 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWorker Ġthread Ġcount Ġin Ġn io Ġconnector . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġn io Worker Threads Ġ= Ġ 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠMax Ġround Ġfor Ġnew Ġnode Ġto Ġcatch Ġup . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar ĠnewNode Max Round Ġ= Ġ 1 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRead Ġtimeout Ġto Ġreceive Ġresponse Ġfrom Ġnew Ġnode . ĊĠĠĠĠ Ġ* ĠDefault Ġto Ġelection Ġtimeout . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar ĠnewNode Read Timeout Ġ= Ġ 3 0 0 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTimeout Ġfor Ġnew Ġnode Ġto Ġmake Ġprogress . ĊĠĠĠĠ Ġ* ĠIf Ġnew Ġnode Ġcannot Ġmake Ġprogress Ġafter Ġthis Ġtimeout , Ġnew Ġnode Ġcannot Ġbe Ġadded Ġand Ġreply ĠTIME OUT . ĊĠĠĠĠ Ġ* ĠDefault Ġto Ġelection Ġtimeout ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar ĠnewNode Advance Timeout Ġ= Ġ 3 0 0 0 ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠTimeout Ġto Ġwait Ġfor Ġprevious Ġgroup Ġconfig Ġchange Ġto Ġcomplete . ĊĠĠĠĠ Ġ* ĠDefault Ġis Ġ` 0 `, Ġforever . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġvar Ġprevious Group Config Change Timeout Ġ= Ġ 0 Ċ } ĊĊĊ