Skip to content

Added directory streaming feature#218

Merged
GlassOfWhiskey merged 6 commits intomasterfrom
directory-streaming-feature
Mar 24, 2026
Merged

Added directory streaming feature#218
GlassOfWhiskey merged 6 commits intomasterfrom
directory-streaming-feature

Conversation

@marcoSanti
Copy link
Member

@marcoSanti marcoSanti commented Mar 23, 2026

This pull request implements the necessary changes to the CapioFile class to enable streaming for directory content. The primary updates include:

  • CapioFile Class: Added _data_avail_cv.notify_all() within the incrementDirectoryFileCount() method to ensure waiting threads are signaled correctly;
  • POSIX Read Cache: Updated the logic to ensure that SYS_getdents calls bypass the cache. Since a typical dirent entry is approximately 280 bytes, it is inefficient to wait for a full 256 KB cache line to be populated.

Additionally, this PR includes server-side unit tests to verify dynamic streaming over directory content and prevent future regressions.

@marcoSanti marcoSanti force-pushed the directory-streaming-feature branch from b5a2637 to 0645490 Compare March 23, 2026 16:07
@codecov
Copy link

codecov bot commented Mar 23, 2026

Codecov Report

❌ Patch coverage is 81.81818% with 2 lines in your changes missing coverage. Please review.
✅ Project coverage is 64.70%. Comparing base (1e8b2ef) to head (9c1504c).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
capio/posix/utils/cache.hpp 0.00% 0 Missing and 1 partial ⚠️
capio/server/src/storage_manager.cpp 50.00% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #218      +/-   ##
==========================================
+ Coverage   64.59%   64.70%   +0.10%     
==========================================
  Files          73       73              
  Lines        3161     3165       +4     
  Branches     1965     1966       +1     
==========================================
+ Hits         2042     2048       +6     
+ Misses        880      371     -509     
- Partials      239      746     +507     

☔ 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 marcoSanti force-pushed the directory-streaming-feature branch from 12b2ede to fd29010 Compare March 23, 2026 17:50
Copy link
Collaborator

@GlassOfWhiskey GlassOfWhiskey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@GlassOfWhiskey GlassOfWhiskey merged commit f3f8b10 into master Mar 24, 2026
87 of 120 checks passed
@GlassOfWhiskey GlassOfWhiskey deleted the directory-streaming-feature branch March 24, 2026 10:18
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.

2 participants