Skip to content

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

Closed
wants to merge 41 commits into from
Closed

Conversation

guptask
Copy link
Collaborator

@guptask guptask commented Dec 16, 2021

This change is Reviewable

igchor and others added 21 commits November 2, 2021 16:00
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.
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
@guptask guptask requested a review from igchor December 16, 2021 18:58
@guptask guptask self-assigned this Dec 16, 2021
@guptask guptask changed the title FBSW-317 codecov changes FBSW-317 Integrate CodeCov with CICD Dec 16, 2021
@igchor
Copy link

igchor commented Dec 20, 2021

please rebase to latest develop - I fixed build problem so it should work for you now

Copy link

@igchor igchor left a 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).

igchor and others added 14 commits December 23, 2021 23:33
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
@guptask guptask closed this May 19, 2022
byrnedj pushed a commit to byrnedj/CacheLib that referenced this pull request Sep 20, 2022
Fix ReaperSkippingSlabTraversalWhileSlabReleasing test
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.

4 participants