Corrected a race between the RecallTaskInjector and the TapeReadSingleThread
If the RecallTaskInjector had to do RAO query that takes too much time, the TapeReadSingleThread could start its infinite loop with no Recall task in it, this would cause the stopping of the RecallTaskInjector. Thus, even if there are Retrieve jobs in the queue, as the RecallTaskInjector is stopped, the TapeReadSingleThread will not be feed with Read tasks and will terminate. The remaining jobs in the queue will trigger a new mount
Showing
- tapeserver/castor/tape/tapeserver/daemon/RecallTaskInjector.cpp 32 additions, 2 deletions...rver/castor/tape/tapeserver/daemon/RecallTaskInjector.cpp
- tapeserver/castor/tape/tapeserver/daemon/RecallTaskInjector.hpp 19 additions, 0 deletions...rver/castor/tape/tapeserver/daemon/RecallTaskInjector.hpp
- tapeserver/castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp 5 additions, 0 deletions...er/castor/tape/tapeserver/daemon/TapeReadSingleThread.cpp
Please register or sign in to comment