deepakpanda93 commented on issue #11835: URL: https://github.com/apache/hudi/issues/11835#issuecomment-4850605457
This is fixed in Hudi 1.2.0. Root cause: hoodie.properties was updated non-atomically, so when the underlying HDFS write failed mid-way (InterruptedIOException while waiting for pipeline ack), the file was left zero-byte (len=0). Recovery/upgrade then couldn't read the table version and could remove the intact hoodie.properties.backup, corrupting both copies. Fix: [#18058](https://github.com/apache/hudi/pull/18058) ("Handle zero byte properties file and ensure atomic writes during modification") adds verification to detect empty / size-mismatched properties files and hardens the update path against silent HDFS write failures. It's in release-1.2.0. (Reads already fall back to hoodie.properties.backup via ConfigUtils, with retry added earlier in HUDI-6154 [#8609](https://github.com/apache/hudi/pull/8609); [#18058](https://github.com/apache/hudi/pull/18058) adds the corruption detection you asked for.) You were on 0.14.0, which predates this. Please move to 1.2.0+. If a table is already in the corrupted state, you can restore hoodie.properties from hoodie.properties.backup (or the repair_overwrite_hoodie_props CLI/procedure) to recover. Closing as fixed in 1.2.0 — if you still see zero-byte hoodie.properties after a write failure on 1.2.0+, please reopen with the timeline and the failing stack. Thanks @Ytimetravel for the detailed breakdown! -- 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]
