1. Jun 16, 2021
    • Ramon Nou's avatar
      Moved distributor instantation to RPC_DATA and daemon.cpp on the server side.... · a8dc9c3c
      Ramon Nou authored and Ramon Nou's avatar Ramon Nou committed
      Moved distributor instantation to RPC_DATA and daemon.cpp on the server side. Added interval_map to GuidedDistributor for better performance
      
      Moving reads extended log to normal log module.
      
      Update logging.hpp
      
      Added GKFS prefix to CMake options
      
      Catch2 Guided Distributor test
      
      Added creation of /tmp/guided.txt in the test
      
      updated README.MD and protected Distributor for duplicated inserts
      
      Added metadata + data optimization with #
      a8dc9c3c
  2. Jun 11, 2021
  3. May 28, 2021
  4. Mar 30, 2021
  5. Feb 07, 2021
  6. Jan 28, 2021
  7. Dec 17, 2020
  8. Dec 09, 2020
  9. Dec 07, 2020
  10. Nov 25, 2020
  11. Sep 18, 2020
  12. Sep 11, 2020
  13. Sep 10, 2020
  14. Aug 17, 2020
  15. Jul 28, 2020
    • Marc Vef's avatar
      unlink() - Bugfix: Do not send two RPCs to same hosts in small files case · e1054ae7
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      e1054ae7
    • Marc Vef's avatar
      Readding code that was removed by accident · 07f62710
      Marc Vef authored and Alberto Miranda's avatar Alberto Miranda committed
      07f62710
    • 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