1. Oct 20, 2020
  2. Jul 28, 2020
    • Marc Vef's avatar
      Adding truncate test · 2e2c190b
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      2e2c190b
    • Marc Vef's avatar
    • Marc Vef's avatar
      Refactoring daemon I/O logic and fixing truncate etc. · bcb30ac2
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      The `ChunkStorage` backend class on the daemon was throwing `system_errors` without being caught, crashing the server in the process. `ChunkStorage` now uses a designated error class for errors that might occur. In addition the dependency to Argobots was removed which was used to trigger `ABT_eventuals`, laying ground work for future non-Argobots IO implementations. Further, the whole class was refactored for consistency and failure resistance.
      
      A new class `ChunkOperation` is introduced which wraps Argobots' IO task operations which allows the removal of IO queue specific code within RPC handlers, i.e., read and write handlers. The idea is to separate eventuals, tasks and their arguments from handler logic into a designated class. Therefore, an object of an inherited class of `ChunkOperation` is instantiated within the handlers that drives all IO tasks. The corresponding code was added to the read and write RPC handlers. Note, `ChunkOperation` is not thread-safe and is supposed to be called by a single thread.
      
      In addition, truncate was reworked for error handling (it crashed the server on error) and that it uses the IO queue as well since truncate causes a write operation and should not overtake IO tasks in the queue.
      
      The chunk stat rpc handler was refactored for error handling and to use error codes as well. 
      
      Further minor changes:
      - dead chunk stat code has been removed
      - some namespaces were missing: `gkfs::rpc`
      - more flexible handler cleanup and response code
      - fixed a bug where the chunk dir wasn't removed when the metadata didn't exist on the same node
      bcb30ac2
  3. Apr 18, 2019
  4. Mar 05, 2019
  5. Oct 29, 2018
  6. Oct 28, 2018
    • Tommaso Tocci's avatar
      update deps, drop abt-snoozer · b0c8d184
      Tommaso Tocci authored
      margo, argobots and mercury have been updated. The abt-snoozer dep
      required by margo it is not needed anymore.
      
      RocksDB has been also updated to the lastest release
      b0c8d184
  7. May 09, 2018
    • Tommaso Tocci's avatar
      ChunkStorage: Acknoledge R/W before close() · 366d84e1
      Tommaso Tocci authored
      Acknowledge the main thread that the IO operation had terminate before
      to actually close the file.
      
      This is a "dirty" fix that waits to be refactored.
      
      WARNING: Error on close will not be reported to the client that issued the IO
      operation.
      366d84e1
    • Tommaso Tocci's avatar
      Wrap data ops into ChunkStorage class · 14a835da
      Tommaso Tocci authored
      Data operation has been grouped under a ChunkStorage class
      that will manage all the data backend operations.
      
      The instance of this object is stored into the ADAFS_DATA sigleton.
      14a835da