Merge error, server always flushes on eviction
Former-commit-id: 9b3b0c9a40ab5dcdac9620f0fbad84887cc9c832
This commit is contained in:
parent
69a4ab0851
commit
ad174ab352
@ -678,7 +678,7 @@ int freeMemoryIfNeeded(bool fPreSnapshot) {
|
|||||||
result = C_OK;
|
result = C_OK;
|
||||||
|
|
||||||
cant_free:
|
cant_free:
|
||||||
if (!cserver.delete_on_evict)
|
if (!cserver.delete_on_evict && result != C_OK)
|
||||||
{
|
{
|
||||||
for (int idb = 0; idb < cserver.dbnum; ++idb)
|
for (int idb = 0; idb < cserver.dbnum; ++idb)
|
||||||
{
|
{
|
||||||
@ -688,7 +688,7 @@ cant_free:
|
|||||||
serverLog(LL_WARNING, "Failed to evict keys, falling back to flushing entire cache. Consider increasing maxmemory-samples.");
|
serverLog(LL_WARNING, "Failed to evict keys, falling back to flushing entire cache. Consider increasing maxmemory-samples.");
|
||||||
db->removeAllCachedValues();
|
db->removeAllCachedValues();
|
||||||
if (((mem_reported - zmalloc_used_memory()) + mem_freed) >= mem_tofree)
|
if (((mem_reported - zmalloc_used_memory()) + mem_freed) >= mem_tofree)
|
||||||
return C_OK;
|
result = C_OK;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,6 +130,9 @@ start_server [list tags {flash} overrides [list storage-provider {flash ./rocks.
|
|||||||
} err
|
} err
|
||||||
assert {$err == {OK}}
|
assert {$err == {OK}}
|
||||||
}
|
}
|
||||||
|
if {[log_file_matches [srv 0 stdout] "*Failed to evict*"]} {
|
||||||
|
fail "Server did not evict cleanly (detected full flush)"
|
||||||
|
}
|
||||||
r set last val
|
r set last val
|
||||||
set dbsize [r dbsize]
|
set dbsize [r dbsize]
|
||||||
assert {[s used_memory] < $limit+4096}
|
assert {[s used_memory] < $limit+4096}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user