- 11 Oct, 2017 40 commits
-
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
The CASTOR/SHIFT function sstrerror_r() should call the "standard" function strerror_r(). Before this modification the "standard" strerror() function was being called which is not guranteed to be thread safe. Compiling the CASTOR/SHIFT function sstrerror_r() code as C++ code as opposed to C code makes the GNU compiler check the return type of the "standard" function strerror_r(). The return type of the "standard" function strerror_r() is char * for the GNU version and int for the POSIX version. The following two conditions must be true in order to use the POSIX version of strerror_r(): 1. _GNU_SOURCE must NOT be defined 2. Either _XOPEN_SOURCE should be defined as 600 or _POSIX_C_SOURCE should be defined as 200112L
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
the -O2 option.
-
Steven Murray authored
castor::exception::AlreadyInitialized
-
Steven Murray authored
castor::exception::InvalidNbArguments
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
-
Steven Murray authored
Added the following two serrno entries: ETINVALIDTFSEQ (1939) Invalid tape-file sequence-number ETINVALIDTFSIZE (1940) Invalid tape-file file-size
-
Steven Murray authored
Added the new serrno number "ETSESSIONERROR (1938) Tape session error".
-
Sebastien Ponce authored
-
Sebastien Ponce authored
-
Sebastien Ponce authored
-
Steven Murray authored
In order to improve logging for tape-operations and to facilitate the current testing surrounding this bug, the serrno code of ENOMEM has been replaced by the more specific error ETNOLBLINFOMEM meaning "No memory available for label information" within the setlabelinfo function.
-
Steven Murray authored
Fix which requires testing.
-
Sebastien Ponce authored
- svcClass was dropped from the MigrationRouting table as unused. Tools have been amended accordingly. - MigrationJob has now an originalCopyNb and originalVID in case of repack migrations that allow to identify repacks properly - a table MigratedSegment has been added holding information on other existing tape segments for the migrating files. This allows to avoid putting 2 copies on a file on the same tape - in general, migrations that can be triggered at recall time (extra copy and repacks) are populated in MigrationJob table from the beginning, in status MIGRATIONJOB_WAITONRECALL. This allows easy triggering of the migrations after the recall and to identify any problematic migration routing before we even recall.
-
Sebastien Ponce authored
The main gains are : - simpler DB schema : StreamToTapeCopy and SvcClass2TapePool have disappeared. TapeCopy is split in to the dedicated RecallJob and MigrationJob. Stream is replaced by MigrationMount that includes all data needed from the Tape table (so the Tape table only used by recall now). - simpler concepts : MigrationMounts match with mounts and do not survive them (as Stream did), MigrationRouting table explicitely gives the migration routing. NbDrives has moved to the TapePool - less components : migHunter is gone, replaced by the MigrationRouting table and by a DB job that starts the needed mounts - better error reporting : migration failures due to bad configuration are reported sunchronously to the user, on file close or even on file opening when possible. e.g. if the combination of svcClass and fileClass given by the the user is not present in the MigrationRouting table, the file opening will fail with message "File recreation canceled since the file cannot be routed to tape". This case used to loop forever in the migration part. Conflicts: castor/db/oracleCommon.sql castor/db/oracleSchema.sql castor/db/oracleTapeGateway.sql castor/tape/tapegateway/daemon/TapeStreamLinkerThread.cpp castor/tape/tapegateway/daemon/VmgrTapeGatewayHelper.cpp castor/tape/tapegateway/daemon/VmgrTapeGatewayHelper.hpp castor/tape/tapegateway/daemon/ora/OraTapeGatewaySvc.cpp castor/tape/tapegateway/daemon/ora/OraTapeGatewaySvc.hpp codeGeneration/RH.xmi Conflicts: castor/db/oracleCommon.sql
-
Sebastien Ponce authored
The version is MUCH lighter than the previous one and consists only in a small python script talking to the stager DB. In particular the repack DB and repack daemon are gone. The handling of repack at the stager level has also be greatly improved, using bulk APIs and a direct access to the nameserver DB via DB link. The will make the repacking of tapes with > 1M files possible.
-
Steven Murray authored
-
Sebastien Ponce authored
Replaced all Kernighan and Ritchie function declarations by standard ones. Note that his breaks the rfio code
-
Sebastien Ponce authored
Note that this change is a noop, as the code after compiler preprocessing does not change. This was actually double checked manually.
-
Steven Murray authored
bug #68020: RFE: The mighunter should gracefully stop when it encounters an invalid migration-policy or stream-policy function-name Improved the rather misleading error-message that is logged by the mighunter when the migrator-policy Python-function does not attach a tape-copy to any tape-pool.
-
Dennis Waldron authored
-
Steven Murray authored
the InvalidConfiguration exception. This commit works towards implementing the following RFE: bug #68020: RFE: The mighunter should gracefully stop when it encounters an invalid migration-policy or stream-policy function-name
-
Steven Murray authored
addressing the following RFE: bug #67945: RFE: The mighunter should not start if the migration and stream policy modules are not configured properly
-
Steven Murray authored
Forgot to add the error strings for the following two error codes (thanks Dennis): SENOPORTINRANGE and SENOVALUE
-