<p dir="auto">With version 3.1.0, the HintManagerHolder.clear method is executed each time SQL is executed?</p>
<p dir="auto">When using HintShardingAlgorithm, you need to set HintManagerHolder before executing SQL. I execute multiple SQL in Dao, or execute multiple Dao methods in a service. I want to set HintManagerHolder in the form of AOP interception before calling the method. Execute clear after the end, there is no way to achieve</p>
<h2 dir="auto">Question</h2>
<p dir="auto">Why DriverJDBCExecutor#executor  do not handle the error result of branch thread execution？<br>
DriverJDBCExecutor#executor：</p>
<p dir="auto"><a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/43204877/177512854-6437ce45-89f5-431a-9365-e899755c8555.png"><img src="https://user-images.githubusercontent.com/43204877/177512854-6437ce45-89f5-431a-9365-e899755c8555.png" alt="image" style="max-width: 100%;"></a><br>
JDBCExecutorCallback#execute：<br>
<a target="_blank" rel="noopener noreferrer nofollow" href="https://user-images.githubusercontent.com/43204877/177512621-edf3fba5-1801-4d0d-846a-eece36fbb9dc.png"><img src="https://user-images.githubusercontent.com/43204877/177512621-edf3fba5-1801-4d0d-846a-eece36fbb9dc.png" alt="image" style="max-width: 100%;"></a></p>
<p dir="auto">In this way, the result of the overall sql execution is inconsistent with the expected result.</p>
<p dir="auto">eg:<br>
insert into xx_table (id,xxx,xxx) values (1,xx,xxx),(2,xxx,xxx);</p>
<p dir="auto">This statement will route to two datasources, ds0, ds1.</p>
<p dir="auto">If there is a row with primary key 1 in ds1, it will throw exception: Duplicate entry '1' for key 'PRIMARY';<br>
The final result is: the sql routed to ds0 is successfully executed, and the sql execution of ds1 fails.</p>
<p dir="auto">Why is it not processed as all failures, which leads to data inconsistency, and distributed transactions will not be rolled back</p>