Review tape session error codes
CTA uses reportEndOfSessionWithErrors
to report error code if the data transfer session fails. We use it in two places:
-
In
DiskWriteThreadPool
(L182) we always return code666
. -
In
TapeWriteSingleThread
(L517) we return either666
orENOSPC
(end of tape / no space left on device, defined in/usr/include/asm-generic/errno-base.h
)
As a result, the majority of failed sessions get meaningless code 666.
We should review this code system: do not report codes at all or extend it to report more error cases.
We should also consider using it in TapeReadSingleThread
and this should be a part of the bigger task: session termination (end of run()
method) should look similar in TapeReadSingleThread
and TapeWriteSingleThread
.