mirror of
https://github.com/MariaDB/server.git
synced 2025-09-02 09:41:40 +03:00
Merge perch.ndb.mysql.com:/home/jonas/src/50-ndb
into perch.ndb.mysql.com:/home/jonas/src/51-ndb
This commit is contained in:
@@ -326,16 +326,18 @@ Backup::execCONTINUEB(Signal* signal)
|
|||||||
ptr.p->files.getPtr(filePtr, ptr.p->ctlFilePtr);
|
ptr.p->files.getPtr(filePtr, ptr.p->ctlFilePtr);
|
||||||
FsBuffer & buf = filePtr.p->operation.dataBuffer;
|
FsBuffer & buf = filePtr.p->operation.dataBuffer;
|
||||||
|
|
||||||
if(buf.getFreeSize() + buf.getMinRead() < buf.getUsableSize()) {
|
if(buf.getFreeSize() < buf.getMaxWrite()) {
|
||||||
jam();
|
jam();
|
||||||
TablePtr tabPtr LINT_SET_PTR;
|
TablePtr tabPtr LINT_SET_PTR;
|
||||||
c_tablePool.getPtr(tabPtr, Tdata2);
|
c_tablePool.getPtr(tabPtr, Tdata2);
|
||||||
|
|
||||||
DEBUG_OUT("Backup - Buffer full - " << buf.getFreeSize()
|
DEBUG_OUT("Backup - Buffer full - "
|
||||||
<< " + " << buf.getMinRead()
|
<< buf.getFreeSize()
|
||||||
<< " < " << buf.getUsableSize()
|
<< " < " << buf.getMaxWrite()
|
||||||
<< " - tableId = " << tabPtr.p->tableId);
|
<< " (sz: " << buf.getUsableSize()
|
||||||
|
<< " getMinRead: " << buf.getMinRead()
|
||||||
|
<< ") - tableId = " << tabPtr.p->tableId);
|
||||||
|
|
||||||
signal->theData[0] = BackupContinueB::BUFFER_FULL_META;
|
signal->theData[0] = BackupContinueB::BUFFER_FULL_META;
|
||||||
signal->theData[1] = Tdata1;
|
signal->theData[1] = Tdata1;
|
||||||
signal->theData[2] = Tdata2;
|
signal->theData[2] = Tdata2;
|
||||||
|
@@ -557,8 +557,8 @@ public:
|
|||||||
NDB_TICKS m_reset_disk_speed_time;
|
NDB_TICKS m_reset_disk_speed_time;
|
||||||
static const int DISK_SPEED_CHECK_DELAY = 100;
|
static const int DISK_SPEED_CHECK_DELAY = 100;
|
||||||
|
|
||||||
STATIC_CONST(NO_OF_PAGES_META_FILE =
|
STATIC_CONST(NO_OF_PAGES_META_FILE =
|
||||||
(MAX_WORDS_META_FILE + BACKUP_WORDS_PER_PAGE - 1) /
|
(2*MAX_WORDS_META_FILE + BACKUP_WORDS_PER_PAGE - 1) /
|
||||||
BACKUP_WORDS_PER_PAGE);
|
BACKUP_WORDS_PER_PAGE);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -46,8 +46,8 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Seize element from pool - return i
|
* Seize element from pool - return i
|
||||||
*
|
*
|
||||||
* Note must be either added using <b>add</b> or released
|
* Note *must* be added using <b>add</b> (even before hash.release)
|
||||||
* using <b>release</b>
|
* or be released using pool
|
||||||
*/
|
*/
|
||||||
bool seize(Ptr<T> &);
|
bool seize(Ptr<T> &);
|
||||||
|
|
||||||
@@ -360,7 +360,14 @@ DLHashTableImpl<P, T, U>::remove(Ptr<T> & ptr)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const Uint32 hv = ptr.p->hashValue() & mask;
|
const Uint32 hv = ptr.p->hashValue() & mask;
|
||||||
hashValues[hv] = next;
|
if (hashValues[hv] == ptr.i)
|
||||||
|
{
|
||||||
|
hashValues[hv] = next;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Will add assert in 5.1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next != RNIL)
|
if(next != RNIL)
|
||||||
@@ -386,7 +393,14 @@ DLHashTableImpl<P, T, U>::release(Ptr<T> & ptr)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
const Uint32 hv = ptr.p->hashValue() & mask;
|
const Uint32 hv = ptr.p->hashValue() & mask;
|
||||||
hashValues[hv] = next;
|
if (hashValues[hv] == ptr.i)
|
||||||
|
{
|
||||||
|
hashValues[hv] = next;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Will add assert in 5.1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next != RNIL)
|
if(next != RNIL)
|
||||||
|
@@ -42,8 +42,8 @@ public:
|
|||||||
/**
|
/**
|
||||||
* Seize element from pool - return i
|
* Seize element from pool - return i
|
||||||
*
|
*
|
||||||
* Note must be either added using <b>add</b> or released
|
* Note *must* be added using <b>add</b> (even before hash.release)
|
||||||
* using <b>release</b>
|
* or be released using pool
|
||||||
*/
|
*/
|
||||||
bool seize(Ptr<T> &);
|
bool seize(Ptr<T> &);
|
||||||
|
|
||||||
@@ -374,7 +374,14 @@ DLHashTable2<T, U>::remove(Ptr<T> & ptr){
|
|||||||
prevP->nextHash = next;
|
prevP->nextHash = next;
|
||||||
} else {
|
} else {
|
||||||
const Uint32 hv = ptr.p->hashValue() & mask;
|
const Uint32 hv = ptr.p->hashValue() & mask;
|
||||||
hashValues[hv] = next;
|
if (hashValues[hv] == ptr.i)
|
||||||
|
{
|
||||||
|
hashValues[hv] = next;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Will add assert in 5.1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next != RNIL){
|
if(next != RNIL){
|
||||||
@@ -395,7 +402,14 @@ DLHashTable2<T, U>::release(Ptr<T> & ptr){
|
|||||||
prevP->nextHash = next;
|
prevP->nextHash = next;
|
||||||
} else {
|
} else {
|
||||||
const Uint32 hv = ptr.p->hashValue() & mask;
|
const Uint32 hv = ptr.p->hashValue() & mask;
|
||||||
hashValues[hv] = next;
|
if (hashValues[hv] == ptr.i)
|
||||||
|
{
|
||||||
|
hashValues[hv] = next;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Will add assert in 5.1
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(next != RNIL){
|
if(next != RNIL){
|
||||||
|
Reference in New Issue
Block a user