box: do not invoke garbage collection on checkpoint_count change
Currently, box_set_checkpoint_count() not only changes the corresponding configuration option, but also invokes garbage collection. The problem is it is called in the beginning of box_cfg(), before recovering engine data. At that time engines are not ready to invoke garbage collection (e.g. Vinyl hasn't scanned vylog directory yet). Besides, the server might be started in the hot standby mode, in which case calling garbage collection is obviously wrong. To fix this, we could somehow detect if box_set_checkpoint_count() is called from box_cfg() and avoid invoking the garbage collector if so, but I think it isn't worth it. Instead let's just not invoke garbage collection when this option changes. It's not a big deal - old files will be removed by the next snapshot anyway.
Loading
Please register or sign in to comment