run
public void run()
Dispatches the marker creation requests that can be process to a worker thread of batch
processing the requests.
For each marker directory, goes through the following steps:
(1) find the next available file index for writing. If no file index is available,
skip the processing of this marker directory;
(2) fetch the pending marker creation requests for this marker directory. If there is
no request, skip this marker directory;
(3) put the marker directory, marker dir state, list of requests futures, and the file index
to a MarkerDirRequestContext instance and add the instance to the request context list.
If the request context list is not empty, spins up a worker thread, MarkerCreationBatchingRunnable,
and pass all the request context to the thread for batch processing. The thread is responsible
for responding to the request futures directly.
- Specified by:
run in interface Runnable