提交 13d7033a authored 作者: noelgrandin@gmail.com's avatar noelgrandin@gmail.com

Fix bug in PageStore#commit method - when the ignoreBigLog flag was set,

the logic that cleared the flag could never be reached, resulting in performance degradation.
Reported by Alexander Nesterov.
上级 bbdadfce
......@@ -20,6 +20,9 @@ Change Log
<ul><li>MVStore: concurrent compaction and store operations could result in an IllegalStateException.
</li><li>Issue 594: Profiler.copyInThread does not work properly.
</li><li>Script tool: Fix parsing of BLOCKSIZE parameter, original patch by Ken Jorissen
</li><li>Fix bug in PageStore#commit method - when the ignoreBigLog flag was set,
the logic that cleared the flag could never be reached, resulting in performance degradation.
Reported by Alexander Nesterov.
</li></ul>
<h2>Version 1.4.184 Beta (2014-12-19)</h2>
......
......@@ -1478,9 +1478,6 @@ public class PageStore implements CacheWriter {
if (size - logSizeBase > maxLogSize / 2) {
int firstSection = log.getLogFirstSectionId();
checkpoint();
if (ignoreBigLog) {
return;
}
int newSection = log.getLogSectionId();
if (newSection - firstSection <= 2) {
// one section is always kept, and checkpoint
......@@ -1492,10 +1489,12 @@ public class PageStore implements CacheWriter {
ignoreBigLog = false;
return;
}
if (!ignoreBigLog) {
ignoreBigLog = true;
trace.error(null,
"Transaction log could not be truncated; size: " +
(newSize / 1024 / 1024) + " MB");
}
logSizeBase = log.getSize();
}
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论