- 
                Notifications
    
You must be signed in to change notification settings  - Fork 1k
 
Enhancement: persist commit index in LogStore to accelerate recovery #613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
          
     Open
      
      
            lalalalatt
  wants to merge
  38
  commits into
  hashicorp:main
  
    
      
        
          
  
    
      Choose a base branch
      
     
    
      
        
      
      
        
          
          
        
        
          
            
              
              
              
  
           
        
        
          
            
              
              
           
        
       
     
  
        
          
            
          
            
          
        
       
    
      
from
lalalalatt:feat/commit-tracking-log-store-checker
  
      
      
   
  
    
  
  
  
 
  
      
    base: main
Could not load branches
            
              
  
    Branch not found: {{ refName }}
  
            
                
      Loading
              
            Could not load tags
            
            
              Nothing to show
            
              
  
            
                
      Loading
              
            Are you sure you want to change the base?
            Some commits from the old base branch may be removed from the timeline,
            and old review comments may become outdated.
          
          
      
        
          +387
        
        
          −15
        
        
          
        
      
    
  
  
     Open
                    Changes from 1 commit
      Commits
    
    
            Show all changes
          
          
            38 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      2e5a8a0
              
                feat: add CommitTrackingLogStore interface for commit index management
              
              
                peterxcli ffc6b3b
              
                chore: remove non-idiomatic type assert func
              
              
                peterxcli 7383d96
              
                feat(raft): add fast recovery mode for quicker log application
              
              
                peterxcli f6295e0
              
                feat(raft): add recovery from committed logs during startup
              
              
                peterxcli f2ae7a9
              
                refactor(store): rename ReadCommitIndex to GetCommitIndex for consist…
              
              
                peterxcli ce1895c
              
                fix: also set inmem commit index when revocer log commit progress fro…
              
              
                peterxcli ab50a58
              
                perf: optimize startup recovery by skipping duplicated log replay
              
              
                peterxcli 4e7e04b
              
                refactor(inmem-commit-tracking-store): store commit index in memory u…
              
              
                peterxcli 41df55e
              
                chore: fix typo in recoverFromCommittedLogs function name
              
              
                peterxcli 400a27d
              
                refactor(raft): update parameter name in persistCommitIndex function
              
              
                peterxcli e2617e8
              
                refactor(raft): set commit index in memory before `StoreLogs`
              
              
                peterxcli 6daca47
              
                refactor(raft): fix condition for skipping recovery in `recoverFromCo…
              
              
                peterxcli cc09317
              
                feat(raft): add commit tracking logs and fast recovery tests
              
              
                peterxcli fe57b32
              
                docs(config): update comments for FastRecovery mechanism
              
              
                peterxcli 20e8701
              
                refactor(inmem-commit-tracking-store): simplify in-mem log tracking s…
              
              
                peterxcli 6f146e1
              
                fix: rename persistCommitIndex to tryPersistCommitIndex
              
              
                peterxcli a8438b0
              
                chore(raft): rename tryPersistCommitIndex to tryStageCommitIndex for …
              
              
                peterxcli 5e6d8a4
              
                refactor(log): introduce StagCommitIndex for optimized atomic persist…
              
              
                peterxcli e248f00
              
                fix(raft): correct CommitTrackingLogStore implementation
              
              
                peterxcli 2a913ab
              
                feat(raft): improve fast recovery error handling and commit index val…
              
              
                peterxcli 7cd6732
              
                feat: add `CommitTrackingLogStore` interface check and adjust return …
              
              
                peterxcli 92c04a0
              
                refactor: improve type assertion for log store  in TestRaft_FastRecovery
              
              
                peterxcli 8e8ba07
              
                feat: add warning log for unsupported fast recovery
              
              
                peterxcli 2020cab
              
                refactor: move commitIndex retrieve into `tryStageCommitIndex`
              
              
                peterxcli 2a7d584
              
                refactor: remove error from return field of recoverFromCommittedLogs
              
              
                peterxcli bdac45b
              
                refactor: rename FastRecovery and revert the stageCommittedIdx change
              
              
                peterxcli ed47a25
              
                docs: documented GetCommitIndex in CommitTrackingLogStore interface
              
              
                peterxcli ad87d86
              
                docs: change fastRecovery flag to recoverCommittedLog in all document…
              
              
                peterxcli 30fc43e
              
                refactor: add a new ErrIncompatibleLogStore for recoverFromCommittedLogs
              
              
                peterxcli e797962
              
                docs: clarify RestoreCommittedLogs configuration requirement
              
              
                peterxcli 500567f
              
                refactor: rename recoverFromCommittedLogs to restoreFromCommittedLogs
              
              
                peterxcli cfffcb5
              
                refactor!: update MakeCluster functions to return error
              
              
                peterxcli 560c0b9
              
                test: add test for RestoreCommittedLogs with incompatible log store
              
              
                peterxcli 8c722fa
              
                Revert "refactor!: update MakeCluster functions to return error"
              
              
                peterxcli 300a6e7
              
                refactor: update makeCluster to return errors
              
              
                peterxcli 8d11a28
              
                Use wrapped err
              
              
                peterxcli 1bdf161
              
                docs: clarify GetCommitIndex behavior in CommitTrackingLogStore inter…
              
              
                peterxcli 3a5d299
              
                Merge branch 'main' into feat/commit-tracking-log-store-checker
              
              
                peterxcli File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Uh oh!
There was an error while loading. Please reload this page.