summaryrefslogtreecommitdiff
path: root/sql/log.h
diff options
context:
space:
mode:
authorunknown <knielsen@knielsen-hq.org>2012-11-20 14:20:26 +0100
committerunknown <knielsen@knielsen-hq.org>2012-11-20 14:20:26 +0100
commit6058b654f798d094a475a3306bd8ecd3b6e865a0 (patch)
tree0262709fce346d9dc2125e44a5af7dda0ae8cfe6 /sql/log.h
parent807fef40fffbbb8e92564a52b902b504ba8cfcdc (diff)
downloadmariadb-git-6058b654f798d094a475a3306bd8ecd3b6e865a0.tar.gz
MDEV-3861: Assertion in TC_LOG_MMAP.
Root cause was that number of entries in commit checkpoint buffer was bigger than total available entries in the mmap()'ed score file. This causes TC_LOG_MMAP to run out of entries before even the first checkpoint is started, which causes a hang. Fixed by making sure we have fewer entries within one commit checkpoint than total available scorefile entries. Another part of this bug was discovery of severel unrelated bugs in TC_LOG_MMAP dating back to 5.1. These were fixed in 5.1 and will be merged up (the problem this patch fixes exists only in 10.0).
Diffstat (limited to 'sql/log.h')
-rw-r--r--sql/log.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sql/log.h b/sql/log.h
index 0e887b48462..3959411d83a 100644
--- a/sql/log.h
+++ b/sql/log.h
@@ -118,7 +118,7 @@ class TC_LOG_MMAP: public TC_LOG
struct pending_cookies {
uint count;
uint pending_count;
- ulong cookies[TC_LOG_PAGE_SIZE];
+ ulong cookies[TC_LOG_PAGE_SIZE/sizeof(my_xid)];
};
private: