Fixed a bug that Load job's state is incorrect when upgrading from 0.10.x to 0.11.x (#2356)
There is bug in Doris version 0.10.x. When a load job in PENDING or LOADING state was replayed from image (not through the edit log), we forgot to add the corresponding callback id in the CallbackFactory. As a result, the subsequent finish txn edit logs cannot properly finish the job during the replay process. This results in that when the FE restarts, these load jobs that should have been completed are re-entered into the pending state, resulting in repeated submission load tasks. Those wrong images are unrecoverable, so that we have to reset all load jobs in PENDING or LOADING state when restarting FE, depends on its corresponding txn's status, to avoid submit jobs repeatedly. If corresponding txn exist, set load job' state depends on txn's status. If txn does not exist, may be the txn has been removed due to label expiration. So that we don't know the txn is aborted or visible. So we have to set the job's state as UNKNOWN, which need handle it manually.
This commit is contained in:
@ -255,7 +255,7 @@ abstract public class DorisHttpTestCase {
|
||||
httpServer.setup();
|
||||
httpServer.start();
|
||||
// must ensure the http server started before any unit test
|
||||
Thread.sleep(500);
|
||||
Thread.sleep(5000);
|
||||
doSetUp();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user