public class LogIndex extends ObjectId
For any two LogIndex instances, A
is an ancestor of C
reachable through parent edges in the graph if A.index < C.index
.
LogIndex provides a performance optimization for Ketch, the same information
can be obtained from RevWalk
.
Index values are only valid within a single
KetchLeader
instance after it has won
an election. By restricting scope to a single leader new leaders do not need
to traverse the entire history to determine the next index
for new
proposals. This differs from Raft, where leader election uses the log index
and the term number to determine which replica holds a sufficiently
up-to-date log. Since Ketch uses Git objects for storage of its replicated
log, it keeps the term number as Raft does but uses standard Git operations
to imply the log index.
Round.runAsync(AnyObjectId)
bumps the
index as each new round is constructed.
Modifier and Type | Method and Description |
---|---|
String |
describeForLog()
Create string suitable for debug logging containing the log index and
abbreviated ObjectId.
|
long |
getIndex()
Get index provided by the current leader instance.
|
String |
toString() |
equals, fromRaw, fromRaw, fromRaw, fromRaw, fromString, fromString, isId, toObjectId, toString, zeroId
public long getIndex()
public String describeForLog()
public String toString()
toString
in class AnyObjectId
Copyright © 2020 Eclipse JGit Project. All rights reserved.