Skip to content

Conversation

@marcoSanti
Copy link
Member

This pull request is aimed to activate the github actions for the v2 of CAPIO.

Marco Edoardo Santimaria and others added 25 commits October 2, 2024 10:04
Added optimization in read operations
Added file system monitor thread
WARNING: no mutually exclusive access is guaranteed and probably race
conditions exsists in the FileSystemMonitor class, but it is good enough
for now
Added doxygen documentation to the CAPIO codebase for most of the
server component and for some of the posix components.
Added a script to be called on the root directory to build and generate
the capio html documentation inside the doxy/ folder.
@marcoSanti marcoSanti marked this pull request as draft October 7, 2024 12:10
@codecov
Copy link

codecov bot commented Oct 7, 2024

Codecov Report

❌ Patch coverage is 39.74294% with 2391 lines in your changes missing coverage. Please review.
✅ Project coverage is 42.45%. Comparing base (ed9902d) to head (2997b26).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
capio-server/src/capio-cl-engine/json_parser.cpp 2.13% 165 Missing and 156 partials ⚠️
capio-posix/handlers/posix_readdir.hpp 9.35% 125 Missing and 127 partials ⚠️
.../communication-service/data-plane/mtcl_backend.cpp 1.05% 91 Missing and 97 partials ⚠️
...pio-server/src/capio-cl-engine/capio_cl_engine.cpp 45.11% 86 Missing and 88 partials ⚠️
capio-server/src/file-manager/file_manager.cpp 30.16% 56 Missing and 113 partials ⚠️
capio-posix/utils/cache/read_request_cache_mem.hpp 7.75% 59 Missing and 48 partials ⚠️
...o-server/src/storage-service/capio_memory_file.cpp 4.59% 61 Missing and 22 partials ⚠️
capio-server/src/utils/command_line_parser.cpp 35.29% 25 Missing and 52 partials ⚠️
...rver/src/storage-service/capio_storage_service.cpp 36.44% 44 Missing and 31 partials ⚠️
...ication-service/control-plane/fs_control_plane.cpp 1.38% 28 Missing and 43 partials ⚠️
... and 56 more
Additional details and impacted files
@@             Coverage Diff             @@
##           master     #113       +/-   ##
===========================================
- Coverage   53.57%   42.45%   -11.13%     
===========================================
  Files          74       84       +10     
  Lines        3675     4612      +937     
  Branches     2265     2745      +480     
===========================================
- Hits         1969     1958       -11     
- Misses        789     1204      +415     
- Partials      917     1450      +533     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

marcoSanti and others added 13 commits August 29, 2025 15:04
This commit adds the base mechanism to implement a multicast control plane with basic messages (CREATE and DELETE). 
It also adds the environment to develop locally the distributed capio_server trough the usage of docker. 

The implementation of the control plane is pending a major refactor of the capio_server structure

---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commits proceeds to refactor the capio project. It reorganizes the structure of the project, and refactors the capio-server component. In particular it splits definition of classes and implementation to avoid recursive
include issues that were rising when defining the capio_server backend. It also updates the tests to work with the new structure of the project, as well as the Dockerfile.
---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commit introduces support for the exclude section of the CAPIO-CL file
Now when a file that should be excluded is opened, the library skips the
opening of the file, and the registration of the file descriptor as a
CAPIO file description. When the enumeration of a directory occurs, 
if the directory is marked as exclude, a commit token for that directory is created to 
ensure that the real readdir method is used.

---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Added check for forbidden path in is_capio_path

---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commits adds the backend to allow in-memory IO operation when running in multinode configurations. The developed backend wraps around the MTCL library, which itself is wrapped around by the CapioRemoteFile class. As of right now, only the create home-node-policy is supported. With this commit, the backend communication tests have been rewritten to support the whole data path from one node to another with a simple writer-reader application.

Metatada operation on files are not yet supported on the memory backend and will be implemented later on.

---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
This commit introduces bugfixes on the openat, open and creat handler, in which previusly the wrong path was passed to the is_capio_path method

---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Fixed future errors in integration tests, and moved CAPIO integration tests to c++ to avoid segfaults due to manual memory management.

---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
Added an API server to manage the termination of the CAPIO server instance. The APIs available are:

GET / -> return identity of capio_server as well as all the available routes
GET /clients -> return count of connected clients
GET /terminate -> Requests a graceful termination phase.


---------

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
…#174)

Co-authored-by: Marco Edoardo Santimaria <marcoedoardo.santimaria@unito.it>
@marcoSanti marcoSanti force-pushed the capio-v2 branch 3 times, most recently from 3c2d789 to d4acf9c Compare November 26, 2025 13:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants