req.push("ZADD", key, "CH", std::to_string(score), member);
response<std::string> resp;
- if(!redis_pool)[[unlikely]]
- {
- redis_exec(conn, ec, req, resp, y);
- ldpp_dout(dpp, 0) << "BucketDirectory::" << __func__ << "() Using connection: " << conn.get() << dendl;
- }
- else[[likely]]
- redis_exec_cp(redis_pool, ec, req, resp, y);
+ redis_exec_connection_pool(dpp, redis_pool, conn, ec, req, resp, y);
if (ec) {
ldpp_dout(dpp, 0) << "ObjectDirectory::" << __func__ << "() ERROR: " << ec.what() << dendl;
request req;
req.push_range("HSET", key, redisValues);
- if(!redis_pool)[[unlikely]]
- {
- redis_exec(conn, ec, req, resp, y);
- ldpp_dout(dpp, 0) << "BucketDirectory::" << __func__ << "() Using connection: " << conn.get() << dendl;
- }
- else[[likely]]
- redis_exec_cp(redis_pool, ec, req, resp, y);
+ redis_exec_connection_pool(dpp, redis_pool, conn, ec, req, resp, y);
if (ec) {
ldpp_dout(dpp, 0) << "BlockDirectory::" << __func__ << "() ERROR: " << ec.what() << dendl;
return -ec.value();
try {
boost::system::error_code ec;
boost::redis::generic_response resp;
- redis_exec(conn, ec, req, resp, y);
+ redis_exec_connection_pool(dpp, redis_pool, conn, ec, req, resp, y);
if (ec) {
ldpp_dout(dpp, 0) << "BlockDirectory::" << __func__ << "() ERROR: " << ec.what() << dendl;
return -ec.value();
request req;
req.push("DEL", key);
response<int> resp;
- if(!redis_pool)[[unlikely]]
- {
- redis_exec(conn, ec, req, resp, y);
- ldpp_dout(dpp, 0) << "BucketDirectory::" << __func__ << "() Using connection: " << conn.get() << dendl;
- }
- else[[likely]]
- redis_exec_cp(redis_pool, ec, req, resp, y);
+ redis_exec_connection_pool(dpp, redis_pool, conn, ec, req, resp, y);
if (!std::get<0>(resp).value()) {
ldpp_dout(dpp, 10) << "BlockDirectory::" << __func__ << "(): No values deleted for key=" << key << dendl;
return -ENOENT;
try {
boost::system::error_code ec;
pipeline_mode = false;
- redis_exec(conn, ec, req, resp, y);
+ redis_exec_connection_pool(dpp, redis_pool, conn, ec, req, resp, y);
if (ec) {
ldpp_dout(dpp, 0) << "Directory::" << __func__ << "() ERROR: " << ec.what() << dendl;
//dirty objects
if (dirty) {
auto redis_conn = this->driver->get_conn();
- rgw::d4n::Pipeline p = rgw::d4n::Pipeline(redis_conn);
+ auto redis_pool = this->driver->get_redis_pool();
+ rgw::d4n::Pipeline p = rgw::d4n::Pipeline(redis_conn, redis_pool);
p.start();
auto ret = blockDir->set(dpp, &block, y, &p);
if (ret < 0) {
if (ret == -ENOENT) {
if (!(this->get_bucket()->versioned())) {
auto redis_conn = this->driver->get_conn();
- rgw::d4n::Pipeline p = rgw::d4n::Pipeline(redis_conn);
+ auto redis_pool = this->driver->get_redis_pool();
+ rgw::d4n::Pipeline p = rgw::d4n::Pipeline(redis_conn, redis_pool);
p.start();
//we can explore pipelining to send the two 'HSET' commands together
ret = blockDir->set(dpp, &block, y, &p);
and versioned and non-versioned buckets dirty objects */
if (!(this->get_bucket()->versioned())) {
auto redis_conn = this->driver->get_conn();
- rgw::d4n::Pipeline p = rgw::d4n::Pipeline(redis_conn);
+ auto redis_pool = this->driver->get_redis_pool();
+ rgw::d4n::Pipeline p = rgw::d4n::Pipeline(redis_conn, redis_pool);
p.start();
ret = blockDir->set(dpp, &block, y, &p);
if (ret < 0) {