#At file:///home/jonas/src/telco-6.4/ based on revid:frazer@stripped
3079 Jonas Oreland 2009-10-06
ndb - bug#47859 - make sure enough buffer is available before copying another table during NR
modified:
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
=== modified file 'storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp'
--- a/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2009-10-01 07:16:52 +0000
+++ b/storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp 2009-10-06 12:06:19 +0000
@@ -4118,6 +4118,17 @@ Dbdict::restartCreateObj_parse(Signal* s
c_restartRecord.m_op_cnt++;
+ if (OpSectionBuffer::getSegmentSize() *
+ c_opSectionBufferPool.getNoOfFree() < MAX_WORDS_META_FILE)
+ {
+ jam();
+ /**
+ * Commit transaction now...so we don't risk overflowing
+ * c_opSectionBufferPool
+ */
+ c_restartRecord.m_op_cnt = ZRESTART_OPS_PER_TRANS;
+ }
+
if (c_restartRecord.m_op_cnt >= ZRESTART_OPS_PER_TRANS)
{
jam();
@@ -4205,6 +4216,17 @@ Dbdict::restartDropObj(Signal* signal,
c_restartRecord.m_op_cnt++;
+ if (OpSectionBuffer::getSegmentSize() *
+ c_opSectionBufferPool.getNoOfFree() < MAX_WORDS_META_FILE)
+ {
+ jam();
+ /**
+ * Commit transaction now...so we don't risk overflowing
+ * c_opSectionBufferPool
+ */
+ c_restartRecord.m_op_cnt = ZRESTART_OPS_PER_TRANS;
+ }
+
if (c_restartRecord.m_op_cnt >= ZRESTART_OPS_PER_TRANS)
{
jam();
Attachment: [text/bzr-bundle] bzr/jonas@mysql.com-20091006120619-9lay6vtt3yh8b65o.bundle
| Thread |
|---|
| • bzr commit into mysql-5.1-telco-7.0 branch (jonas:3079) Bug#47859 | Jonas Oreland | 6 Oct |