Skip to content

Instantly share code, notes, and snippets.

@yuvalif
Last active February 19, 2024 11:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yuvalif/3bb67a9c50fbe45f170aa637516273ce to your computer and use it in GitHub Desktop.
Save yuvalif/3bb67a9c50fbe45f170aa637516273ce to your computer and use it in GitHub Desktop.

From RADOS to REDIS

Bucket notifications are important building block for many use cases. And persistent bucket notifications in particular, as they let the system overcome broker outages. However, since the persistent notifications are backed with a RADOS queue, they have a cost. Both in the extra load on the RADOS cluster, and with the inability to operate in environemnts where there is no RADOS backend. In this project, we would like to implement persistent bucket notifications in the RADOS Gateway using a Redis Queue. Combined with the "zipper" project we would be able to enjoy bucket notifications with backends like posix, dbstore, daos etc.

Lunar Time

Lua scripts on the RADOS Gateway are powerful, so, in the meantime we only allow admins to add them to the RADOS Gatewway. Before we open this possibility to users, we want to add several protection layers to prevent from careless users to take down the system. One of these measures, will be to limit the execution time of each script, so it does not hog the system, go into infinite loops etc.

The Coverup

Code coverage tools are useful in measuring the effectiveness of our unit tests,
and in guiding us on where to write for new tests and find potential bugs. In this project we would like to add the toolset that would allow effective code coverage reporting based on the ceph unit tests. old blog pt. 1 old blog pt. 2

Tidy Op Song

  1. make sure that ceph compiles under clang
  2. tune up clang-tidy to find some of important issues in ceph (looking for a relatively small subset of critical issues)
  3. cleanup issues found in (2). don't have to cleanup all of them
  4. add to jenkins/github actions (non blocking)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment