Skip to content

Fix deletion with incomplete signature metadata - #2071

Open
keeganmccallum wants to merge 1 commit into
v6d-io:mainfrom
keeganmccallum:fix/etcd-null-delete
Open

Fix deletion with incomplete signature metadata#2071
keeganmccallum wants to merge 1 commit into
v6d-io:mainfrom
keeganmccallum:fix/etcd-null-delete

Conversation

@keeganmccallum

Copy link
Copy Markdown

Summary

  • keep the authoritative /data/<object-id> delete when signature metadata is incomplete
  • skip the secondary signature-index delete unless both instance_id and signature are unsigned numbers
  • cover null and malformed metadata while preserving the normal two-delete and persistent-sync behavior

Problem

DelDataOps unconditionally deserialized instance_id and signature as numbers. Partially observed or stale distributed metadata can contain null values, causing json.exception.type_error.302 and aborting the entire delete operation before the authoritative data entry is removed.

Verification

  • Regression test against the unguarded implementation aborts with type must be number, but is null.
  • Focused test passes with this change for null and string values in either field, plus the valid signature-index deletion path.
  • cpplint src/server/util/meta_tree.cc test/meta_tree_test.cc
  • git diff --check

The separate concurrent EtcdMetaService::UpdateEndpoint member-join failure is intentionally out of scope.

Signed-off-by: keeganmccallum <keeganmccallum3@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant