fix: kv logs when KeyNotSet is returned (#2928)

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Kartikeya Hegde
2023-11-22 16:34:17 +05:30
committed by GitHub
parent 46e13d5475
commit 6954de77a0
2 changed files with 9 additions and 3 deletions

View File

@ -8,6 +8,8 @@ pub enum RedisError {
InvalidConfiguration(String), InvalidConfiguration(String),
#[error("Failed to set key value in Redis")] #[error("Failed to set key value in Redis")]
SetFailed, SetFailed,
#[error("Failed to set key value in Redis. Duplicate value")]
SetNxFailed,
#[error("Failed to set key value with expiry in Redis")] #[error("Failed to set key value with expiry in Redis")]
SetExFailed, SetExFailed,
#[error("Failed to set expiry for key value in Redis")] #[error("Failed to set expiry for key value in Redis")]

View File

@ -1,6 +1,7 @@
use std::{fmt::Debug, sync::Arc}; use std::{fmt::Debug, sync::Arc};
use common_utils::errors::CustomResult; use common_utils::errors::CustomResult;
use error_stack::IntoReport;
use redis_interface::errors::RedisError; use redis_interface::errors::RedisError;
use router_derive::TryGetEnumVariant; use router_derive::TryGetEnumVariant;
use router_env::logger; use router_env::logger;
@ -145,8 +146,10 @@ where
store store
.push_to_drainer_stream::<S>(sql, partition_key) .push_to_drainer_stream::<S>(sql, partition_key)
.await?; .await?;
}
Ok(KvResult::HSetNx(result)) Ok(KvResult::HSetNx(result))
} else {
Err(RedisError::SetNxFailed).into_report()
}
} }
KvOperation::SetNx(value, sql) => { KvOperation::SetNx(value, sql) => {
@ -160,9 +163,10 @@ where
store store
.push_to_drainer_stream::<S>(sql, partition_key) .push_to_drainer_stream::<S>(sql, partition_key)
.await?; .await?;
}
Ok(KvResult::SetNx(result)) Ok(KvResult::SetNx(result))
} else {
Err(RedisError::SetNxFailed).into_report()
}
} }
KvOperation::Get => { KvOperation::Get => {