y2ksayed opened a new issue, #20335: URL: https://github.com/apache/hudi/issues/20335
## Problem If `.hoodie/hoodie.properties` is corrupted (disk issue, partial write, bad manual edit), the entire Hudi table becomes unreadable — every read, write, and time-travel query fails because `HoodieTableMetaClient` cannot be built. There is currently no supported recovery path; users must restore the file from an external backup or rebuild the table from scratch. The timeline (`.hoodie/*.commit`, `.hoodie/*.deltacommit`, archived timeline) still holds the ground truth of the table's history even when the properties file is damaged, so recovery should be possible. ## Proposal Add a supported, user-invoked recovery path. Options: 1. A repair command/procedure (e.g. `CALL repair_table_properties(...)` or a CLI tool) that rebuilds `hoodie.properties` from recoverable sources, or 2. A read-only "safe mode" that reconstructs the minimal table config needed for reads (including time travel) when the properties file is unreadable. ## Design considerations Recoverable with high confidence: - Table name: from the table base path - Table type (COW vs MOR): inferred from file layout (presence of log files / deltacommit instants) - Timeline layout version: from the `.hoodie` directory structure Needs care / explicit user confirmation: - Table version: infer from layout, but must never silently downgrade - Custom table properties (key generator class, partition fields, etc.): partially recoverable from commit metadata and data-file schemas; anything unrecoverable must fail loudly rather than guess Non-goals: - Silently guessing write-critical config. Recovery must be explicit (user-invoked) and must validate the rebuilt config before persisting it. ## Motivation Operational robustness: a single small corrupted file should not mean total table loss. This is also a Delta Lake parity gap that matters to teams evaluating the two formats. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
