diff options
author | unknown <knielsen@knielsen-hq.org> | 2012-11-20 14:20:26 +0100 |
---|---|---|
committer | unknown <knielsen@knielsen-hq.org> | 2012-11-20 14:20:26 +0100 |
commit | 6058b654f798d094a475a3306bd8ecd3b6e865a0 (patch) | |
tree | 0262709fce346d9dc2125e44a5af7dda0ae8cfe6 /sql/log.h | |
parent | 807fef40fffbbb8e92564a52b902b504ba8cfcdc (diff) | |
download | mariadb-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.h | 2 |
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: |