prefetch crashes intermittently when a snapshot exists
Former-commit-id: 4a2657023d5d8218c815ce77c2676fd53a634b3f
This commit is contained in:
parent
938d318596
commit
0594060e75
@ -3160,6 +3160,8 @@ void redisDbPersistentData::prefetchKeysAsync(client *c, parsed_command &command
|
|||||||
if (command.argc >= 2) {
|
if (command.argc >= 2) {
|
||||||
const char *cmd = szFromObj(command.argv[0]);
|
const char *cmd = szFromObj(command.argv[0]);
|
||||||
if (!strcasecmp(cmd, "set") || !strcasecmp(cmd, "get")) {
|
if (!strcasecmp(cmd, "set") || !strcasecmp(cmd, "get")) {
|
||||||
|
if (c->db->m_spdbSnapshotHOLDER != nullptr)
|
||||||
|
return; // this is dangerous enough without a snapshot around
|
||||||
auto h = dictSdsHash(szFromObj(command.argv[1]));
|
auto h = dictSdsHash(szFromObj(command.argv[1]));
|
||||||
for (int iht = 0; iht < 2; ++iht) {
|
for (int iht = 0; iht < 2; ++iht) {
|
||||||
auto hT = h & c->db->m_pdict->ht[iht].sizemask;
|
auto hT = h & c->db->m_pdict->ht[iht].sizemask;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user