diff --git a/base_layer/core/src/chain_storage/lmdb_db/lmdb.rs b/base_layer/core/src/chain_storage/lmdb_db/lmdb.rs index f091ac29ce..991b9bdef1 100644 --- a/base_layer/core/src/chain_storage/lmdb_db/lmdb.rs +++ b/base_layer/core/src/chain_storage/lmdb_db/lmdb.rs @@ -63,22 +63,35 @@ where V: Serialize + Debug, { let val_buf = serialize(val)?; - trace!(target: LOG_TARGET, "LMDB: {} bytes inserted", val_buf.len()); match txn.access().put(db, key, &val_buf, put::NOOVERWRITE) { - Ok(_) => Ok(()), - Err(lmdb_zero::Error::Code(lmdb_zero::error::KEYEXIST)) => Err(ChainStorageError::KeyExists { - table_name, - key: to_hex(key.as_lmdb_bytes()), - }), - Err(lmdb_zero::Error::Code(lmdb_zero::error::MAP_FULL)) => Err(ChainStorageError::DbResizeRequired), - Err(e) => { + Ok(_) => { + trace!( + target: LOG_TARGET, "Inserted {} bytes with key '{}' into '{}'", + val_buf.len(), to_hex(key.as_lmdb_bytes()), table_name + ); + Ok(()) + }, + err @ Err(lmdb_zero::Error::Code(lmdb_zero::error::KEYEXIST)) => { error!( - target: LOG_TARGET, - "Could not insert value into lmdb {} ({}/{:?}): {:?}", + target: LOG_TARGET, "Could not insert {} bytes with key '{}' into '{}' ({:?})", + val_buf.len(), to_hex(key.as_lmdb_bytes()), table_name, err + ); + Err(ChainStorageError::KeyExists { table_name, - to_hex(key.as_lmdb_bytes()), - val, - e, + key: to_hex(key.as_lmdb_bytes()), + }) + }, + err @ Err(lmdb_zero::Error::Code(lmdb_zero::error::MAP_FULL)) => { + error!( + target: LOG_TARGET, "Could not insert {} bytes with key '{}' into '{}' ({:?})", + val_buf.len(), to_hex(key.as_lmdb_bytes()), table_name, err + ); + Err(ChainStorageError::DbResizeRequired) + }, + Err(e) => { + error!( + target: LOG_TARGET, "Could not insert {} bytes with key '{}' into '{}' ({:?})", + val_buf.len(), to_hex(key.as_lmdb_bytes()), table_name, e ); Err(ChainStorageError::InsertError { table: table_name,