alamb opened a new pull request, #4992:
URL: https://github.com/apache/arrow-datafusion/pull/4992

   # Which issue does this PR close?
   
   Closes https://github.com/apache/arrow-datafusion/issues/4991
   
   # Rationale for this change
   
   In IOx (and in DataFusion) we often want to know what the root cause of an 
error is (e.g was it a bug or was it a resources exhausted). ArrowError can 
wrap other errors with Arrow::External (and DataFusion has something similar) 
but there is no easy way to get at the source of the error to walk the chain 
without knowing all the possible types that may be present
   
   I want a generic way to walk up the error stack
   
   
   # What changes are included in this PR?
   1. Implement `std::error::Error::source()` for `DataFusionError`
   2. Make `DataFusionError::find_root` less specific (uses source() rather 
than so much checking for arrow)
   
   # Are these changes tested?
   
   Yes, covered by (some quite gnarly) existing tests
   
   # Are there any user-facing changes?
   Better standard support
   


-- 
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]

Reply via email to