[core] better error message for lost objects (#18068)

This commit is contained in:
Chen Shen 2021-08-26 00:03:29 -07:00 committed by GitHub
parent 52bd0e1737
commit a29b157e2e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 2 deletions

View file

@ -126,7 +126,12 @@ class ExternalStorage(metaclass=abc.ABCMeta):
address_len = len(owner_address)
metadata_len = len(metadata)
if buf is None:
raise ValueError(f"object ref {ref.hex()} does not exist.")
error = f"object ref {ref.hex()} does not exist."
# empty data and 1 byte metadata, this object is
# marked as failed.
if metadata_len == 1:
error += " This is probably since its owner has failed."
raise ValueError(error)
buf_len = len(buf)
payload = address_len.to_bytes(8, byteorder="little") + \
metadata_len.to_bytes(8, byteorder="little") + \

View file

@ -710,7 +710,7 @@ bool PlasmaStore::IsObjectSpillable(const ObjectID &object_id) {
// Object already evicted or deleted.
return false;
}
return entry->GetRefCount() == 1;
return entry->Sealed() && entry->GetRefCount() == 1;
}
void PlasmaStore::PrintDebugDump() const {