diff --git a/include/redis_command.h b/include/redis_command.h index 814bee50..162027fe 100644 --- a/include/redis_command.h +++ b/include/redis_command.h @@ -2873,7 +2873,13 @@ struct BLMPopCommand : public RedisMultiObjectCommand return false; } - return txservice::LocalCcShards::ClockTs() > ts_expired_; + auto clock_ts = txservice::LocalCcShards::ClockTs(); + if (clock_ts > ts_expired_) + { + DLOG(INFO) << "BLMPopCommand, expired, ClockTs: " << clock_ts + << ", ts_expired: " << ts_expired_; + } + return clock_ts > ts_expired_; } uint32_t NumOfFinishBlockCommands() const override diff --git a/src/redis_command.cpp b/src/redis_command.cpp index c9794b1e..f4b002c7 100644 --- a/src/redis_command.cpp +++ b/src/redis_command.cpp @@ -4977,6 +4977,7 @@ BLMPopCommand::BLMPopCommand(std::vector &&v_key, // into the related object. vct_key_ptrs_.push_back(std::move(vct_key)); vct_cmd_ptrs_.push_back(std::move(vct_cmd)); + DLOG(INFO) << "BLMPopCommand, ts_expired: " << ts_expired; } void BLMPopCommand::OutputResult(OutputHandler *reply) const @@ -11518,6 +11519,11 @@ std::tuple ParseRPushCommand( return {false, EloqKey(), RPushCommand()}; } + if ((args[1] == "blist1{t}" || args[1] == "blist2{t}") && args[2] == "foo") + { + DLOG(INFO) << "rpush : " << args[1] << " " << args[2]; + } + std::vector elements; elements.reserve(args.size() - 2); for (auto arg_it = args.begin() + 2; arg_it != args.end(); ++arg_it) diff --git a/src/redis_list_object.cpp b/src/redis_list_object.cpp index 4493482b..ff63da39 100644 --- a/src/redis_list_object.cpp +++ b/src/redis_list_object.cpp @@ -641,6 +641,12 @@ void RedisListObject::CommitLSet(int64_t index, EloqString &element) void RedisListObject::CommitRPush(std::vector &elements) { + if (list_object_.empty() && elements.size() == 1 && + elements[0].StringView() == "foo") + { + DLOG(INFO) << "Empty list object CommitRPush foo"; + } + for (auto &element : elements) { serialized_length_ += sizeof(uint32_t) + element.Length();