You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@fesod.apache.org by "BigDataDZ (via GitHub)" <gi...@apache.org> on 2026/10/09 07:30:58 UTC

[I] [Bug] Read-side cleanup reports the last failure and hides earlier ones (same class as #1136) [fesod]

BigDataDZ opened a new issue, #1204:
URL: https://github.com/apache/fesod/issues/1204

   ### Fesod version
   
   Current `main` (a559aa1).
   
   ### Description
   
   PR #1198 fixes #1136 on the write side: `WriteContextImpl#finish` used to overwrite the recorded failure with every later one, so only the last cleanup error surfaced. The read-side cleanup has the identical pattern and still reports the **last** failure, hiding earlier ones.
   
   ### Location
   
   `fesod-sheet/src/main/java/org/apache/fesod/sheet/analysis/ExcelAnalyserImpl.java` (cleanup sequence, around lines 230-282): six `throwable = t;` overwrites across
   
   1. `ReadCache#destroy`
   2. `OPCPackage#revert` (xlsx)
   3. `PoifsFileSystem#close` (xls)
   4. CSV parser close
   5. input stream close
   6. temp file delete
   
   ### Reproduction sketch
   
   Read an xls with a `ReadCache` whose `destroy()` throws, backed by a stream whose `close()` also throws: the `destroy()` failure is overwritten by the close failure, so callers only ever see "close failed" and the cache failure is lost.
   
   ### Expected behavior
   
   Same as #1136 concluded for the write side: the first failure is the cause, every later failure is attached with `Throwable#addSuppressed`, so the full chain is visible.
   
   ### Suggested fix
   
   Mirror #1198's `recordFailure` shape in `ExcelAnalyserImpl`'s cleanup, plus a regression test forcing two cleanup failures (a failing `ReadCache#destroy` and a failing stream `close()`).
   
   ### Related existing work
   
   #1136 (write side, fixed by #1198). No read-side coverage.
   
   ### Are you willing to submit a PR?
   
   - [x] I'm willing to submit a PR!


-- 
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: commits-unsubscribe@fesod.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fesod.apache.org
For additional commands, e-mail: commits-help@fesod.apache.org


Re: [I] [Bug] Read-side cleanup reports the last failure and hides earlier ones (same class as #1136) [fesod]

Posted by "BigDataDZ (via GitHub)" <gi...@apache.org>.
BigDataDZ commented on issue #1204:
URL: https://github.com/apache/fesod/issues/1204#issuecomment-6076514183

   Claiming this one (I filed it after reviewing #1198). Plan: mirror the recordFailure shape from #1198 in ExcelAnalyserImpl cleanup, and add a regression test forcing two cleanup failures (failing ReadCache#destroy + failing stream close) asserting the first is the cause and the second is suppressed.


-- 
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: commits-unsubscribe@fesod.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@fesod.apache.org
For additional commands, e-mail: commits-help@fesod.apache.org