-
Notifications
You must be signed in to change notification settings - Fork 13
FBSW-317 Integrate CodeCov with CICD #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
It's implementation is mostly based on PosixShmSegment. Also, extend ShmManager and ShmSegmentOpts to support this new segment type.
After introducing file segment type, nameToKey_ does not provide enough information to recover/remove segments on restart. This commit fixes that by replacing nameToKey_ with nameToOpts_. Previously, the Key from nameToKey_ map was only used in a single DCHECK().
* New class MemoryTierCacheConfig allows to configure a memory tier. Setting tier size and location of a file for file-backed memory are supported in this initial implementation; * New member, vector of memory tiers, is added to class CacheAllocatorConfig. * New test suite, chelib/allocator/tests/MemoryTiersTest.cpp, demonstrates the usage of and tests extended config API.
Run centos and debian workflows on push and PR
Publish changes from innersouce
to allow using new configureMemoryTiers() API with legacy behavior. Move validation code for memory tiers to validate() method and convert ratios to sizes lazily (on get)..
It wrongly assumed that the only possible segment type is PosixSysV segment.
Config api integration
Run tests on CI
FBSW-208 Moved common segment code for posix and file shm segments into ShmCommon
Run long tests (navy/bench) every day on CI
… handling when NVM cache state is not enabled
Use docker with prebuild dependencies
please rebase to latest develop - I fixed build problem so it should work for you now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reviewable status: 0 of 5 files reviewed, 3 unresolved discussions (waiting on @guptask)
run_tests.sh, line 31 at r2 (raw file):
if [ "$1" == "long" ]; then find -type f -executable | grep -vF "$BLACKLIST" | xargs -n1 bash -c upload_codecov cachelib_long
I'm not sure if you shouldn't be in some other location when calling upload_codecov. From what I see in the logs, no reports are found.
I belive you actually have to call upload_codecov from within git repo. But I'm not sure if the reports will be generated there.
Did you saw where the files are generated locally on your machine?
.github/workflows/build-cachelib-centos.yml, line 32 at r2 (raw file):
uses: actions/checkout@v2 - name: "download codecov using the download-codecov script" run: ./download-codecov.sh
It would be best to have two separate jobs - one with codecove, one without.
cachelib/CMakeLists.txt, line 70 at r2 (raw file):
# Add code coverage set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -coverage")
This should be optional (configurable though some cmake option).
Now it's size is 8 bytes intead of 4. Original CompressedPtr stored only some offset with a memory Allocator. For multi-tier implementation, this is not enough. We must also store tierId and when uncompressing, select a proper allocator. An alternative could be to just resign from CompressedPtr but they are leveraged to allow the cache to be mapped to different addresses on shared memory. Changing CompressedPtr impacted CacheItem size - it increased from 32 to 44 bytes.
TODO: - support for chained items - exposing per-tier statistics - support for temporary mappings (CacheAllocator ctor without ShmSharedNew/Attach)
Extend cachbench with value validation
Aadding new configs to hit_ratio/graph_cache_leader_fobj
Fix ReaperSkippingSlabTraversalWhileSlabReleasing test
This change is