oap-project / gazelle_plugin

Native SQL Engine plugin for Spark SQL with vectorized SIMD optimizations.
Apache License 2.0
256 stars 77 forks source link

[NSE-1141] Replace ValueOrDie with status check to avoid executor die #1143

Closed jackylee-ch closed 1 year ago

jackylee-ch commented 1 year ago

What changes were proposed in this pull request?

Currently we use ValueOrDie to check the status, such as LazyBatchIterator.AdvanceTo, and it will directly hang up the current process if there is an exception caused bad status. However, in many cases, it is sufficient to just throw an exception rather than hang up the process, such as the FetchFailedException, which means fetch block failed from other executor. And for Spark, the hanging of the executor process is much more serious than throwing exception, because this will lead to a large number of task recalculations, which may lead to more serious problems.

How was this patch tested?

unit tests and manual tests.

github-actions[bot] commented 1 year ago

https://github.com/oap-project/native-sql-engine/issues/1141