Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Resolved
-
None
-
None
-
None
Description
The basic idea of cube optimization without influencing current queries is shown at figure One-Click Cube Optimization.png.
To optimize a cube with N ready segments,
- For each segment, a corresponding optimize job will be triggered to adjust its cuboids.
- If a optimize job finished, it's resulting segment status should be READY_PENDING and will not serve query.
- There should be job to wait for all of the optimize jobs finishing their work, and then atomically remove old READY segments and update the status of READY_PENDING segments to READY for serving query. Here, we call this kind of job as checkpoint executable.