summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_redis_driver.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rgw/redis: Implement RedisDriver::get_async and RedisDriver::put_asyncSamarah2024-04-021-5/+17
| | | | Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: implementation of `put` using yield contextPritha Srivastava2024-04-021-1/+1
| | | | | | | | as completion token and adding throttling to `put_async` in the cache driver api. Also added a test case to the ssd driver unit test for `put_async`. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw: this commit squashes commits performing cleanup in various filesSamarah2024-04-021-4/+1
| | | | | | | | | | | | | | like d4n filter, policy, cache backend, aio and process_env. d4n/filter: Remove unnecessary erasure of attrs in read op's `prepare` method d4n: Remove `dout` definitions from header files rgw: Remove unnecessary includes in `rgw_process_env.h` rgw: Remove `cache_read_op` from `rgw_aio.h` rgw: Return POSIX error codes and perform minor cleanup for D4N and Redis files Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: Make `bl` and `attrs` params `const` for cache write opssamarah2024-04-021-5/+5
| | | | Signed-off-by: samarah <suriarte@redhat.com>
* rgw/cache: Make protected members privatesamarah2024-04-021-5/+7
| | | | Signed-off-by: samarah <suriarte@redhat.com>
* rgw/cache: this commit squashes commits for removing CephContext* fromPritha Srivastava2024-04-021-1/+1
| | | | | | | | | | | | | | ssd, redis driver and related test files. rgw/cache: removing CephContext* from ssd driver and redis driver. It can be accessed in every api using dpp->get_cct(), where dpp is of type DoutPrefixProvider*. rgw/test: Remove `cct` parameter from cache driver initialization call redis driver test file. rgw/qa: removing cct parameter from ssd driver test file. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com> Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: changing `get_attr` api such that it returnsPritha Srivastava2024-04-021-1/+1
| | | | | | | int signifying success or error, and `attr_val` is added as an out param. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw/cache: removing interface related to Partition.Pritha Srivastava2024-04-021-12/+1
| | | | Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw/d4n: this commit squashes the following commits related to LFUDA Policy.Samarah2024-04-021-1/+1
| | | | | | | | | | | rgw/d4n: Make minor updates, improve `LFUDAPolicy::erase` method, and fix `localWeight` policy sets rgw/d4n: Update `LFUDA::find_victim` method, add locks in policy code, and remove setting of attrs in filter's `put_async` calls d4n/policy: Update logic for minimum average weight calculation d4n/policy: Remove iteration in `eviction` Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw: Add `rgw_local_cache_address` yaml configSamarah2024-04-021-1/+0
| | | | Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: this commit squashes following commits related to changes inSamarah2024-04-021-5/+3
| | | | | | | | | | | | redis driver and ssd driver. rgw/redis: Add `del`, `put_async`, and `calculate_free_space` methods to RedisDriver rgw/redis: Work on RedisDriver `put_async` and `get_async` methods rgw/cache: Add error-checking to `SSDDriver::set_attr` rgw/redis: Remove `calculate_free_space` method from RedisDriver, fix `free_space` calculations, clean up async code Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/d4n: this commit squashes the following commits related toSamarah2024-04-021-46/+29
| | | | | | | | | | | | | | | | | | | | | clean up and removal of cpp_redis. d4n/filter: Add `optional_yield` to CacheDriver calls in D4N Filter and make minor updates to several filter methods rgw/d4n: fix compilation issue. rgw/cache: Add `del` method to CacheDriver and SSDDriver cmake/d4n: Remove unnecessary D4N lines rgw: Add `io_context` to D4N Filter and RedisDriver, remove `cpp_redis` library from RedisDriver, and perform minor cleanup d4n: Remove `cpp_redis` library from D4N directory and policy; update calls in filter; move Entry struct to base CachePolicy class build/cpp_redis: Remove `cpp_redis` library rgw/d4n: including <boost/asio/detached.hpp> wheerever needed. rgw/d4n : fixes to d4n filter, policy, directory and redis driver files for compilation errors. Signed-off-by: Samarah <samarah.uriarte@ibm.com> Signed-off-by: Casey Bodley <cbodley@redhat.com> Co-authored-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw: Change D4N and RedisDriver `ifndef` directives to `#pragma once`; make ↵Samarah2024-04-021-5/+2
| | | | | | integer errors negative; fix filter includes Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: this commit adds `optional_yield` to ssd and redis driverSamarah2024-04-021-10/+10
| | | | | | | | | | | and squashes the following commits. RGW: Add `optional_yield` parameter to Cache Driver methods RGW: Add `optional_yield` parameter to SSD Driver methods rgw/cache: fix compilation errors related to optional_yield. Signed-off-by: Samarah <samarah.uriarte@ibm.com> Co-authored-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw/cache: this commit removes indexing from ssd and redisPritha Srivastava2024-04-021-8/+0
| | | | | | | | | | | | | | | | | driver and squashes the following commits. rgw/cache: modifications to the ssd cache driver after removing indexing from the cache backend. rgw/cache: modifications to redis cache driver, after removing indexing from cache backend. rgw/cache: modifications to policy driver code, commenting out some pieces which refer to cache apis. Those apis have been removed as part of modification to remove indexing from the cache backend. These need to appropriately re-instated, once we finalize which module will contain the data structures related to cache policy. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw/cache: this commit squashes commits related to removingPritha Srivastava2024-04-021-13/+0
| | | | | | | | | | | | | cache_aio_read()/cache_aio_write() from cache api, ssd driver and redis driver. rgw/cache: removing cache_aio_read()/cache_aio_write() interfaces from the Cache API. And moving cache_read_op from rgw_aio.cc to ssd cache driver. rgw/cache: changes related to cache_aio_read()/cache_aio_write() in redis cache driver. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw/cache: implementation of put_async method in ssd driverPritha Srivastava2024-04-021-0/+1
| | | | | | | | | | | and redis driver and squashes the following commits. rgw/cache: implementation of async put. the call does not take into account throttling for now. rgw/cache: dummy implementation of put_async in redis driver to fix compilation error. Signed-off-by: Pritha Srivastava <prsrivas@redhat.com>
* rgw/cache: This commit adds implementation of Partition inSamarah Uriarte2024-04-021-18/+35
| | | | | | | | | | ssd driver and squashes the following related commits. RGW: Minor RedisDriver cleanup RGW: Add partitioning RGW: Cleanup RedisDriver Signed-off-by: Samarah Uriarte <samarah.uriarte@ibm.com>
* rgw/cache: This commit squashes commits related to boost::redis library.Samarah Uriarte2024-04-021-0/+1
| | | | | | | | | | | | | | | | | | | | RGW: Add boost_redis library RGW: Add boost_redis to CMake RGW: Add aedis methods to RedisDriver RGW: Minor RedisDriver cleanup build: Remove build/boost_redis build: remove src/redis build: Set src/boost_redis submodule to release version RGW: Remove broken boost_redis RGW: Add boost_redis rgw: Get rgw_redis_driver to build rgw/redis: Update `boost::redis` library rgw/cache: fixing compilation error, by removing aedis header file and src file includes from redis driver Signed-off-by: Samarah <samarah.uriarte@ibm.com> Co-authored-by: Adam Emerson <aemerson@redhat.com> Co-authored-by: Pritha Srivastava <prsrivas@redhat.com>
* RGW: Add D4N chunking mechanismSamarah Uriarte2024-04-021-17/+61
| | | | Signed-off-by: Samarah Uriarte <samarah.uriarte@ibm.com>
* RGW: move CacheDriver instance to D4N FilterSamarah2024-04-021-4/+1
| | | | Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/d4n: This commit squashes the following commits related toSamarah2024-04-021-1/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d4n policy and filter driver. RGW: Add cache driver base class - add d4n filter driver. RGW: Update cache and policy files; add RedisDriver into D4N filter RGW: Add D4N classes and unit testing; update cpp_redis submodule QA: Add D4N teuthology suite RGW: Improve D4N readability and structure RGW: Add base D4N policy and test RGW: Add GWF policy to D4N RGW: Add global weight property RGW: Added D4N namespace RGW: Update policy driver interface RGW: Update unit tests RGW: Add Address struct to all files RGW: Update D4N names and structure RGW: Update structure and fix errors RGW: Add more features to policy driver RGW: Access local weight in policy code RGW: Work on D4N workflows RGW: Add object directory class and remove copy_value method RGW: Establish object directory in read workflow RGW: Update cache and policy files; add RedisDriver into D4N filter RGW: Switch out D4N cache methods with Redis driver methods RGW: Update RedisDriver to match new CacheDriver structure; define set_attrs method RGW: Fix D4N read workflow crashes RGW: Update D4N files to match CacheDriver changes RGW: fix key_exists method for RedisDriver and clean up rgw_sal_d4n.cc RGW: Use correct get_block method RGW: Make CachePolicy a virtual class RGW: Initialize localWeight if not found and develop find_victim method RGW: Debugging network failure RGW: Rebase and debugging network failure RGW: Update RedisDriver::list_entries and usage in D4N policy driver RGW: Fix network failure issue; add entries and entry methods RGW: Update D4N test files to match rebase RGW: Update D4N policy and RedisDriver with entries RGW: make localWeight an attribute rgw/cache: commit to fix compilation issues. Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* RGW: add entries and entry methodsSamarah2024-04-021-0/+5
| | | | Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: This commit squashes the following commits related to ↵Samarah2024-04-021-0/+1
| | | | | | | | | | list_entries cache api. RGW: Add list_entries method to CacheDriver and to Redis driver. RGW: Change CacheDriver::list_entries output type RGW: Update RedisDriver::list_entries and usage in D4N policy driver Signed-off-by: Samarah <samarah.uriarte@ibm.com>
* rgw/cache: This commit squashes the following commits for redis driver.Samarah2024-04-021-0/+43
RGW: fix key_exists method for RedisDriver and clean up rgw_sal_d4n.cc RGW: Implement RedisDriver::get_free_space rgw/cache: modifying namespace from rgw::cal to rgw::cache. RGW: Update D4N files to match CacheDriver changes RGW: Fix D4N read workflow crashes RGW: Update RedisDriver to match new CacheDriver structure; define set_attrs method RGW: Switch out D4N cache methods with Redis driver methods RGW: Update Cache Driver structure RGW: Update cache files. RGW: create redis cache driver files Signed-off-by: Samarah <samarah.uriarte@ibm.com>