mirror of
https://github.com/MariaDB/server.git
synced 2025-01-24 07:44:22 +01:00
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
This commit is contained in:
commit
b50f61e133
4 changed files with 29 additions and 5 deletions
|
@ -119,7 +119,8 @@ struct SubStartRef {
|
|||
Undefined = 1,
|
||||
NF_FakeErrorREF = 11,
|
||||
Busy = 701,
|
||||
NotMaster = 702
|
||||
NotMaster = 702,
|
||||
PartiallyConnected = 1421
|
||||
};
|
||||
|
||||
STATIC_CONST( SignalLength = 7 );
|
||||
|
|
|
@ -2396,6 +2396,16 @@ Suma::execSUB_START_REQ(Signal* signal){
|
|||
sendSubStartRef(signal, 1412);
|
||||
DBUG_VOID_RETURN;
|
||||
}
|
||||
|
||||
if (c_startup.m_restart_server_node_id == 0 &&
|
||||
!c_connected_nodes.get(refToNode(subscriberRef)))
|
||||
|
||||
{
|
||||
jam();
|
||||
sendSubStartRef(signal, SubStartRef::PartiallyConnected);
|
||||
return;
|
||||
}
|
||||
|
||||
DBUG_PRINT("info",("c_subscriberPool size: %d free: %d",
|
||||
c_subscriberPool.getSize(),
|
||||
c_subscriberPool.getNoOfFree()));
|
||||
|
|
|
@ -983,7 +983,7 @@ NdbEventOperationImpl::printAll()
|
|||
NdbEventBuffer::NdbEventBuffer(Ndb *ndb) :
|
||||
m_system_nodes(ndb->theImpl->theNoOfDBnodes),
|
||||
m_ndb(ndb),
|
||||
m_latestGCI(0),
|
||||
m_latestGCI(0), m_latest_complete_GCI(0),
|
||||
m_total_alloc(0),
|
||||
m_free_thresh(10),
|
||||
m_min_free_thresh(10),
|
||||
|
@ -1475,7 +1475,7 @@ NdbEventBuffer::execSUB_GCP_COMPLETE_REP(const SubGcpCompleteRep * const rep)
|
|||
, m_flush_gci
|
||||
#endif
|
||||
);
|
||||
|
||||
Uint32 idx = bucket - (Gci_container*)m_active_gci.getBase();
|
||||
if (unlikely(bucket == 0))
|
||||
{
|
||||
/**
|
||||
|
@ -1520,8 +1520,20 @@ NdbEventBuffer::execSUB_GCP_COMPLETE_REP(const SubGcpCompleteRep * const rep)
|
|||
}
|
||||
reportStatus();
|
||||
bzero(bucket, sizeof(Gci_container));
|
||||
bucket->m_gci = gci + ACTIVE_GCI_DIRECTORY_SIZE;
|
||||
bucket->m_gcp_complete_rep_count = m_system_nodes;
|
||||
if (likely(idx < ACTIVE_GCI_DIRECTORY_SIZE))
|
||||
{
|
||||
/**
|
||||
* Only "prepare" next GCI if we're in
|
||||
* the first 4 highest GCI's...else
|
||||
* this is somekind of "late" GCI...
|
||||
* which is only initialized to 0
|
||||
*
|
||||
* This to make sure we dont get several buckets with same GCI
|
||||
*/
|
||||
bucket->m_gci = gci + ACTIVE_GCI_DIRECTORY_SIZE;
|
||||
bucket->m_gcp_complete_rep_count = m_system_nodes;
|
||||
}
|
||||
|
||||
if(unlikely(m_latest_complete_GCI > gci))
|
||||
{
|
||||
complete_outof_order_gcis();
|
||||
|
|
|
@ -491,6 +491,7 @@ ErrorBundle ErrorCodes[] = {
|
|||
{ 1419, DMEC, SE, "Subscription already dropped" },
|
||||
|
||||
{ 1420, DMEC, TR, "Subscriber manager busy with adding/removing a table" },
|
||||
{ 1421, DMEC, SE, "Partially connected API in NdbOperation::execute()" },
|
||||
|
||||
{ 4004, DMEC, AE, "Attribute name or id not found in the table" },
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue