1. 19 Jan, 2018 1 commit
  2. 27 Oct, 2017 1 commit
  3. 26 Oct, 2017 1 commit
  4. 25 Sep, 2017 1 commit
  5. 20 Sep, 2017 1 commit
    • Eric Cano's avatar
      Fixed long updating of statistics in object store leading to timeout. · 0c28e713
      Eric Cano authored
      The updating of statistic in the objecttore (in drive register) could wait for a lock
      for so long that the session get killed due to a heatbeat timeout.
      
      To avoid this, we use lockfree access as much as possible, and when locking it srequired, do it with a
      timeout.
      
      The timeout will be logged as a warning.
      
      Added timeouts to synchronous locking primitives in the object store backends to implement this feature.
      
      Fixed a bug where the VFS backend always used exclusive locks.
      0c28e713
  6. 18 Sep, 2017 1 commit
    • Eric Cano's avatar
      Work in progree: Changed layout of GenericObject::asyncLockfreeFetch so it... · 7159c56c
      Eric Cano authored
      Work in progree: Changed layout of GenericObject::asyncLockfreeFetch so it matches the model of previous sync operations
      
      like ArchiveRequest::asyncUpdateJobOwner().
      Also made the no lock management match the model of previously developped nolock operations.
      Removed Backend::AsyncLockfreeFetcher::wait() as get() will pass the exceptions anyway.
      7159c56c
  7. 15 Sep, 2017 1 commit
  8. 16 Aug, 2017 1 commit
    • Victor Kotlyar's avatar
      Implement batch reporting to the backend for successful retrieve jobs. · b7213e30
      Victor Kotlyar authored
      Proceed all successful reports asynchronously and periodically check
      and clear statuses if they have finished.
      In the end of session do the check/flush for all reports in the
      successful reports queue.
      
      Switch from synchronous rados remove to async aio_remove in
      case of zero size object in BackendRados::AsyncUpdater
      b7213e30
  9. 11 Aug, 2017 1 commit
  10. 09 Aug, 2017 1 commit
    • Victor Kotlyar's avatar
      Make archive reporting on the flush for the batch of jobs. · c8827ade
      Victor Kotlyar authored
      Changed reporting to the Catalog with a batch of written files.
      Changed synchronous reporting to the backend job by job to the
      asynchronous reporting for batch of jobs.
      Changed synchronous reporting to the EOS mgm to the asynchronous
      reporting.
      c8827ade
  11. 03 Aug, 2017 1 commit
  12. 02 Aug, 2017 1 commit
  13. 29 Jul, 2017 1 commit
  14. 25 Jul, 2017 1 commit
  15. 18 Jul, 2017 1 commit
    • Eric Cano's avatar
      Created a helper function for retrieve queue selection. · be6d0b4d
      Eric Cano authored
      In order to be efficient, the data (tape status and queue sizes) is cached in memory.
      This function needed access to the catalogue (where the tape status is located).
      This in turn required passing the catalogue object to:
       - The garbage colletion functions for all object types.
       - The garbage collector object now keeps a reference to the catalogue.
       - The path to the catalogue credential file should now be passed to cta-objectstore-collect-orphaned-object
       - The OStoreDB also needs a reference to the catalogue in order to queue retrive requests.
      
       The garbage collection member function are now also being passed a log context, so the requirement for better
       log of object fate can also be fulfilled later. This in turn required the passing of a logger object to
       the object store and relative helper classes.
      
       Finally, a dummy catalogue class has been created to be used in unit tests.
      be6d0b4d
  16. 20 Jun, 2017 1 commit
  17. 19 Jun, 2017 1 commit
  18. 23 May, 2017 1 commit
  19. 19 May, 2017 1 commit
    • Eric Cano's avatar
      Reviewed promised based thread synchronisation · 8012a02d
      Eric Cano authored
      Fixed calls to promise::get_future() after possible access form other thread. They are now guaranteed to happen before.
      Added helgrind annotations for promise based synchronisation.
      Added macros enabling helgrind annotations for shared_ptr.
      Added suppression for shared_ptr used inside other standard lib object and not covered by the previous macros.
      Added unit test for lower level .
      Added suppressions for reported race conditions in Rados library.
      Review heavily MemArchiveQueue and fixed missing commit in object store, leading to potentially orphaned objects.
      Enabled formerly disabled test as it is now fast enough.
      8012a02d
  20. 12 Apr, 2017 1 commit
  21. 06 Oct, 2016 1 commit
    • Eric Cano's avatar
      Implemented drive status support in drive register structure and code. · 56c4c332
      Eric Cano authored
      Added drive status reporting in scheduler
      Added drive status reporting in OStoreDB
      Added support for drive status listing in the front end
      Removed virtual functions from the Scheduler, which is never overloaded.
      Added DesiredDriveState structure to drive state.
      Removed usage of duplicate MountType, DriveStatus and DriveState structures.
      Created DriveInfo structure to allow recreation of drive register entry in all
      reporting situation (potentially with partial/assumed info).
      56c4c332
  22. 14 Jul, 2016 1 commit
  23. 30 Jun, 2016 1 commit
  24. 04 Mar, 2016 1 commit
  25. 10 Jul, 2015 1 commit
  26. 03 Jul, 2015 1 commit
  27. 02 Jul, 2015 1 commit
  28. 08 Jun, 2015 1 commit
  29. 04 Jun, 2015 1 commit
  30. 02 Jun, 2015 1 commit
  31. 01 Jun, 2015 1 commit
  32. 28 May, 2015 1 commit
  33. 20 May, 2015 1 commit
  34. 13 May, 2015 1 commit
    • Eric Cano's avatar
      Reorganized the files in themes. · a5621a56
      Eric Cano authored
      middletier, itself separated in interface, SQLite, objectstore and
      shared tests.
      Moved all utilities (exceptions, threading...) to a shared utility
      directory.
      Created a single, shared unit test from all the scattered ones.
      a5621a56
  35. 08 May, 2015 1 commit
  36. 07 May, 2015 1 commit
  37. 02 Mar, 2015 1 commit
  38. 27 Feb, 2015 1 commit
  39. 26 Feb, 2015 1 commit
  40. 25 Feb, 2015 1 commit