hyperledger/fabric · error
cannot update ledger status, ledger [%s] does not exist
Error message
cannot update ledger status, ledger [%s] does not exist
What it means
Returned by idStore.updateLedgerStatus when no metadata record exists for the ledgerID being transitioned (e.g. pause/resume/commit of a channel that was never created or was already dropped). Status updates require an existing ledger entry.
Source
Thrown at core/ledger/kvledger/kv_ledger_provider.go:645
metadataBytes, err := protoutil.Marshal(metadata)
if err != nil {
return err
}
return s.db.Put(metadataKey(ledgerID), metadataBytes, true)
}
func (s *idStore) deleteLedgerID(ledgerID string) error {
return s.db.Delete(metadataKey(ledgerID), true)
}
func (s *idStore) updateLedgerStatus(ledgerID string, newStatus msgs.Status) error {
metadata, err := s.getLedgerMetadata(ledgerID)
if err != nil {
return err
}
if metadata == nil {
logger.Errorf("LedgerID [%s] does not exist", ledgerID)
return errors.Errorf("cannot update ledger status, ledger [%s] does not exist", ledgerID)
}
if metadata.Status == newStatus {
logger.Infof("Ledger [%s] is already in [%s] status, nothing to do", ledgerID, newStatus)
return nil
}
metadata.Status = newStatus
metadataBytes, err := proto.Marshal(metadata)
if err != nil {
logger.Errorf("Error marshalling ledger metadata: %s", err)
return errors.Wrapf(err, "error marshalling ledger metadata")
}
logger.Infof("Updating ledger [%s] status to [%s]", ledgerID, newStatus)
key := metadataKey(ledgerID)
return s.db.Put(key, metadataBytes, true)
}
func (s *idStore) getLedgerMetadata(ledgerID string) (*msgs.LedgerMetadata, error) {
val, err := s.db.Get(metadataKey(ledgerID))View on GitHub (pinned to 2736b63f8f)
Solutions
- Verify the channel was fully joined/created before status updates
- Re-create the ledger if records were lost
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at core/ledger/kvledger/kv_ledger_provider.go:645 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/eead7954972147cb.
Report an issue: GitHub.