This is an automated email from the ASF dual-hosted git repository.
maplefu pushed a commit to branch unstable
in repository https://gitbox.apache.org/repos/asf/kvrocks.git
The following commit(s) were added to refs/heads/unstable by this push:
new fa3290c4 chore: Enable -Werror=unused-parameter flag (#2507)
fa3290c4 is described below
commit fa3290c44efbb3546f22f7457c758ab504623b58
Author: c8ef <[email protected]>
AuthorDate: Tue Aug 27 19:17:32 2024 +0800
chore: Enable -Werror=unused-parameter flag (#2507)
---
CMakeLists.txt | 1 +
src/cli/main.cc | 2 +-
src/cli/signal_util.h | 2 +-
src/cluster/cluster.cc | 2 +-
src/cluster/replication.h | 8 ++--
src/cluster/sync_migrate_context.cc | 2 +-
src/commands/cmd_cluster.cc | 6 +--
src/commands/cmd_function.cc | 2 +-
src/commands/cmd_geo.cc | 4 +-
src/commands/cmd_json.cc | 4 +-
src/commands/cmd_list.cc | 2 +-
src/commands/cmd_pubsub.cc | 12 ++---
src/commands/cmd_replication.cc | 12 ++---
src/commands/cmd_script.cc | 4 +-
src/commands/cmd_search.cc | 2 +-
src/commands/cmd_server.cc | 30 ++++++------
src/commands/cmd_stream.cc | 18 +++++---
src/commands/cmd_txn.cc | 2 +-
src/commands/commander.h | 7 +--
src/commands/scan_base.h | 2 +-
src/common/io_util.cc | 13 +++---
src/common/rdb_stream.h | 4 +-
src/config/config.cc | 77 ++++++++++++++++---------------
src/config/config_type.h | 4 +-
src/search/indexer.cc | 2 +-
src/search/passes/cost_model.h | 8 ++--
src/server/redis_connection.cc | 4 +-
src/server/worker.cc | 8 ++--
src/storage/batch_extractor.cc | 5 +-
src/storage/compact_filter.cc | 13 +++---
src/storage/compact_filter.h | 19 ++++----
src/storage/event_listener.cc | 8 ++--
src/storage/rdb.cc | 2 +-
src/storage/rdb_ziplist.cc | 12 ++---
src/storage/scripting.cc | 2 +-
src/storage/storage.cc | 11 +++--
src/storage/table_properties_collector.cc | 2 +-
src/types/redis_bitmap_string.cc | 2 +-
src/vendor/rand.cc | 5 --
utils/kvrocks2redis/main.cc | 2 +-
40 files changed, 174 insertions(+), 153 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 78d0581d..635c18a7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -239,6 +239,7 @@ add_library(kvrocks_objs OBJECT ${KVROCKS_SRCS})
target_include_directories(kvrocks_objs PUBLIC src src/common src/vendor
${PROJECT_BINARY_DIR} ${Backtrace_INCLUDE_DIR})
target_compile_features(kvrocks_objs PUBLIC cxx_std_17)
target_compile_options(kvrocks_objs PUBLIC -Wall -Wpedantic -Wsign-compare
-Wreturn-type -fno-omit-frame-pointer)
+target_compile_options(kvrocks_objs PUBLIC -Werror=unused-parameter)
target_compile_options(kvrocks_objs PUBLIC -Werror=unused-result)
# disable unused-variable check on GCC < 8 due to the structure bindings
diff --git a/src/cli/main.cc b/src/cli/main.cc
index 32c957a4..a6ed2025 100644
--- a/src/cli/main.cc
+++ b/src/cli/main.cc
@@ -47,7 +47,7 @@
Server *srv = nullptr;
-extern "C" void SignalHandler(int sig) {
+extern "C" void SignalHandler([[maybe_unused]] int sig) {
if (srv && !srv->IsStopped()) {
LOG(INFO) << "Bye Bye";
srv->Stop();
diff --git a/src/cli/signal_util.h b/src/cli/signal_util.h
index d6f02e61..8df0b3e0 100644
--- a/src/cli/signal_util.h
+++ b/src/cli/signal_util.h
@@ -30,7 +30,7 @@
#include "version_util.h"
-extern "C" inline void SegvHandler(int sig, siginfo_t *info, void *secret) {
+extern "C" inline void SegvHandler(int sig, [[maybe_unused]] siginfo_t *info,
[[maybe_unused]] void *secret) {
LOG(ERROR) << "Ooops! Apache Kvrocks " << PrintVersion << " got signal: " <<
strsignal(sig) << " (" << sig << ")";
auto trace = cpptrace::generate_trace();
trace.print(LOG(ERROR));
diff --git a/src/cluster/cluster.cc b/src/cluster/cluster.cc
index 69703f7e..dc3bdc87 100644
--- a/src/cluster/cluster.cc
+++ b/src/cluster/cluster.cc
@@ -353,7 +353,7 @@ Status Cluster::ImportSlotRange(redis::Connection *conn,
const SlotRange &slot_r
conn->SetImporting();
myself_->importing_slot_range = slot_range;
// Set link error callback
- conn->close_cb = [object_ptr = srv_->slot_import.get(), slot_range](int
fd) {
+ conn->close_cb = [object_ptr = srv_->slot_import.get(),
slot_range]([[maybe_unused]] int fd) {
auto s = object_ptr->StopForLinkError();
if (!s.IsOK()) {
LOG(ERROR) << fmt::format("[import] Failed to stop importing slot(s)
{}: {}", slot_range.String(), s.Msg());
diff --git a/src/cluster/replication.h b/src/cluster/replication.h
index 8da25713..e499de8b 100644
--- a/src/cluster/replication.h
+++ b/src/cluster/replication.h
@@ -217,11 +217,13 @@ class ReplicationThread : private
EventCallbackBase<ReplicationThread> {
class WriteBatchHandler : public rocksdb::WriteBatch::Handler {
public:
rocksdb::Status PutCF(uint32_t column_family_id, const rocksdb::Slice &key,
const rocksdb::Slice &value) override;
- rocksdb::Status DeleteCF(uint32_t column_family_id, const rocksdb::Slice
&key) override {
+ rocksdb::Status DeleteCF([[maybe_unused]] uint32_t column_family_id,
+ [[maybe_unused]] const rocksdb::Slice &key)
override {
return rocksdb::Status::OK();
}
- rocksdb::Status DeleteRangeCF(uint32_t column_family_id, const
rocksdb::Slice &begin_key,
- const rocksdb::Slice &end_key) override {
+ rocksdb::Status DeleteRangeCF([[maybe_unused]] uint32_t column_family_id,
+ [[maybe_unused]] const rocksdb::Slice
&begin_key,
+ [[maybe_unused]] const rocksdb::Slice
&end_key) override {
return rocksdb::Status::OK();
}
WriteBatchType Type() { return type_; }
diff --git a/src/cluster/sync_migrate_context.cc
b/src/cluster/sync_migrate_context.cc
index f1de89b6..a7caf73c 100644
--- a/src/cluster/sync_migrate_context.cc
+++ b/src/cluster/sync_migrate_context.cc
@@ -51,7 +51,7 @@ void SyncMigrateContext::OnEvent(bufferevent *bev, int16_t
events) {
conn_->OnEvent(bev, events);
}
-void SyncMigrateContext::TimerCB(int, int16_t events) {
+void SyncMigrateContext::TimerCB(int, [[maybe_unused]] int16_t events) {
auto &&slot_migrator = srv_->slot_migrator;
conn_->Reply(conn_->NilString());
diff --git a/src/commands/cmd_cluster.cc b/src/commands/cmd_cluster.cc
index 958e261d..9f4aa27d 100644
--- a/src/commands/cmd_cluster.cc
+++ b/src/commands/cmd_cluster.cc
@@ -329,7 +329,7 @@ static uint64_t GenerateClusterFlag(uint64_t flags, const
std::vector<std::strin
class CommandReadOnly : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
*output = redis::SimpleString("OK");
conn->EnableFlag(redis::Connection::kReadOnly);
return Status::OK();
@@ -338,7 +338,7 @@ class CommandReadOnly : public Commander {
class CommandReadWrite : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
*output = redis::SimpleString("OK");
conn->DisableFlag(redis::Connection::kReadOnly);
return Status::OK();
@@ -347,7 +347,7 @@ class CommandReadWrite : public Commander {
class CommandAsking : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
conn->EnableFlag(redis::Connection::kAsking);
*output = redis::SimpleString("OK");
return Status::OK();
diff --git a/src/commands/cmd_function.cc b/src/commands/cmd_function.cc
index 475ed724..c28eed12 100644
--- a/src/commands/cmd_function.cc
+++ b/src/commands/cmd_function.cc
@@ -85,7 +85,7 @@ struct CommandFunction : Commander {
template <bool read_only = false>
struct CommandFCall : Commander {
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
int64_t numkeys = GET_OR_RET(ParseInt<int64_t>(args_[2], 10));
if (numkeys > int64_t(args_.size() - 3)) {
return {Status::NotOK, "Number of keys can't be greater than number of
args"};
diff --git a/src/commands/cmd_geo.cc b/src/commands/cmd_geo.cc
index 4c01a665..80dc62e8 100644
--- a/src/commands/cmd_geo.cc
+++ b/src/commands/cmd_geo.cc
@@ -631,7 +631,9 @@ class CommandGeoSearchStore : public CommandGeoSearch {
return Status::OK();
}
- static std::vector<CommandKeyRange> Range(const std::vector<std::string>
&args) { return {{1, 1, 1}, {2, 2, 1}}; }
+ static std::vector<CommandKeyRange> Range([[maybe_unused]] const
std::vector<std::string> &args) {
+ return {{1, 1, 1}, {2, 2, 1}};
+ }
private:
bool store_distance_ = false;
diff --git a/src/commands/cmd_json.cc b/src/commands/cmd_json.cc
index 571b9607..1b9c1b32 100644
--- a/src/commands/cmd_json.cc
+++ b/src/commands/cmd_json.cc
@@ -348,7 +348,7 @@ class CommandJsonMerge : public Commander {
class CommandJsonArrPop : public Commander {
public:
- Status Parse(const std::vector<std::string> &args) override {
+ Status Parse([[maybe_unused]] const std::vector<std::string> &args) override
{
path_ = (args_.size() > 2) ? args_[2] : "$";
if (args_.size() == 4) {
@@ -417,7 +417,7 @@ class CommandJsonObjLen : public Commander {
class CommandJsonArrTrim : public Commander {
public:
- Status Parse(const std::vector<std::string> &args) override {
+ Status Parse([[maybe_unused]] const std::vector<std::string> &args) override
{
path_ = args_[2];
start_ = GET_OR_RET(ParseInt<int64_t>(args_[3], 10));
stop_ = GET_OR_RET(ParseInt<int64_t>(args_[4], 10));
diff --git a/src/commands/cmd_list.cc b/src/commands/cmd_list.cc
index 1cc11ec9..132ffcc5 100644
--- a/src/commands/cmd_list.cc
+++ b/src/commands/cmd_list.cc
@@ -684,7 +684,7 @@ class CommandRPopLPUSH : public Commander {
class CommandLMove : public Commander {
public:
- Status Parse(const std::vector<std::string> &args) override {
+ Status Parse([[maybe_unused]] const std::vector<std::string> &args) override
{
auto arg_val = util::ToLower(args_[3]);
if (arg_val != "left" && arg_val != "right") {
return {Status::RedisParseErr, errInvalidSyntax};
diff --git a/src/commands/cmd_pubsub.cc b/src/commands/cmd_pubsub.cc
index 0d67c49d..f8c8ca01 100644
--- a/src/commands/cmd_pubsub.cc
+++ b/src/commands/cmd_pubsub.cc
@@ -27,7 +27,7 @@ namespace redis {
class CommandPublish : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
if (!srv->IsSlave()) {
// Compromise: can't replicate a message to sub-replicas in a
cascading-like structure.
// Replication relies on WAL seq; increasing the seq on a replica will
break the replication process,
@@ -50,7 +50,7 @@ class CommandPublish : public Commander {
class CommandMPublish : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
int total_receivers = 0;
engine::Context ctx(srv->storage);
for (size_t i = 2; i < args_.size(); i++) {
@@ -83,7 +83,7 @@ void SubscribeCommandReply(const Connection *conn,
std::string *output, const st
class CommandSubscribe : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
for (unsigned i = 1; i < args_.size(); i++) {
conn->SubscribeChannel(args_[i]);
SubscribeCommandReply(conn, output, "subscribe", args_[i],
@@ -95,7 +95,7 @@ class CommandSubscribe : public Commander {
class CommandUnSubscribe : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
if (args_.size() == 1) {
conn->UnsubscribeAll([conn, output](const std::string &sub_name, int
num) {
SubscribeCommandReply(conn, output, "unsubscribe", sub_name, num);
@@ -113,7 +113,7 @@ class CommandUnSubscribe : public Commander {
class CommandPSubscribe : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
for (size_t i = 1; i < args_.size(); i++) {
conn->PSubscribeChannel(args_[i]);
SubscribeCommandReply(conn, output, "psubscribe", args_[i],
@@ -125,7 +125,7 @@ class CommandPSubscribe : public Commander {
class CommandPUnSubscribe : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
if (args_.size() == 1) {
conn->PUnsubscribeAll([conn, output](const std::string &sub_name, int
num) {
SubscribeCommandReply(conn, output, "punsubscribe", sub_name, num);
diff --git a/src/commands/cmd_replication.cc b/src/commands/cmd_replication.cc
index 91fdcae9..cb2869e3 100644
--- a/src/commands/cmd_replication.cc
+++ b/src/commands/cmd_replication.cc
@@ -186,7 +186,7 @@ class CommandReplConf : public Commander {
return Status::OK();
}
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
if (port_ != 0) {
conn->SetListeningPort(port_);
}
@@ -204,9 +204,9 @@ class CommandReplConf : public Commander {
class CommandFetchMeta : public Commander {
public:
- Status Parse(const std::vector<std::string> &args) override { return
Status::OK(); }
+ Status Parse([[maybe_unused]] const std::vector<std::string> &args) override
{ return Status::OK(); }
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, Connection *conn, [[maybe_unused]] std::string
*output) override {
int repl_fd = conn->GetFD();
std::string ip = conn->GetAnnounceIP();
@@ -262,7 +262,7 @@ class CommandFetchFile : public Commander {
return Status::OK();
}
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, Connection *conn, [[maybe_unused]] std::string
*output) override {
std::vector<std::string> files = util::Split(files_str_, ",");
int repl_fd = conn->GetFD();
@@ -332,9 +332,9 @@ class CommandFetchFile : public Commander {
class CommandDBName : public Commander {
public:
- Status Parse(const std::vector<std::string> &args) override { return
Status::OK(); }
+ Status Parse([[maybe_unused]] const std::vector<std::string> &args) override
{ return Status::OK(); }
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, Connection *conn, [[maybe_unused]] std::string
*output) override {
conn->Reply(srv->storage->GetName() + CRLF);
return Status::OK();
}
diff --git a/src/commands/cmd_script.cc b/src/commands/cmd_script.cc
index 71bd32cf..ec440ba2 100644
--- a/src/commands/cmd_script.cc
+++ b/src/commands/cmd_script.cc
@@ -29,7 +29,7 @@ namespace redis {
template <bool evalsha, bool read_only>
class CommandEvalImpl : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
if (evalsha && args_[1].size() != 40) {
return {Status::RedisNoScript, errNoMatchingScript};
}
@@ -62,7 +62,7 @@ class CommandScript : public Commander {
return Status::OK();
}
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
// There's a little tricky here since the script command was the write type
// command but some subcommands like `exists` were readonly, so we want to
allow
// executing on slave here. Maybe we should find other way to do this.
diff --git a/src/commands/cmd_search.cc b/src/commands/cmd_search.cc
index 1cd42b4b..7dbaa4af 100644
--- a/src/commands/cmd_search.cc
+++ b/src/commands/cmd_search.cc
@@ -254,7 +254,7 @@ static StatusOr<CommandParserWithNode> ParseSQLQuery(const
std::vector<std::stri
}
class CommandFTExplainSQL : public Commander {
- Status Parse(const std::vector<std::string> &args) override {
+ Status Parse([[maybe_unused]] const std::vector<std::string> &args) override
{
auto [parser, ir] = GET_OR_RET(ParseSQLQuery(args_));
ir_ = std::move(ir);
diff --git a/src/commands/cmd_server.cc b/src/commands/cmd_server.cc
index 1603f0f1..445f20d4 100644
--- a/src/commands/cmd_server.cc
+++ b/src/commands/cmd_server.cc
@@ -187,7 +187,7 @@ class CommandFlushAll : public Commander {
class CommandPing : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, [[maybe_unused]] Connection
*conn, std::string *output) override {
if (args_.size() == 1) {
*output = redis::SimpleString("PONG");
} else if (args_.size() == 2) {
@@ -201,7 +201,7 @@ class CommandPing : public Commander {
class CommandSelect : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, [[maybe_unused]] Connection
*conn, std::string *output) override {
*output = redis::SimpleString("OK");
return Status::OK();
}
@@ -296,7 +296,7 @@ class CommandMemory : public CommandDisk {};
class CommandRole : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
srv->GetRoleInfo(output);
return Status::OK();
}
@@ -343,7 +343,7 @@ class CommandPerfLog : public Commander {
return Status::OK();
}
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
auto perf_log = srv->GetPerfLog();
if (subcommand_ == "len") {
*output = redis::Integer(static_cast<int64_t>(perf_log->Size()));
@@ -380,7 +380,7 @@ class CommandSlowlog : public Commander {
return Status::OK();
}
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
auto slowlog = srv->GetSlowLog();
if (subcommand_ == "reset") {
slowlog->Reset();
@@ -527,7 +527,7 @@ class CommandClient : public Commander {
class CommandMonitor : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
conn->Owner()->BecomeMonitorConn(conn);
*output = redis::SimpleString("OK");
return Status::OK();
@@ -536,7 +536,7 @@ class CommandMonitor : public Commander {
class CommandShutdown : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, Connection *conn, [[maybe_unused]] std::string
*output) override {
if (!conn->IsAdmin()) {
return {Status::RedisExecErr, errAdminPermissionRequired};
}
@@ -551,7 +551,7 @@ class CommandShutdown : public Commander {
class CommandQuit : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
conn->EnableFlag(redis::Connection::kCloseAfterReply);
*output = redis::SimpleString("OK");
return Status::OK();
@@ -652,7 +652,7 @@ class CommandDebug : public Commander {
class CommandCommand : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
if (args_.size() == 1) {
CommandTable::GetAllCommandsInfo(output);
} else {
@@ -697,7 +697,7 @@ class CommandCommand : public Commander {
class CommandEcho : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, [[maybe_unused]] Connection
*conn, std::string *output) override {
*output = redis::BulkString(args_[1]);
return Status::OK();
}
@@ -705,7 +705,7 @@ class CommandEcho : public Commander {
class CommandTime : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, [[maybe_unused]] Connection
*conn, std::string *output) override {
uint64_t now = util::GetTimeStampUS();
uint64_t s = now / 1000 / 1000; // unix time in seconds.
uint64_t us = now - (s * 1000 * 1000); // microseconds.
@@ -820,8 +820,8 @@ class CommandScan : public CommandScanBase {
public:
CommandScan() : CommandScanBase() {}
- static std::string GenerateOutput(Server *srv, const Connection *conn, const
std::vector<std::string> &keys,
- const std::string &end_cursor) {
+ static std::string GenerateOutput(Server *srv, [[maybe_unused]] const
Connection *conn,
+ const std::vector<std::string> &keys,
const std::string &end_cursor) {
std::vector<std::string> list;
if (!end_cursor.empty()) {
list.emplace_back(
@@ -1011,7 +1011,7 @@ class CommandSlaveOf : public Commander {
class CommandStats : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute(Server *srv, [[maybe_unused]] Connection *conn, std::string
*output) override {
std::string stats_json = srv->GetRocksDBStatsJson();
*output = redis::BulkString(stats_json);
return Status::OK();
@@ -1210,7 +1210,7 @@ class CommandApplyBatch : public Commander {
return Commander::Parse(args);
}
- Status Execute(Server *svr, Connection *conn, std::string *output) override {
+ Status Execute(Server *svr, [[maybe_unused]] Connection *conn, std::string
*output) override {
size_t size = raw_batch_.size();
auto options = svr->storage->DefaultWriteOptions();
options.low_pri = low_pri_;
diff --git a/src/commands/cmd_stream.cc b/src/commands/cmd_stream.cc
index 35ec15cb..f02d5b34 100644
--- a/src/commands/cmd_stream.cc
+++ b/src/commands/cmd_stream.cc
@@ -424,7 +424,8 @@ class CommandAutoClaim : public Commander {
}
private:
- Status sendResults(Connection *conn, const StreamAutoClaimResult &result,
std::string *output) const {
+ Status sendResults([[maybe_unused]] Connection *conn, const
StreamAutoClaimResult &result,
+ std::string *output) const {
output->append(redis::MultiLen(3));
output->append(redis::BulkString(result.next_claim_id));
output->append(redis::MultiLen(result.entries.size()));
@@ -893,7 +894,8 @@ class CommandXPending : public Commander {
return SendResults(conn, output, results);
}
- static Status SendResults(Connection *conn, std::string *output,
StreamGetPendingEntryResult &results) {
+ static Status SendResults([[maybe_unused]] Connection *conn, std::string
*output,
+ StreamGetPendingEntryResult &results) {
output->append(redis::MultiLen(3 + results.consumer_infos.size()));
output->append(redis::Integer(results.pending_number));
output->append(redis::BulkString(results.first_entry_id.ToString()));
@@ -908,7 +910,8 @@ class CommandXPending : public Commander {
return Status::OK();
}
- static Status SendExtResults(Connection *conn, std::string *output,
std::vector<StreamNACK> &ext_results) {
+ static Status SendExtResults([[maybe_unused]] Connection *conn, std::string
*output,
+ std::vector<StreamNACK> &ext_results) {
output->append(redis::MultiLen(ext_results.size()));
for (const auto &entry : ext_results) {
output->append(redis::MultiLen(4));
@@ -1265,7 +1268,8 @@ class CommandXRead : public Commander,
return Status::OK();
}
- Status BlockingRead(const engine::Context &ctx, Server *srv, Connection
*conn, redis::Stream *stream_db) {
+ Status BlockingRead([[maybe_unused]] const engine::Context &ctx, Server
*srv, Connection *conn,
+ redis::Stream *stream_db) {
if (!with_count_) {
with_count_ = true;
count_ = blocked_default_count_;
@@ -1380,7 +1384,7 @@ class CommandXRead : public Commander,
conn_->OnEvent(bev, events);
}
- void TimerCB(int, int16_t events) {
+ void TimerCB(int, [[maybe_unused]] int16_t events) {
conn_->Reply(conn_->NilString());
timer_.reset();
@@ -1570,7 +1574,7 @@ class CommandXReadGroup : public Commander,
return Status::OK();
}
- Status BlockingRead(Server *srv, Connection *conn, redis::Stream *stream_db)
{
+ Status BlockingRead(Server *srv, Connection *conn, [[maybe_unused]]
redis::Stream *stream_db) {
if (!with_count_) {
with_count_ = true;
count_ = blocked_default_count_;
@@ -1673,7 +1677,7 @@ class CommandXReadGroup : public Commander,
conn_->OnEvent(bev, events);
}
- void TimerCB(int, int16_t events) {
+ void TimerCB(int, [[maybe_unused]] int16_t events) {
conn_->Reply(conn_->NilString());
timer_.reset();
diff --git a/src/commands/cmd_txn.cc b/src/commands/cmd_txn.cc
index 3e2495d2..fcd74e8f 100644
--- a/src/commands/cmd_txn.cc
+++ b/src/commands/cmd_txn.cc
@@ -29,7 +29,7 @@ namespace redis {
class CommandMulti : public Commander {
public:
- Status Execute(Server *srv, Connection *conn, std::string *output) override {
+ Status Execute([[maybe_unused]] Server *srv, Connection *conn, std::string
*output) override {
if (conn->IsFlagEnabled(Connection::kMultiExec)) {
return {Status::RedisExecErr, "MULTI calls can not be nested"};
}
diff --git a/src/commands/commander.h b/src/commands/commander.h
index 39d55bfc..9d8dd239 100644
--- a/src/commands/commander.h
+++ b/src/commands/commander.h
@@ -99,8 +99,9 @@ class Commander {
const CommandAttributes *GetAttributes() const { return attributes_; }
void SetArgs(const std::vector<std::string> &args) { args_ = args; }
virtual Status Parse() { return Parse(args_); }
- virtual Status Parse(const std::vector<std::string> &args) { return
Status::OK(); }
- virtual Status Execute(Server *srv, Connection *conn, std::string *output) {
+ virtual Status Parse([[maybe_unused]] const std::vector<std::string> &args)
{ return Status::OK(); }
+ virtual Status Execute([[maybe_unused]] Server *srv, [[maybe_unused]]
Connection *conn,
+ [[maybe_unused]] std::string *output) {
return {Status::RedisExecErr, errNotImplemented};
}
@@ -114,7 +115,7 @@ class Commander {
class CommanderWithParseMove : Commander {
public:
Status Parse() override { return ParseMove(std::move(args_)); }
- virtual Status ParseMove(std::vector<std::string> &&args) { return
Status::OK(); }
+ virtual Status ParseMove([[maybe_unused]] std::vector<std::string> &&args) {
return Status::OK(); }
};
using CommanderFactory = std::function<std::unique_ptr<Commander>()>;
diff --git a/src/commands/scan_base.h b/src/commands/scan_base.h
index 3a6438c2..007e49ff 100644
--- a/src/commands/scan_base.h
+++ b/src/commands/scan_base.h
@@ -80,7 +80,7 @@ class CommandScanBase : public Commander {
}
}
- std::string GenerateOutput(Server *srv, const Connection *conn, const
std::vector<std::string> &keys,
+ std::string GenerateOutput(Server *srv, [[maybe_unused]] const Connection
*conn, const std::vector<std::string> &keys,
CursorType cursor_type) const {
std::vector<std::string> list;
if (keys.size() == static_cast<size_t>(limit_)) {
diff --git a/src/common/io_util.cc b/src/common/io_util.cc
index 1bdc8522..35fa80d9 100644
--- a/src/common/io_util.cc
+++ b/src/common/io_util.cc
@@ -271,7 +271,7 @@ Status SockSendFileImpl(FD out_fd, int in_fd, size_t size,
Args... args) {
// please note that, the out socket fd should be in blocking mode.
Status SockSendFile(int out_fd, int in_fd, size_t size) { return
SockSendFileImpl<SendFileImpl>(out_fd, in_fd, size); }
-Status SockSendFile(int out_fd, int in_fd, size_t size, ssl_st *ssl) {
+Status SockSendFile(int out_fd, int in_fd, size_t size, [[maybe_unused]]
ssl_st *ssl) {
#ifdef ENABLE_OPENSSL
if (ssl) {
#if OPENSSL_VERSION_NUMBER >= 0x30000000L
@@ -284,7 +284,7 @@ Status SockSendFile(int out_fd, int in_fd, size_t size,
ssl_st *ssl) {
return SockSendFile(out_fd, in_fd, size);
}
-Status SockSendFile(int out_fd, int in_fd, size_t size, bufferevent *bev) {
+Status SockSendFile(int out_fd, int in_fd, size_t size, [[maybe_unused]]
bufferevent *bev) {
#ifdef ENABLE_OPENSSL
return SockSendFile(out_fd, in_fd, size, bufferevent_openssl_get_ssl(bev));
#else
@@ -454,7 +454,7 @@ Status Write(int fd, const std::string &data) { return
WriteImpl<write>(fd, data
Status Pwrite(int fd, const std::string &data, off_t offset) { return
WriteImpl<pwrite>(fd, data, offset); }
-Status SockSend(int fd, const std::string &data, ssl_st *ssl) {
+Status SockSend(int fd, const std::string &data, [[maybe_unused]] ssl_st *ssl)
{
#ifdef ENABLE_OPENSSL
if (ssl) {
return WriteImpl<SSL_write>(ssl, data);
@@ -463,7 +463,7 @@ Status SockSend(int fd, const std::string &data, ssl_st
*ssl) {
return SockSend(fd, data);
}
-Status SockSend(int fd, const std::string &data, bufferevent *bev) {
+Status SockSend(int fd, const std::string &data, [[maybe_unused]] bufferevent
*bev) {
#ifdef ENABLE_OPENSSL
return SockSend(fd, data, bufferevent_openssl_get_ssl(bev));
#else
@@ -471,7 +471,8 @@ Status SockSend(int fd, const std::string &data,
bufferevent *bev) {
#endif
}
-StatusOr<int> SockConnect(const std::string &host, uint32_t port, ssl_st *ssl,
int conn_timeout, int timeout) {
+StatusOr<int> SockConnect(const std::string &host, uint32_t port,
[[maybe_unused]] ssl_st *ssl, int conn_timeout,
+ int timeout) {
#ifdef ENABLE_OPENSSL
if (ssl) {
auto fd = GET_OR_RET(SockConnect(host, port, conn_timeout, timeout));
@@ -491,7 +492,7 @@ StatusOr<int> SockConnect(const std::string &host, uint32_t
port, ssl_st *ssl, i
return SockConnect(host, port, conn_timeout, timeout);
}
-StatusOr<int> EvbufferRead(evbuffer *buf, evutil_socket_t fd, int howmuch,
ssl_st *ssl) {
+StatusOr<int> EvbufferRead(evbuffer *buf, evutil_socket_t fd, int howmuch,
[[maybe_unused]] ssl_st *ssl) {
#ifdef ENABLE_OPENSSL
if (ssl) {
constexpr int BUFFER_SIZE = 4096;
diff --git a/src/common/rdb_stream.h b/src/common/rdb_stream.h
index 824808ae..004b5b89 100644
--- a/src/common/rdb_stream.h
+++ b/src/common/rdb_stream.h
@@ -72,7 +72,9 @@ class RdbFileStream : public RdbStream {
Status Open();
Status Read(char *buf, size_t len) override;
- Status Write(const char *buf, size_t len) override { return {Status::NotOK,
fmt::format("No implement")}; };
+ Status Write([[maybe_unused]] const char *buf, [[maybe_unused]] size_t len)
override {
+ return {Status::NotOK, fmt::format("No implement")};
+ };
StatusOr<uint64_t> GetCheckSum() const override {
uint64_t crc = check_sum_;
memrev64ifbe(&crc);
diff --git a/src/config/config.cc b/src/config/config.cc
index dcb504f9..1fbfe928 100644
--- a/src/config/config.cc
+++ b/src/config/config.cc
@@ -271,7 +271,7 @@ Config::Config() {
void Config::initFieldValidator() {
std::map<std::string, ValidateFn> validators = {
{"requirepass",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
if (v.empty() && !load_tokens.empty()) {
return {Status::NotOK, "requirepass empty not allowed while the
namespace exists"};
}
@@ -281,29 +281,29 @@ void Config::initFieldValidator() {
return Status::OK();
}},
{"masterauth",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
if (load_tokens.find(v) != load_tokens.end()) {
return {Status::NotOK, "masterauth is duplicated with namespace
tokens"};
}
return Status::OK();
}},
{"compact-cron",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
std::vector<std::string> args = util::Split(v, " \t");
return compact_cron.SetScheduleTime(args);
}},
{"bgsave-cron",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
std::vector<std::string> args = util::Split(v, " \t");
return bgsave_cron.SetScheduleTime(args);
}},
{"dbsize-scan-cron",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
std::vector<std::string> args = util::Split(v, " \t");
return dbsize_scan_cron.SetScheduleTime(args);
}},
{"compaction-checker-range",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
if (!compaction_checker_cron_str_.empty()) {
return {Status::NotOK, "compaction-checker-range cannot be set
while compaction-checker-cron is set"};
}
@@ -314,12 +314,12 @@ void Config::initFieldValidator() {
return compaction_checker_cron.SetScheduleTime({"*", v, "*", "*",
"*"});
}},
{"compaction-checker-cron",
- [this](const std::string &k, const std::string &v) -> Status {
+ [this]([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
std::vector<std::string> args = util::Split(v, " \t");
return compaction_checker_cron.SetScheduleTime(args);
}},
{"rename-command",
- [](const std::string &k, const std::string &v) -> Status {
+ []([[maybe_unused]] const std::string &k, const std::string &v) ->
Status {
std::vector<std::string> all_args = util::Split(v, "\n");
for (auto &p : all_args) {
std::vector<std::string> args = util::Split(p, " \t");
@@ -363,7 +363,8 @@ void Config::initFieldCallback() {
if (!srv) return Status::OK(); // srv is nullptr when load config from
file
return srv->storage->SetOptionForAllColumnFamilies(TrimRocksDbPrefix(k),
v);
};
- auto set_compression_type_cb = [](Server *srv, const std::string &k, const
std::string &v) -> Status {
+ auto set_compression_type_cb = [](Server *srv, [[maybe_unused]] const
std::string &k,
+ const std::string &v) -> Status {
if (!srv) return Status::OK();
std::string compression_option;
@@ -388,7 +389,7 @@ void Config::initFieldCallback() {
return
srv->storage->SetOptionForAllColumnFamilies("compression_per_level",
compression_levels);
};
#ifdef ENABLE_OPENSSL
- auto set_tls_option = [](Server *srv, const std::string &k, const
std::string &v) {
+ auto set_tls_option = [](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) {
if (!srv) return Status::OK(); // srv is nullptr when load config from
file
auto new_ctx = CreateSSLContext(srv->GetConfig());
if (!new_ctx) {
@@ -402,13 +403,14 @@ void Config::initFieldCallback() {
std::map<std::string, CallbackFn> callbacks =
{
{"workers",
- [](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->AdjustWorkerThreads();
return Status::OK();
}},
{"dir",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this]([[maybe_unused]] Server *srv, [[maybe_unused]] const
std::string &k,
+ [[maybe_unused]] const std::string &v) -> Status {
db_dir = dir + "/db";
if (log_dir.empty()) log_dir = dir;
checkpoint_dir = dir + "/checkpoint";
@@ -419,7 +421,7 @@ void Config::initFieldCallback() {
return Status::OK();
}},
{"backup-dir",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k, const
std::string &v) -> Status {
std::string previous_backup;
{
// Note: currently, backup_mu_ may block by backing up or
purging,
@@ -435,24 +437,25 @@ void Config::initFieldCallback() {
return Status::OK();
}},
{"cluster-enabled",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this]([[maybe_unused]] Server *srv, [[maybe_unused]] const
std::string &k,
+ [[maybe_unused]] const std::string &v) -> Status {
if (cluster_enabled) slot_id_encoded = true;
return Status::OK();
}},
{"bind",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this]([[maybe_unused]] Server *srv, [[maybe_unused]] const
std::string &k, const std::string &v) -> Status {
std::vector<std::string> args = util::Split(v, " \t");
binds = std::move(args);
return Status::OK();
}},
{"maxclients",
- [](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->AdjustOpenFilesLimit();
return Status::OK();
}},
{"slaveof",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this]([[maybe_unused]] Server *srv, [[maybe_unused]] const
std::string &k, const std::string &v) -> Status {
if (v.empty()) {
return Status::OK();
}
@@ -469,7 +472,7 @@ void Config::initFieldCallback() {
return Status::OK();
}},
{"profiling-sample-commands",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this]([[maybe_unused]] Server *srv, [[maybe_unused]] const
std::string &k, const std::string &v) -> Status {
std::vector<std::string> cmds = util::Split(v, ",");
profiling_sample_all_commands = false;
profiling_sample_commands.clear();
@@ -488,67 +491,67 @@ void Config::initFieldCallback() {
return Status::OK();
}},
{"slowlog-max-len",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->GetSlowLog()->SetMaxEntries(slowlog_max_len);
return Status::OK();
}},
{"max-db-size",
- [](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->storage->CheckDBSizeLimit();
return Status::OK();
}},
{"max-io-mb",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->storage->SetIORateLimit(max_io_mb);
return Status::OK();
}},
{"profiling-sample-record-max-len",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->GetPerfLog()->SetMaxEntries(profiling_sample_record_max_len);
return Status::OK();
}},
{"migrate-speed",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
if (cluster_enabled)
srv->slot_migrator->SetMaxMigrationSpeed(migrate_speed);
return Status::OK();
}},
{"migrate-pipeline-size",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
if (cluster_enabled)
srv->slot_migrator->SetMaxPipelineSize(pipeline_size);
return Status::OK();
}},
{"migrate-sequence-gap",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
if (cluster_enabled)
srv->slot_migrator->SetSequenceGapLimit(sequence_gap);
return Status::OK();
}},
{"migrate-batch-rate-limit-mb",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->slot_migrator->SetMigrateBatchRateLimit(migrate_batch_rate_limit_mb * MiB);
return Status::OK();
}},
{"migrate-batch-size-kb",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
srv->slot_migrator->SetMigrateBatchSize(migrate_batch_size_kb *
KiB);
return Status::OK();
}},
{"log-level",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
FLAGS_minloglevel = log_level;
return Status::OK();
}},
{"log-retention-days",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
if (util::ToLower(log_dir) == "stdout") {
return {Status::NotOK, "can't set the 'log-retention-days' when
the log dir is stdout"};
@@ -562,7 +565,7 @@ void Config::initFieldCallback() {
return Status::OK();
}},
{"persist-cluster-nodes-enabled",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, [[maybe_unused]] const std::string &k, const
std::string &v) -> Status {
if (!srv || !cluster_enabled) return Status::OK();
auto nodes_file_path = NodesFilePath();
if (v == "yes") {
@@ -573,19 +576,19 @@ void Config::initFieldCallback() {
return Status::OK();
}},
{"repl-namespace-enabled",
- [](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [](Server *srv, [[maybe_unused]] const std::string &k,
[[maybe_unused]] const std::string &v) -> Status {
if (!srv) return Status::OK();
return srv->GetNamespace()->LoadAndRewrite();
}},
{"rocksdb.target_file_size_base",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, const std::string &k, [[maybe_unused]] const
std::string &v) -> Status {
if (!srv) return Status::OK();
return
srv->storage->SetOptionForAllColumnFamilies(TrimRocksDbPrefix(k),
std::to_string(rocks_db.target_file_size_base * MiB));
}},
{"rocksdb.write_buffer_size",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, const std::string &k, [[maybe_unused]] const
std::string &v) -> Status {
if (!srv) return Status::OK();
return
srv->storage->SetOptionForAllColumnFamilies(TrimRocksDbPrefix(k),
std::to_string(rocks_db.write_buffer_size * MiB));
@@ -597,12 +600,12 @@ void Config::initFieldCallback() {
return
srv->storage->SetOptionForAllColumnFamilies(TrimRocksDbPrefix(k),
disable_auto_compactions);
}},
{"rocksdb.max_total_wal_size",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, const std::string &k, [[maybe_unused]] const
std::string &v) -> Status {
if (!srv) return Status::OK();
return srv->storage->SetDBOption(TrimRocksDbPrefix(k),
std::to_string(rocks_db.max_total_wal_size * MiB));
}},
{"rocksdb.enable_blob_files",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, const std::string &k, [[maybe_unused]] const
std::string &v) -> Status {
if (!srv) return Status::OK();
std::string enable_blob_files = rocks_db.enable_blob_files ?
"true" : "false";
return
srv->storage->SetOptionForAllColumnFamilies(TrimRocksDbPrefix(k),
enable_blob_files);
@@ -616,7 +619,7 @@ void Config::initFieldCallback() {
return
srv->storage->SetOptionForAllColumnFamilies(TrimRocksDbPrefix(k), v);
}},
{"rocksdb.blob_file_size",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, const std::string &k, [[maybe_unused]] const
std::string &v) -> Status {
if (!srv) return Status::OK();
if (!rocks_db.enable_blob_files) {
return {Status::NotOK, errBlobDbNotEnabled};
@@ -659,7 +662,7 @@ void Config::initFieldCallback() {
return srv->storage->SetDBOption(TrimRocksDbPrefix(k),
level_compaction_dynamic_level_bytes);
}},
{"rocksdb.max_bytes_for_level_base",
- [this](Server *srv, const std::string &k, const std::string &v) ->
Status {
+ [this](Server *srv, const std::string &k, [[maybe_unused]] const
std::string &v) -> Status {
if (!srv) return Status::OK();
if (!rocks_db.level_compaction_dynamic_level_bytes) {
return {Status::NotOK,
errLevelCompactionDynamicLevelBytesNotSet};
diff --git a/src/config/config_type.h b/src/config/config_type.h
index 36fa3799..c11e3694 100644
--- a/src/config/config_type.h
+++ b/src/config/config_type.h
@@ -65,8 +65,8 @@ class ConfigField {
virtual std::string ToString() const = 0;
virtual std::string ToStringForRewrite() const { return ToString(); }
virtual Status Set(const std::string &v) = 0;
- virtual Status ToNumber(int64_t *n) const { return {Status::NotOK, "not
supported"}; }
- virtual Status ToBool(bool *b) const { return {Status::NotOK, "not
supported"}; }
+ virtual Status ToNumber([[maybe_unused]] int64_t *n) const { return
{Status::NotOK, "not supported"}; }
+ virtual Status ToBool([[maybe_unused]] bool *b) const { return
{Status::NotOK, "not supported"}; }
ConfigType GetConfigType() const { return config_type; }
bool IsMultiConfig() const { return config_type == ConfigType::MultiConfig; }
diff --git a/src/search/indexer.cc b/src/search/indexer.cc
index 79a61437..26d653c1 100644
--- a/src/search/indexer.cc
+++ b/src/search/indexer.cc
@@ -242,7 +242,7 @@ Status IndexUpdater::UpdateTagIndex(engine::Context &ctx,
std::string_view key,
Status IndexUpdater::UpdateNumericIndex(engine::Context &ctx, std::string_view
key, const kqir::Value &original,
const kqir::Value ¤t, const
SearchKey &search_key,
- const NumericFieldMetadata *num) const
{
+ [[maybe_unused]] const
NumericFieldMetadata *num) const {
CHECK(original.IsNull() || original.Is<kqir::Numeric>());
CHECK(current.IsNull() || current.Is<kqir::Numeric>());
diff --git a/src/search/passes/cost_model.h b/src/search/passes/cost_model.h
index 960708d7..3b648f7d 100644
--- a/src/search/passes/cost_model.h
+++ b/src/search/passes/cost_model.h
@@ -58,7 +58,7 @@ struct CostModel {
CHECK(false) << "plan operator type not supported";
}
- static size_t Visit(const FullIndexScan *node) { return 100; }
+ static size_t Visit([[maybe_unused]] const FullIndexScan *node) { return
100; }
static size_t Visit(const NumericFieldScan *node) {
if (node->range.r == IntervalSet::NextNum(node->range.l)) {
@@ -78,11 +78,11 @@ struct CostModel {
return base;
}
- static size_t Visit(const TagFieldScan *node) { return 10; }
+ static size_t Visit([[maybe_unused]] const TagFieldScan *node) { return 10; }
- static size_t Visit(const HnswVectorFieldKnnScan *node) { return 3; }
+ static size_t Visit([[maybe_unused]] const HnswVectorFieldKnnScan *node) {
return 3; }
- static size_t Visit(const HnswVectorFieldRangeScan *node) { return 4; }
+ static size_t Visit([[maybe_unused]] const HnswVectorFieldRangeScan *node) {
return 4; }
static size_t Visit(const Filter *node) { return
Transform(node->source.get()) + 1; }
diff --git a/src/server/redis_connection.cc b/src/server/redis_connection.cc
index 09f53b8b..f7276249 100644
--- a/src/server/redis_connection.cc
+++ b/src/server/redis_connection.cc
@@ -80,7 +80,7 @@ void Connection::Close() {
void Connection::Detach() { owner_->DetachConnection(this); }
-void Connection::OnRead(struct bufferevent *bev) {
+void Connection::OnRead([[maybe_unused]] struct bufferevent *bev) {
is_running_ = true;
MakeScopeExit([this] { is_running_ = false; });
@@ -99,7 +99,7 @@ void Connection::OnRead(struct bufferevent *bev) {
}
}
-void Connection::OnWrite(bufferevent *bev) {
+void Connection::OnWrite([[maybe_unused]] bufferevent *bev) {
if (IsFlagEnabled(kCloseAfterReply) || IsFlagEnabled(kCloseAsync)) {
Close();
}
diff --git a/src/server/worker.cc b/src/server/worker.cc
index 0b37bcef..d5a751e1 100644
--- a/src/server/worker.cc
+++ b/src/server/worker.cc
@@ -100,13 +100,14 @@ Worker::~Worker() {
lua::DestroyState(lua_);
}
-void Worker::TimerCB(int, int16_t events) {
+void Worker::TimerCB(int, [[maybe_unused]] int16_t events) {
auto config = srv->GetConfig();
if (config->timeout == 0) return;
KickoutIdleClients(config->timeout);
}
-void Worker::newTCPConnection(evconnlistener *listener, evutil_socket_t fd,
sockaddr *address, int socklen) {
+void Worker::newTCPConnection(evconnlistener *listener, evutil_socket_t fd,
[[maybe_unused]] sockaddr *address,
+ [[maybe_unused]] int socklen) {
int local_port = util::GetLocalPort(fd); // NOLINT
DLOG(INFO) << "[worker] New connection: fd=" << fd << " from port: " <<
local_port << " thread #" << tid_;
@@ -186,7 +187,8 @@ void Worker::newTCPConnection(evconnlistener *listener,
evutil_socket_t fd, sock
}
}
-void Worker::newUnixSocketConnection(evconnlistener *listener, evutil_socket_t
fd, sockaddr *address, int socklen) {
+void Worker::newUnixSocketConnection(evconnlistener *listener, evutil_socket_t
fd, [[maybe_unused]] sockaddr *address,
+ [[maybe_unused]] int socklen) {
DLOG(INFO) << "[worker] New connection: fd=" << fd << " from unixsocket: "
<< srv->GetConfig()->unixsocket
<< " thread #" << tid_;
event_base *base = evconnlistener_get_base(listener);
diff --git a/src/storage/batch_extractor.cc b/src/storage/batch_extractor.cc
index e9ac4925..8ab8f04e 100644
--- a/src/storage/batch_extractor.cc
+++ b/src/storage/batch_extractor.cc
@@ -396,8 +396,9 @@ rocksdb::Status WriteBatchExtractor::DeleteCF(uint32_t
column_family_id, const S
return rocksdb::Status::OK();
}
-rocksdb::Status WriteBatchExtractor::DeleteRangeCF(uint32_t column_family_id,
const Slice &begin_key,
- const Slice &end_key) {
+rocksdb::Status WriteBatchExtractor::DeleteRangeCF([[maybe_unused]] uint32_t
column_family_id,
+ [[maybe_unused]] const
Slice &begin_key,
+ [[maybe_unused]] const
Slice &end_key) {
// Do nothing with DeleteRange operations
return rocksdb::Status::OK();
}
diff --git a/src/storage/compact_filter.cc b/src/storage/compact_filter.cc
index 5353608e..b79219ec 100644
--- a/src/storage/compact_filter.cc
+++ b/src/storage/compact_filter.cc
@@ -33,8 +33,8 @@ namespace engine {
using rocksdb::Slice;
-bool MetadataFilter::Filter(int level, const Slice &key, const Slice &value,
std::string *new_value,
- bool *modified) const {
+bool MetadataFilter::Filter([[maybe_unused]] int level, const Slice &key,
const Slice &value,
+ [[maybe_unused]] std::string *new_value,
[[maybe_unused]] bool *modified) const {
Metadata metadata(kRedisNone, false);
rocksdb::Status s = metadata.Decode(value);
auto [ns, user_key] = ExtractNamespaceKey(key, stor_->IsSlotIdEncoded());
@@ -95,8 +95,9 @@ bool SubKeyFilter::IsMetadataExpired(const InternalKey &ikey,
const Metadata &me
|| metadata.ExpireAt(lazy_expired_ts) || ikey.GetVersion() !=
metadata.version;
}
-rocksdb::CompactionFilter::Decision SubKeyFilter::FilterBlobByKey(int level,
const Slice &key, std::string *new_value,
- std::string
*skip_until) const {
+rocksdb::CompactionFilter::Decision
SubKeyFilter::FilterBlobByKey([[maybe_unused]] int level, const Slice &key,
+
[[maybe_unused]] std::string *new_value,
+
[[maybe_unused]] std::string *skip_until) const {
InternalKey ikey(key, stor_->IsSlotIdEncoded());
Metadata metadata(kRedisNone, false);
Status s = GetMetadata(ikey, &metadata);
@@ -117,8 +118,8 @@ rocksdb::CompactionFilter::Decision
SubKeyFilter::FilterBlobByKey(int level, con
return result ? rocksdb::CompactionFilter::Decision::kRemove :
rocksdb::CompactionFilter::Decision::kKeep;
}
-bool SubKeyFilter::Filter(int level, const Slice &key, const Slice &value,
std::string *new_value,
- bool *modified) const {
+bool SubKeyFilter::Filter([[maybe_unused]] int level, const Slice &key, const
Slice &value,
+ [[maybe_unused]] std::string *new_value,
[[maybe_unused]] bool *modified) const {
InternalKey ikey(key, stor_->IsSlotIdEncoded());
Metadata metadata(kRedisNone, false);
Status s = GetMetadata(ikey, &metadata);
diff --git a/src/storage/compact_filter.h b/src/storage/compact_filter.h
index 118bb8f6..561ad6b0 100644
--- a/src/storage/compact_filter.h
+++ b/src/storage/compact_filter.h
@@ -47,7 +47,7 @@ class MetadataFilterFactory : public
rocksdb::CompactionFilterFactory {
explicit MetadataFilterFactory(engine::Storage *storage) : stor_(storage) {}
const char *Name() const override { return "MetadataFilterFactory"; }
std::unique_ptr<rocksdb::CompactionFilter> CreateCompactionFilter(
- const rocksdb::CompactionFilter::Context &context) override {
+ [[maybe_unused]] const rocksdb::CompactionFilter::Context &context)
override {
return std::unique_ptr<rocksdb::CompactionFilter>(new
MetadataFilter(stor_));
}
@@ -78,7 +78,7 @@ class SubKeyFilterFactory : public
rocksdb::CompactionFilterFactory {
const char *Name() const override { return "SubKeyFilterFactory"; }
std::unique_ptr<rocksdb::CompactionFilter> CreateCompactionFilter(
- const rocksdb::CompactionFilter::Context &context) override {
+ [[maybe_unused]] const rocksdb::CompactionFilter::Context &context)
override {
return std::unique_ptr<rocksdb::CompactionFilter>(new SubKeyFilter(stor_));
}
@@ -89,7 +89,8 @@ class SubKeyFilterFactory : public
rocksdb::CompactionFilterFactory {
class PropagateFilter : public rocksdb::CompactionFilter {
public:
const char *Name() const override { return "PropagateFilter"; }
- bool Filter(int level, const Slice &key, const Slice &value, std::string
*new_value, bool *modified) const override {
+ bool Filter([[maybe_unused]] int level, const Slice &key, [[maybe_unused]]
const Slice &value,
+ [[maybe_unused]] std::string *new_value, [[maybe_unused]] bool
*modified) const override {
// We propagate Lua commands which don't store data,
// just in order to implement updating Lua state.
return key == engine::kPropagateScriptCommand;
@@ -101,7 +102,7 @@ class PropagateFilterFactory : public
rocksdb::CompactionFilterFactory {
PropagateFilterFactory() = default;
const char *Name() const override { return "PropagateFilterFactory"; }
std::unique_ptr<rocksdb::CompactionFilter> CreateCompactionFilter(
- const rocksdb::CompactionFilter::Context &context) override {
+ [[maybe_unused]] const rocksdb::CompactionFilter::Context &context)
override {
return std::unique_ptr<rocksdb::CompactionFilter>(new PropagateFilter());
}
};
@@ -109,7 +110,8 @@ class PropagateFilterFactory : public
rocksdb::CompactionFilterFactory {
class PubSubFilter : public rocksdb::CompactionFilter {
public:
const char *Name() const override { return "PubSubFilter"; }
- bool Filter(int level, const Slice &key, const Slice &value, std::string
*new_value, bool *modified) const override {
+ bool Filter([[maybe_unused]] int level, [[maybe_unused]] const Slice &key,
[[maybe_unused]] const Slice &value,
+ [[maybe_unused]] std::string *new_value, [[maybe_unused]] bool
*modified) const override {
return true;
}
};
@@ -119,7 +121,7 @@ class PubSubFilterFactory : public
rocksdb::CompactionFilterFactory {
PubSubFilterFactory() = default;
const char *Name() const override { return "PubSubFilterFactory"; }
std::unique_ptr<rocksdb::CompactionFilter> CreateCompactionFilter(
- const rocksdb::CompactionFilter::Context &context) override {
+ [[maybe_unused]] const rocksdb::CompactionFilter::Context &context)
override {
return std::unique_ptr<rocksdb::CompactionFilter>(new PubSubFilter());
}
};
@@ -127,7 +129,8 @@ class PubSubFilterFactory : public
rocksdb::CompactionFilterFactory {
class SearchFilter : public rocksdb::CompactionFilter {
public:
const char *Name() const override { return "SearchFilter"; }
- bool Filter(int level, const Slice &key, const Slice &value, std::string
*new_value, bool *modified) const override {
+ bool Filter([[maybe_unused]] int level, [[maybe_unused]] const Slice &key,
[[maybe_unused]] const Slice &value,
+ [[maybe_unused]] std::string *new_value, [[maybe_unused]] bool
*modified) const override {
// TODO: just a dummy one here
return false;
}
@@ -138,7 +141,7 @@ class SearchFilterFactory : public
rocksdb::CompactionFilterFactory {
SearchFilterFactory() = default;
const char *Name() const override { return "SearchFilterFactory"; }
std::unique_ptr<rocksdb::CompactionFilter> CreateCompactionFilter(
- const rocksdb::CompactionFilter::Context &context) override {
+ [[maybe_unused]] const rocksdb::CompactionFilter::Context &context)
override {
return std::unique_ptr<rocksdb::CompactionFilter>(new SearchFilter());
}
};
diff --git a/src/storage/event_listener.cc b/src/storage/event_listener.cc
index a32f8b70..ab1c4233 100644
--- a/src/storage/event_listener.cc
+++ b/src/storage/event_listener.cc
@@ -75,7 +75,7 @@ bool IsDiskQuotaExceeded(const rocksdb::Status &bg_error) {
return err_msg.find(exceeded_quota_str) != std::string::npos;
}
-void EventListener::OnCompactionBegin(rocksdb::DB *db, const
rocksdb::CompactionJobInfo &ci) {
+void EventListener::OnCompactionBegin([[maybe_unused]] rocksdb::DB *db, const
rocksdb::CompactionJobInfo &ci) {
LOG(INFO) << "[event_listener/compaction_begin] column family: " <<
ci.cf_name << ", job_id: " << ci.job_id
<< ", compaction reason: " <<
rocksdb::GetCompactionReasonString(ci.compaction_reason)
<< ", output compression type: " <<
CompressType2String(ci.compression)
@@ -85,7 +85,7 @@ void EventListener::OnCompactionBegin(rocksdb::DB *db, const
rocksdb::Compaction
<< ", is_manual_compaction:" << (ci.stats.is_manual_compaction ?
"yes" : "no");
}
-void EventListener::OnCompactionCompleted(rocksdb::DB *db, const
rocksdb::CompactionJobInfo &ci) {
+void EventListener::OnCompactionCompleted([[maybe_unused]] rocksdb::DB *db,
const rocksdb::CompactionJobInfo &ci) {
LOG(INFO) << "[event_listener/compaction_completed] column family: " <<
ci.cf_name << ", job_id: " << ci.job_id
<< ", compaction reason: " <<
rocksdb::GetCompactionReasonString(ci.compaction_reason)
<< ", output compression type: " <<
CompressType2String(ci.compression)
@@ -114,12 +114,12 @@ void EventListener::OnSubcompactionCompleted(const
rocksdb::SubcompactionJobInfo
<< ", elapsed(micro): " << si.stats.elapsed_micros;
}
-void EventListener::OnFlushBegin(rocksdb::DB *db, const rocksdb::FlushJobInfo
&fi) {
+void EventListener::OnFlushBegin([[maybe_unused]] rocksdb::DB *db, const
rocksdb::FlushJobInfo &fi) {
LOG(INFO) << "[event_listener/flush_begin] column family: " << fi.cf_name <<
", thread_id: " << fi.thread_id
<< ", job_id: " << fi.job_id << ", reason: " <<
rocksdb::GetFlushReasonString(fi.flush_reason);
}
-void EventListener::OnFlushCompleted(rocksdb::DB *db, const
rocksdb::FlushJobInfo &fi) {
+void EventListener::OnFlushCompleted([[maybe_unused]] rocksdb::DB *db, const
rocksdb::FlushJobInfo &fi) {
storage_->RecordStat(engine::StatType::FlushCount, 1);
storage_->CheckDBSizeLimit();
LOG(INFO) << "[event_listener/flush_completed] column family: " <<
fi.cf_name << ", thread_id: " << fi.thread_id
diff --git a/src/storage/rdb.cc b/src/storage/rdb.cc
index 2d684f10..ed55ddcd 100644
--- a/src/storage/rdb.cc
+++ b/src/storage/rdb.cc
@@ -401,7 +401,7 @@ StatusOr<int> RDB::loadRdbType() {
return type;
}
-StatusOr<RedisObjValue> RDB::loadRdbObject(int type, const std::string &key) {
+StatusOr<RedisObjValue> RDB::loadRdbObject(int type, [[maybe_unused]] const
std::string &key) {
if (type == RDBTypeString) {
auto value = GET_OR_RET(LoadStringObject());
return value;
diff --git a/src/storage/rdb_ziplist.cc b/src/storage/rdb_ziplist.cc
index b51dc8dd..ad005661 100644
--- a/src/storage/rdb_ziplist.cc
+++ b/src/storage/rdb_ziplist.cc
@@ -151,7 +151,7 @@ Status ZipList::peekOK(size_t n) {
uint32_t ZipList::getEncodedLengthSize(uint32_t len) { return len <
ZipListBigLen ? 1 : 5; }
-uint32_t ZipList::ZipStorePrevEntryLengthLarge(unsigned char *p, size_t
zl_size, unsigned int len) {
+uint32_t ZipList::ZipStorePrevEntryLengthLarge(unsigned char *p,
[[maybe_unused]] size_t zl_size, unsigned int len) {
uint32_t u32 = 0;
if (p != nullptr) {
p[0] = ZipListBigLen;
@@ -174,7 +174,7 @@ uint32_t ZipList::ZipStorePrevEntryLength(unsigned char *p,
size_t zl_size, unsi
return ZipStorePrevEntryLengthLarge(p, zl_size, len);
}
-uint32_t ZipList::ZipStoreEntryEncoding(unsigned char *p, size_t zl_size,
unsigned int rawlen) {
+uint32_t ZipList::ZipStoreEntryEncoding(unsigned char *p, [[maybe_unused]]
size_t zl_size, unsigned int rawlen) {
unsigned char len = 1, buf[5];
/* Although encoding is given it may not be set for strings,
@@ -202,20 +202,20 @@ uint32_t ZipList::ZipStoreEntryEncoding(unsigned char *p,
size_t zl_size, unsign
return len;
}
-void ZipList::SetZipListBytes(unsigned char *zl, size_t zl_size, uint32_t
value) {
+void ZipList::SetZipListBytes(unsigned char *zl, [[maybe_unused]] size_t
zl_size, uint32_t value) {
assert(zl_size >= sizeof(uint32_t));
memcpy(zl, &value, sizeof(uint32_t));
}
-void ZipList::SetZipListTailOffset(unsigned char *zl, size_t zl_size, uint32_t
value) {
+void ZipList::SetZipListTailOffset(unsigned char *zl, [[maybe_unused]] size_t
zl_size, uint32_t value) {
assert(zl_size >= sizeof(uint32_t) * 2);
memcpy(zl + sizeof(uint32_t), &value, sizeof(uint32_t));
}
-void ZipList::SetZipListLength(unsigned char *zl, size_t zl_size, uint16_t
value) {
+void ZipList::SetZipListLength(unsigned char *zl, [[maybe_unused]] size_t
zl_size, uint16_t value) {
assert(zl_size >= sizeof(uint32_t) * 2 + sizeof(uint16_t));
memcpy(zl + sizeof(uint32_t) * 2, &value, sizeof(uint16_t));
}
-unsigned char *ZipList::GetZipListEntryHead(unsigned char *zl, size_t zl_size)
{
+unsigned char *ZipList::GetZipListEntryHead(unsigned char *zl,
[[maybe_unused]] size_t zl_size) {
assert(zl_size >= zlHeaderSize);
return ((zl) + zlHeaderSize);
}
diff --git a/src/storage/scripting.cc b/src/storage/scripting.cc
index 33f133d9..9d728f74 100644
--- a/src/storage/scripting.cc
+++ b/src/storage/scripting.cc
@@ -282,7 +282,7 @@ int RedisRegisterFunction(lua_State *lua) {
}
Status FunctionLoad(redis::Connection *conn, const std::string &script, bool
need_to_store, bool replace,
- std::string *lib_name, bool read_only) {
+ [[maybe_unused]] std::string *lib_name, bool read_only) {
std::string first_line, lua_code;
if (auto pos = script.find('\n'); pos != std::string::npos) {
first_line = script.substr(0, pos);
diff --git a/src/storage/storage.cc b/src/storage/storage.cc
index dae8f326..b5d07d97 100644
--- a/src/storage/storage.cc
+++ b/src/storage/storage.cc
@@ -933,14 +933,17 @@ std::string
Storage::GetReplIdFromWalBySeq(rocksdb::SequenceNumber seq) {
// An extractor to extract update from raw writebatch
class ReplIdExtractor : public rocksdb::WriteBatch::Handler {
public:
- rocksdb::Status PutCF(uint32_t column_family_id, const Slice &key, const
Slice &value) override {
+ rocksdb::Status PutCF([[maybe_unused]] uint32_t column_family_id,
[[maybe_unused]] const Slice &key,
+ [[maybe_unused]] const Slice &value) override {
return rocksdb::Status::OK();
}
- rocksdb::Status DeleteCF(uint32_t column_family_id, const rocksdb::Slice
&key) override {
+ rocksdb::Status DeleteCF([[maybe_unused]] uint32_t column_family_id,
+ [[maybe_unused]] const rocksdb::Slice &key)
override {
return rocksdb::Status::OK();
}
- rocksdb::Status DeleteRangeCF(uint32_t column_family_id, const
rocksdb::Slice &begin_key,
- const rocksdb::Slice &end_key) override {
+ rocksdb::Status DeleteRangeCF([[maybe_unused]] uint32_t column_family_id,
+ [[maybe_unused]] const rocksdb::Slice
&begin_key,
+ [[maybe_unused]] const rocksdb::Slice
&end_key) override {
return rocksdb::Status::OK();
}
diff --git a/src/storage/table_properties_collector.cc
b/src/storage/table_properties_collector.cc
index df760617..8e89a56f 100644
--- a/src/storage/table_properties_collector.cc
+++ b/src/storage/table_properties_collector.cc
@@ -80,7 +80,7 @@ bool CompactOnExpiredCollector::NeedCompact() const {
}
rocksdb::TablePropertiesCollector
*CompactOnExpiredTableCollectorFactory::CreateTablePropertiesCollector(
- rocksdb::TablePropertiesCollectorFactory::Context context) {
+ [[maybe_unused]] rocksdb::TablePropertiesCollectorFactory::Context
context) {
return new CompactOnExpiredCollector(cf_name_, trigger_threshold_);
}
diff --git a/src/types/redis_bitmap_string.cc b/src/types/redis_bitmap_string.cc
index 1c0dff81..1f91ee3d 100644
--- a/src/types/redis_bitmap_string.cc
+++ b/src/types/redis_bitmap_string.cc
@@ -263,7 +263,7 @@ rocksdb::Status BitmapString::Bitfield(engine::Context
&ctx, const Slice &ns_key
return storage_->Write(ctx, storage_->DefaultWriteOptions(),
batch->GetWriteBatch());
}
-rocksdb::Status BitmapString::BitfieldReadOnly(const Slice &ns_key, const
std::string &raw_value,
+rocksdb::Status BitmapString::BitfieldReadOnly([[maybe_unused]] const Slice
&ns_key, const std::string &raw_value,
const
std::vector<BitfieldOperation> &ops,
std::vector<std::optional<BitfieldValue>> *rets) {
std::string_view string_value = raw_value;
diff --git a/src/vendor/rand.cc b/src/vendor/rand.cc
index 2d6b0a36..a164d425 100644
--- a/src/vendor/rand.cc
+++ b/src/vendor/rand.cc
@@ -106,11 +106,6 @@ constexpr void SEED(const T x0, const T x1, const T x2) {
SET3(x, x0, x1, x2), SET3(a, A0, A1, A2), c = C;
}
-template <typename T>
-constexpr T HiBit(const T x) {
- return (1L << (2 * N - 1));
-}
-
static void Next() {
uint32_t p[2], q[2], r[2], carry0 = 0, carry1 = 0;
diff --git a/utils/kvrocks2redis/main.cc b/utils/kvrocks2redis/main.cc
index e6ca93bf..8522fd09 100644
--- a/utils/kvrocks2redis/main.cc
+++ b/utils/kvrocks2redis/main.cc
@@ -46,7 +46,7 @@ struct Options {
std::string conf_file = kDefaultConfPath;
};
-extern "C" void SignalHandler(int sig) {
+extern "C" void SignalHandler([[maybe_unused]] int sig) {
if (hup_handler) hup_handler();
}