- 
                Notifications
    You must be signed in to change notification settings 
- Fork 33
LSM trees initial integration #1572
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
Conversation
        
          
                ouroboros-consensus-cardano/src/byron/Ouroboros/Consensus/Byron/ByronHFC.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...oros-consensus-cardano/src/ouroboros-consensus-cardano/Ouroboros/Consensus/Cardano/Ledger.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...oros-consensus-cardano/src/ouroboros-consensus-cardano/Ouroboros/Consensus/Cardano/Ledger.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...oros-consensus-cardano/src/ouroboros-consensus-cardano/Ouroboros/Consensus/Cardano/Ledger.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...oros-consensus-cardano/src/ouroboros-consensus-cardano/Ouroboros/Consensus/Cardano/Ledger.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/unstable-mock-block/Ouroboros/Consensus/Mock/Ledger/Block.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/test/storage-test/Test/Ouroboros/Storage/ChainDB/FollowerPromptness.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/test/storage-test/Test/Ouroboros/Storage/LedgerDB/V1/BackingStore.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/test/storage-test/Test/Ouroboros/Storage/LedgerDB/V1/BackingStore.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
      4eaa608    to
    97d30af      
    Compare
  
    37619a9    to
    d62dc42      
    Compare
  
    dad593f    to
    26e6455      
    Compare
  
            
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/Snapshots.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/Snapshots.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ...boros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V1/Snapshots.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LSM.hs
          
            Show resolved
            Hide resolved
        
      12a1acb    to
    4119afa      
    Compare
  
            
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LSM.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
      4ccdfb9    to
    30c149e      
    Compare
  
            
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Util/IndexedMemPack.hs
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Util/IndexedMemPack.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/Args.hs
          
            Show resolved
            Hide resolved
        
              
          
                ...boros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LedgerSeq.hs
          
            Show resolved
            Hide resolved
        
              
          
                ...boros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LedgerSeq.hs
          
            Show resolved
            Hide resolved
        
              
          
                ...boros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LedgerSeq.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LSM.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LSM.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LSM.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
              
          
                ouroboros-consensus/src/ouroboros-consensus/Ouroboros/Consensus/Storage/LedgerDB/V2/LSM.hs
              
                Outdated
          
            Show resolved
            Hide resolved
        
      81c8c09    to
    074e656      
    Compare
  
    An extra version of `text` is in the plan.json as a dependency of a `custom-setup` or `build-tool-depends`. Using `exactDeps = true` prevent those from getting into the plan.json. Co-authored-by: Hamish Mackenzie <Hamish.K.Mackenzie@gmail.com>
| error $ | ||
| unlines | ||
| [ "There was an error deserializing a TxOut from the LSM backend." | ||
| , "This will likely result in a restart-crash loop." | ||
| , "The error: " <> show err | ||
| ] | 
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not thrilled to see error here. Still looking to understand where the fromTxoutBytes is used from perhaps it's possible to gracefully handle the error condition without calling error?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looked at from fromTxInBytes and fromTxOutBytes and error calls therein. Couple of questions:
- Should we introduce module level Errortype and handle such conditions gracefully?
data Error = TxOutDecodingError SomeError | TxInDecodingError SomeError | InternalError Text
Even though we're calling from functions in IOLike m, it would be very useful to have structured error types such that we can eventually also provide machine readable errors in agreed upon format etc.
- What's our take on errorgenerally?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general we don't like error but for unrecoverable situations like this one it is somewhat OK. We cannot handle such an error in any meaningful way so we just have to crash. Having a module level Error type would help us with readability of the error though...
Description
Integrate the LSM trees as a new backend for the LedgerDB.