Skip to content

Commit cbb47eb

Browse files
yuhaijun999rock-git
authored andcommitted
[feat][store] Supports online modification of the gflags variable via the curl command. Currently supports txn and gc settings.
1 parent 6b8f026 commit cbb47eb

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

src/common/gflag_validator.h

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
// Copyright (c) 2023 dingodb.com, Inc. All Rights Reserved
2+
//
3+
// Licensed under the Apache License, Version 2.0 (the "License");
4+
// you may not use this file except in compliance with the License.
5+
// You may obtain a copy of the License at
6+
//
7+
// http://www.apache.org/licenses/LICENSE-2.0
8+
//
9+
// Unless required by applicable law or agreed to in writing, software
10+
// distributed under the License is distributed on an "AS IS" BASIS,
11+
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
// See the License for the specific language governing permissions and
13+
// limitations under the License.
14+
15+
#ifndef DINGODB_COMMON_GFLAG_VALIDATATOR_H_
16+
#define DINGODB_COMMON_GFLAG_VALIDATATOR_H_
17+
18+
#include <gflags/gflags.h>
19+
#include <glog/logging.h>
20+
21+
namespace dingodb {
22+
23+
static bool PassDouble(const char*, double) { return true; }
24+
static bool PassInt64(const char*, int64_t) { return true; }
25+
static bool PassUint64(const char*, uint64_t) { return true; }
26+
static bool PassInt32(const char*, int32_t) { return true; }
27+
static bool PassUint32(const char*, uint32_t) { return true; }
28+
static bool PassBool(const char*, bool) { return true; }
29+
30+
} // namespace dingodb
31+
32+
#endif // DINGODB_COMMON_GFLAG_VALIDATATOR_H_

src/engine/txn_engine_helper.cc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
#include "butil/status.h"
3333
#include "bvar/latency_recorder.h"
3434
#include "common/constant.h"
35+
#include "common/gflag_validator.h"
3536
#include "common/helper.h"
3637
#include "common/logging.h"
3738
#include "common/stream.h"
@@ -52,6 +53,7 @@
5253
#include "rocksdb/sst_file_reader.h"
5354
#include "server/server.h"
5455
#include "vector/codec.h"
56+
5557
namespace dingodb {
5658

5759
DEFINE_int64(max_short_value_in_write_cf, 256, "max short value in write cf");
@@ -74,6 +76,10 @@ DEFINE_int64(max_restore_count, 100000, "max restore count");
7476
DECLARE_int64(stream_message_max_bytes);
7577
DECLARE_int64(stream_message_max_limit_size);
7678

79+
DEFINE_validator(dingo_log_switch_txn_detail, &PassBool);
80+
DEFINE_validator(dingo_log_switch_txn_gc_detail, &PassBool);
81+
DEFINE_validator(dingo_log_switch_backup_detail, &PassBool);
82+
7783
butil::Status TxnReader::Init() {
7884
if (is_initialized_) {
7985
return butil::Status::OK();

0 commit comments

Comments
 (0)