Currently, token map calculation can block requests. Large clusters with lots of vnodes can cause large delays in handling requests.
A new token map should be built on a separate worker thread (via libuv's uv_work) while requests use the previously calculated token map. Request handling should only block for the swap of the new and the old token map.
From what I understand, when the tokens map is rebuilt, the driver returns to non-token aware mode. Will this evolution allow to remain in token aware mode?
Michael Penick
March 30, 2017 at 6:20 PM
would also fix this issue, but it's a much larger change. In the case of the dedicated cluster thread would run this out of core.
Currently, token map calculation can block requests. Large clusters with lots of vnodes can cause large delays in handling requests.
A new token map should be built on a separate worker thread (via libuv's uv_work) while requests use the previously calculated token map. Request handling should only block for the swap of the new and the old token map.