starrocks
starrocks copied to clipboard
[Feature]Inject error for pipeline engine
What type of PR is this:
- [ ] bug
- [x] feature
- [ ] enhancement
- [ ] refactor
- [ ] others
Problem Summary(Required) :
- We can inject errors with RETURN_IF_ERROR through compile with ENABLE_STATUS_FAILED.
- When ENABLE_STATUS_FAILED, probability of injection be seted by probability_of_inject(means:1/probability_of_inject).
- Considering too much scope, the injection range is limited to pipeline engine now.
- Client will be responsed with message of "Inject error" with inject position. like:
mysql> select d_year, s_nation, p_category, sum(lo_revenue) - sum(lo_supplycost) as profit from lineorder join dates on lo_orderdate = d_datekey join customer on lo_custkey = c_custkey join supplier on lo_suppkey = s_suppkey join part on lo_partkey = p_partkey where c_region = 'AMERICA'and s_region = 'AMERICA' and (d_year = 1997 or d_year = 1998) and (p_mfgr = 'MFGR#1' or p_mfgr = 'MFGR#2') group by d_year, s_nation, p_category order by d_year, s_nation, p_category;
ERROR 1064 (HY000): INJECT ERROR: ../src/exec/pipeline/scan/scan_operator.cpp 192