apache / apache/gravitino

[EPIC] Build metadata undelete foundations and the table reference flow

Open
#12,188 0 comments 0 reactions 1 assignee Claimed by @nevzheng View on GitHub
epic
Dominant language
Java
Stars
3.2k
Forks
935
Avg merge
1d 16h
Merged PRs (30d)
298

Description

### Describe the proposal

Child of #12187.

Linear tracking: [DAT-320](https://linear.app/datastrato/issue/DAT-320/build-metadata-undelete-foundations-and-the-table-reference-flow)

Build the shared metadata-only undelete foundation and prove it end to end for tables. This covers high-level API/storage alignment, relational safety hardening, the conditional REST contract, deletion-generation persistence, the transactional recovery engine, and the table reference implementation across the server, Java client, and OpenAPI.

Recovery changes only Gravitino metadata. It does not call catalogs, authorization plugins, or downstream systems.

This sub-epic blocks the implementation fan-outs. Object-specific and connector-specific semantics remain in their owning tickets.

### Task list

- [ ] **TBD** — Align the shared metadata undelete API and storage contract ([DAT-324](https://linear.app/datastrato/issue/DAT-324/align-the-shared-metadata-undelete-api-and-storage-contract))
- [ ] **TBD** — Define deleted-entity DTOs, ETags, conditional PATCH semantics, typed errors, and Java transport
- [ ] **TBD** — Persist deletion generations and add H2, MySQL, and PostgreSQL migrations
- [ ] **TBD** — Execute relational upgrades in tests and guard GC against restored rows
- [ ] **TBD** — Implement the transactional recovery engine and table reference flow
- [ ] **TBD** — Add table REST, Java client, OpenAPI, concurrency, and migration coverage

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.