Skip to content
Snippets Groups Projects
  1. Aug 09, 2017
  2. Aug 08, 2017
    • Eric Cano's avatar
      Reworked OStoreDB::ArchiveMount::getNextJobBatch(). · 43f12e1e
      Eric Cano authored
      This new version locks the queues for less time.
      Fixed a bug where the wrong lock (shared and not exclusive) was taken when removing empty queues
      from the root entry.
      Improved multiple iterations retrying (we can now retry on a new queue if one gets contructed
      in the meantime.
      43f12e1e
    • Eric Cano's avatar
      Moved mhvtl's tape to tmpfs. · 68cf70b4
      Eric Cano authored
      This makes the system tests faster on HDD backed systems as mhvtl is an heavy user of fsync.
      
      Fsync cost can go up to 100ms on HDD (+vm + hyperV).
      68cf70b4
  3. Aug 07, 2017
  4. Aug 04, 2017
    • Eric Cano's avatar
      Increased timeout for rados locks to 4 minutes. · d33bd3d2
      Eric Cano authored
      Some cases of operations taking over a minute were seen practice.
    • Eric Cano's avatar
    • Eric Cano's avatar
      Fixed sheduling bug where not enough retrieve mounts got triggered. · 19b7c1e9
      Eric Cano authored
      The queue size division by the number of existing mount is only valid for archive mounts
      where the queue is shared by each mount. In the case of retrieves, the criteria should be considered
      vid by vid and the number of exiting mounts should not matter.
      19b7c1e9
    • Steven Murray's avatar
      Fixed missing FSctl symbol · a3baaed3
      Steven Murray authored
      This commit fixes the following error encountered by the
      Continuous Integration system and discovered and
      reported by Eric:
      
      Config Falling back to using libXrdCtaOfs.so
      Plugin /lib64/libXrdCtaOfs.so: undefined symbol: _ZN3cta13xroot_plugins16XrdCtaFilesystem5FSctlEiR11XrdSfsFSctlR13XrdOucErrInfoPK12XrdSecEntity fslib libXrdCtaOfs.so
      Config Unable to load fslib plugin libXrdCtaOfs.so
      170804 02:37:03 558 XrootdConfig: Unable to create file system object via libXrdCtaOfs.so
      170804 02:37:03 558 XrootdConfig: Unable to load file system.
      ------ xrootd protocol initialization failed.
      
      The origin of the problem is the following commit that
      completed removed the implemention of the
      XrdCtaFilesystem::FSctl() method:
      
      commit ea8d5241
      Author: Michael Davis <michael.davis@cern.ch>
      Date:   Thu Aug 3 10:54:49 2017 +0200
      
          [XrdSsi] Updates eos_messages.proto and deletes Opaque Query
      
          Update the protobuf file to the version required by EOS-CTA SSI
          interface and delete all source code that depends on the previous
          version (i.e. all the opaque query code).
      
      This removal should have been a replacement as opposed
      to a hard delete.  The XrdCtaFilesystem::FSctl() method
      should have been re-implemented as follows:
      
      int XrdCtaFilesystem::FSctl(const int cmd, XrdSfsFSctl &args, XrdOucErrInfo &eI
        (void)cmd; (void)args; (void)eInfo; (void)client;
        eInfo.setErrInfo(ENOTSUP, "Not supported.");
        return SFS_ERROR;
      }
      a3baaed3
    • Eric Cano's avatar
      Added handling of unlocking error in OStoreDB::ArchiveMount::getNextJobBatch(). · ae6db658
      Eric Cano authored
      Problem can occur in case of lock expiration. The request is still updated and should be handled as such.
      The previous behaviour led to orphaned objects.
      ae6db658
  5. Aug 03, 2017
  6. Aug 02, 2017
  7. Aug 01, 2017
  8. Jul 31, 2017
  9. Jul 30, 2017
    • Eric Cano's avatar
      Revisited locking in BackendRados. · 600a5f06
      Eric Cano authored
      The locks in Rados have timeouts. They are needed in case a locker process dies without
      releasing its lock. As we have some contention in heavily loaded situations, it can happen
      that a process is till accessing objects while the lock is expired. To lessen the likeliness
      of this situation, the timeout has been increased from 10s to 60s.
      
      The backoff was ajusted using the MultithreadLockingInterface unit test, with printouts
      allowing to visually see the effect of the backoff strategy. The printouts are committed,
      but they are commented out.
      
      The same unit test was fized as it used to create an empty object, which is not supported
      anymore in order to be able to detect locking of non-existing objects (lock creates the object,
      but we detect non-existence as it is empty and re-delete it.
      
      This mechanism of empty object locking detection is also added to the async update of object
      as it was missing there (and the backoff has been added there too).
      600a5f06
  10. Jul 29, 2017
  11. Jul 28, 2017
Loading