Move token map calculation off the session thread

Description

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.

Environment

None

Pull Requests

None

Activity

Christophe Angeli 
April 15, 2017 at 7:51 AM

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.

Fixed

Details

Assignee

Reporter

Priority

Created March 30, 2017 at 5:37 PM
Updated July 11, 2018 at 9:00 PM
Resolved July 11, 2018 at 9:00 PM