-*- mode:org -*-

* rootserver module for oceanbase 1.0.

** thread model

*** independent thread
rootservice has indenpendent threads

3. ObLeaderCoordinator: Leader coordinating
7. ObRootService::task_queue.task_queue: Asynchronous task queue, the number of threads can be configured, the default is 4
8. ObRootService::task_queue.timer_: timer thread
9. ObMajorFreezeLauncher: Major freeze
10. ObDailyMergeScheduler: Daily merge

*** Timer and asynchronous tasks

Timer and asynchronous tasks are performed by the ObRootService::task_queue_.


**** Timertask

All timed tasks are AsyncTimerTask. When triggered, an asynchronous task is generated, which can be executed quickly without blocking the timer thread.


1. ObRestartTask : async task after restart
3. ObInnerTableMonitorTask : regular cleaning schema_table


**** asynchronous tasks

Rootservice has the following asynchronous tasks, which are executed by the ObRootService::ObAsyncTaskQueue.
Asynchronous task supports retrying when execution fails.

1. ObUpdateRsListTask : Update rslist metadata asynchronously and will retry until success
