Skip to content

Commit 11ba0e6

Browse files
committed
fix a bug
1 parent f87508d commit 11ba0e6

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

database/db.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1529,7 +1529,8 @@ bool db_move_log_to_kvrocks(uint16_t epoch, uint64_t logId) {
15291529
}
15301530

15311531
bool db_move_logs_to_kvrocks_by_range(uint16_t epoch, long long fromLogId, long long toLogId) {
1532-
if (!g_redis || !g_kvrocks || fromLogId < 0 || toLogId < fromLogId) return false;
1532+
if (!g_redis || !g_kvrocks || toLogId < fromLogId) return false;
1533+
if (fromLogId < 0 || toLogId < 0) return true; // nothing to move
15331534

15341535
try {
15351536
// Build all keys for the range

database/garbageCleaner.cpp

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,15 @@ bool cleanTransactionAndLogsAndSaveToDisk(TickData& td, LogRangesPerTxInTick& lr
2626
long long min_log_id = INTMAX_MAX;
2727
long long max_log_id = -1;
2828
lr.getMinMax(min_log_id, max_log_id);
29-
if (!db_move_logs_to_kvrocks_by_range(td.epoch, min_log_id, max_log_id - 1))
29+
if (min_log_id != -1 && max_log_id != -1)
3030
{
31-
Logger::get()->error("Failed to add transactions to kvrocks for tick {} - epoch {}", td.tick, td.epoch);
32-
return false;
31+
if (!db_move_logs_to_kvrocks_by_range(td.epoch, min_log_id, max_log_id - 1))
32+
{
33+
Logger::get()->error("Failed to move logs to kvrocks for tick {} - epoch {}", td.tick, td.epoch);
34+
return false;
35+
}
36+
db_delete_logs(td.epoch, min_log_id, max_log_id - 1);
3337
}
34-
db_delete_logs(td.epoch, min_log_id, max_log_id - 1);
3538
return true;
3639
}
3740
void compressTickAndMoveToKVRocks(uint32_t tick, FullTickStruct& full, std::vector<TickVote>& votes, std::vector<char>& compressedBuffer)

0 commit comments

Comments
 (0)