alamb commented on issue #3410: URL: https://github.com/apache/arrow-datafusion/issues/3410#issuecomment-1242690125
> And we hope to do error recovering for some special error case and we need to know the root cause of the error. If an error is wrapped too much, it will be very difficult to make decision of which error to recover and others not. That is a neat usecase and it makes sense. Arrow and DataFusion don't have very specific errors (unlike some other rust crate where the specific error call site often has its own unique variant). This makes coding easier as there is less error machinery to maintain, but it makes distinguishing between errors potentially more challenging -- All you have is the handful of variants and a message. As the rest of the rust ecosystem works on stabalizing "error context" (aka being able to walk up the chain of error messages) maybe finding the root cause will become simpler. I mostly mention this as maybe it would be a good time to figure out if we can add a `source:` of each `ArrowError`, and `DataFusionError` as a more general purpose method than adding such info to the `TaskContext` -- 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]
