Skip to content
Snippets Groups Projects
user avatar
mvelosob authored
Refactor the RecallTaskInjector to limit the number of tasks passed
at once to the TapeReadSingleThread for a tape with RAO and to reserve
disk space in smaller batchs

In every call of RecallTaskInjector::synchronousFetch the injector
will try to pop jobs from the queue so that it holds an ammount of
work equal to the limit of files or bytes imposed by the RAO
implementation or by the value given by the
BulkRequestRecallMaxBytes and BulkRequestRecallMaxFiles config
options in /etc/cta/cta-taped.conf.

In every call of RecallTaskInjector::injectBulkRecalls the
RecallTaskInjector will inject a set of tasks limited by the
BulkRequestRecallMaxBytes and BulkRequestRecallMaxFiles config
options in /etc/cta/cta-taped.conf to the TapeReadSingleThread
and DiskWriteThreadPool.

The disk space reservation is done once for every job batch (instead of
all the disk space being reserved when the jobs are popped)

This prevents tapeservers with RAO from reserving a large amount
of the disk buffer upfront, which would cause the buffer to fill quickly
by a few drives, which cannot fill it fast enough
5e602c9f
History
Name Last commit Last update
..