1. Jul 28, 2020
    • Marc Vef's avatar
      Adding asserts, fixing comments, removing pass-by-value · f9ddc8a8
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      f9ddc8a8
    • Marc Vef's avatar
      gkfs::types::rpc_chnk_id_t -> gkfs::rpc::chnk_id_t. Drop typedef for using · a9adb5e3
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      a9adb5e3
    • Marc Vef's avatar
      More descriptive typenames in margo respond wrappers · f989f1f2
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      f989f1f2
    • 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
  2. Jul 27, 2020
  3. Jul 25, 2020
    • Alberto Miranda's avatar
      Merge branch 'dep_scripts_update' into 'master' · dad26735
      Alberto Miranda authored
      Minor dependency script updates:
      
      * adding more optional versions to the dependency scripts: RocksDB and syscall_intercept with glibc3 fix as more systems are updated to >glibc3
      * Cloning libfabric instead of downloading the tarball. This is because it is configured with a specific autotools version which is not available on all systems. Cloning allows generating `configure` dynamically.
      * daemon metadata backend now links to Dynamic Loader which is required by newer systems (not sure when this happened) and newer rocksdb versions
      * removing python startup scripts since they are no longer supported and are confusing if part of the git repo
      
      See merge request !57
      dad26735
  4. Jul 24, 2020
  5. Jul 22, 2020
  6. Jul 21, 2020
  7. Jun 25, 2020
  8. Jun 10, 2020
  9. May 21, 2020
  10. May 18, 2020
  11. May 16, 2020
  12. May 14, 2020
  13. May 12, 2020
  14. Apr 24, 2020