Details
-
Task
-
Resolution: Works as Designed
-
Major - P3
-
None
-
None
-
Sharding EMEA
Description
If a DDL operation is sent by the router to a databases's non-primary shard, the error is currently not retryable.
There should be a new kind of "retryable" exception in order to implement something similar to the following logic:
retries = 0;
|
do{
|
try{
|
// best effor get db primary
|
// call DDL on db primary
|
}catch(/* not primary node for db */){
|
retries++;
|
}
|
}while(retries < 3);
|