refactor(actor): implement Raft consensus algorithm for cluster leader election
- Add voting mechanism with term tracking and vote persistence - Implement election triggering logic with majority vote counting - Add primary/replica role transition handling with state management - Integrate health check failure detection for automatic elections - Refactor actor messaging system for distributed coordination - Update repository registration to query cluster for existing primary - Add broadcast mechanism for role change notifications - Implement proper term comparison and duplicate request filtering - Upgrade dependency versions including tokio-util for async utilities - Optimize code formatting and line wrapping for improved readability - Remove redundant blank lines and improve code structure consistency - Enhance error logging and trace information for debugging purposes
This commit is contained in:
@@ -4,7 +4,10 @@ use crate::pb::*;
|
||||
|
||||
impl GitBare {
|
||||
/// Find the best merge base for a set of revisions (OIDs).
|
||||
pub fn find_merge_base(&self, request: FindMergeBaseRequest) -> GitResult<FindMergeBaseResponse> {
|
||||
pub fn find_merge_base(
|
||||
&self,
|
||||
request: FindMergeBaseRequest,
|
||||
) -> GitResult<FindMergeBaseResponse> {
|
||||
if request.revisions.is_empty() {
|
||||
return Ok(FindMergeBaseResponse::default());
|
||||
}
|
||||
@@ -49,7 +52,10 @@ impl GitBare {
|
||||
}
|
||||
|
||||
/// Check if one commit is an ancestor of another.
|
||||
pub fn commit_is_ancestor(&self, request: CommitIsAncestorRequest) -> GitResult<CommitIsAncestorResponse> {
|
||||
pub fn commit_is_ancestor(
|
||||
&self,
|
||||
request: CommitIsAncestorRequest,
|
||||
) -> GitResult<CommitIsAncestorResponse> {
|
||||
crate::sanitize::validate_revision(&request.ancestor_oid)?;
|
||||
crate::sanitize::validate_revision(&request.descendant_oid)?;
|
||||
|
||||
@@ -68,6 +74,8 @@ impl GitBare {
|
||||
.map(|s| s.success())
|
||||
.unwrap_or(false);
|
||||
|
||||
Ok(CommitIsAncestorResponse { is_ancestor: result })
|
||||
Ok(CommitIsAncestorResponse {
|
||||
is_ancestor: result,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user