diff --git a/deps/xredis-gtid b/deps/xredis-gtid index d3d3fe6669a..59dc251d0fc 160000 --- a/deps/xredis-gtid +++ b/deps/xredis-gtid @@ -1 +1 @@ -Subproject commit d3d3fe6669a21c5b1613b41e5d054de64f55d0b6 +Subproject commit 59dc251d0fc94b0cf442788908d4581fd5301716 diff --git a/redis.conf b/redis.conf index 2fdef8c912f..980031ac531 100644 --- a/redis.conf +++ b/redis.conf @@ -2063,4 +2063,4 @@ jemalloc-bg-thread yes gtid-enabled no # If master & slave gtid gap is less than max-gap, xsync will continue. -# gtid-xsync-max-gap 10000 +# gtid-xsync-max-gap 60000 diff --git a/ror.conf b/ror.conf index 210a0e5caf5..359e6d49339 100644 --- a/ror.conf +++ b/ror.conf @@ -2548,5 +2548,5 @@ rocksdb.ratelimiter.rate_per_sec 1024mb gtid-enabled no # If master & slave gtid gap is less than max-gap, xsync will continue. -# gtid-xsync-max-gap 10000 +# gtid-xsync-max-gap 60000 diff --git a/src/config.c b/src/config.c index d72b31e7bfc..456b5ee9ffa 100644 --- a/src/config.c +++ b/src/config.c @@ -2470,6 +2470,15 @@ static int updateMaxmemory(long long val, long long prev, const char **err) { } return 1; } + +static int updateGtidXsyncMaxGap(long long val, long long prev, const char **err) {; + UNUSED(err); + if (val != prev) { + gtidGaplogResetDataSize(server.gtid_gap_log, val); + } + return 1; +} + #ifdef ENABLE_SWAP static int updateSwapAbsentCacheCapacity(long long val, long long prev, const char **err) { UNUSED(prev); @@ -3166,7 +3175,7 @@ standardConfig configs[] = { createULongLongConfig("swap-sst-age-limit-refresh-period", NULL, MODIFIABLE_CONFIG, 1, 3600*24, server.swap_sst_age_limit_refresh_period, 60, INTEGER_CONFIG, NULL, NULL), createULongLongConfig("swap-swap-info-slave-period", NULL, MODIFIABLE_CONFIG, 1, 3600*24, server.swap_swap_info_slave_period, 60, INTEGER_CONFIG, NULL, NULL), #endif - createULongLongConfig("gtid-xsync-max-gap", NULL, MODIFIABLE_CONFIG, 0, ULLONG_MAX, server.gtid_xsync_max_gap, 10000, INTEGER_CONFIG, NULL, NULL), + createULongLongConfig("gtid-xsync-max-gap", NULL, MODIFIABLE_CONFIG, 0, ULLONG_MAX, server.gtid_xsync_max_gap, 60000, INTEGER_CONFIG, NULL, updateGtidXsyncMaxGap), /* Size_t configs */ createSizeTConfig("hash-max-ziplist-entries", NULL, MODIFIABLE_CONFIG, 0, LONG_MAX, server.hash_max_ziplist_entries, 512, INTEGER_CONFIG, NULL, NULL), diff --git a/src/server.c b/src/server.c index 58669642dd1..5d73c4a3f80 100644 --- a/src/server.c +++ b/src/server.c @@ -3521,7 +3521,7 @@ void initServer(void) { server.gtid_lost = gtidSetNew(); xsyncUuidInterestedInit(); gtidInitialInfoInit(server.gtid_initial); - server.gtid_gap_log = gtidGaplogNew(); + server.gtid_gap_log = gtidGaplogNew(server.gtid_xsync_max_gap); server.gtid_xsync_fullresync_indicator = 0; server.gtid_executed_cmd_count = 0; server.gtid_ignored_cmd_count = 0;