Commit c73db035 authored by unknown's avatar unknown

correct event buffer status reporting

parent f184c817
...@@ -652,9 +652,9 @@ void getTextEventBufferStatus(QQQQ) { ...@@ -652,9 +652,9 @@ void getTextEventBufferStatus(QQQQ) {
"Event buffer status: used=%d%s(%d%) alloc=%d%s(%d%) " "Event buffer status: used=%d%s(%d%) alloc=%d%s(%d%) "
"max=%d%s apply_gci=%lld latest_gci=%lld", "max=%d%s apply_gci=%lld latest_gci=%lld",
used, used_unit, used, used_unit,
theData[2] ? (theData[1]*100)/theData[2] : 0, theData[2] ? (Uint32)((((Uint64)theData[1])*100)/theData[2]) : 0,
alloc, alloc_unit, alloc, alloc_unit,
theData[3] ? (theData[2]*100)/theData[3] : 0, theData[3] ? (Uint32)((((Uint64)theData[2])*100)/theData[3]) : 0,
max_, max_unit, max_, max_unit,
theData[4]+(((Uint64)theData[5])<<32), theData[4]+(((Uint64)theData[5])<<32),
theData[6]+(((Uint64)theData[7])<<32)); theData[6]+(((Uint64)theData[7])<<32));
......
...@@ -2100,15 +2100,17 @@ NdbEventBuffer::alloc_mem(EventBufData* data, ...@@ -2100,15 +2100,17 @@ NdbEventBuffer::alloc_mem(EventBufData* data,
NdbMem_Free((char*)data->memory); NdbMem_Free((char*)data->memory);
assert(m_total_alloc >= data->sz); assert(m_total_alloc >= data->sz);
m_total_alloc -= data->sz;
data->memory = 0; data->memory = 0;
data->sz = 0; data->sz = 0;
data->memory = (Uint32*)NdbMem_Allocate(alloc_size); data->memory = (Uint32*)NdbMem_Allocate(alloc_size);
if (data->memory == 0) if (data->memory == 0)
{
m_total_alloc -= data->sz;
DBUG_RETURN(-1); DBUG_RETURN(-1);
}
data->sz = alloc_size; data->sz = alloc_size;
m_total_alloc += data->sz; m_total_alloc += add_sz;
if (change_sz != NULL) if (change_sz != NULL)
*change_sz += add_sz; *change_sz += add_sz;
...@@ -2780,7 +2782,7 @@ NdbEventBuffer::reportStatus() ...@@ -2780,7 +2782,7 @@ NdbEventBuffer::reportStatus()
else else
apply_gci= latest_gci; apply_gci= latest_gci;
if (100*m_free_data_sz < m_min_free_thresh*m_total_alloc && if (100*(Uint64)m_free_data_sz < m_min_free_thresh*(Uint64)m_total_alloc &&
m_total_alloc > 1024*1024) m_total_alloc > 1024*1024)
{ {
/* report less free buffer than m_free_thresh, /* report less free buffer than m_free_thresh,
...@@ -2791,7 +2793,7 @@ NdbEventBuffer::reportStatus() ...@@ -2791,7 +2793,7 @@ NdbEventBuffer::reportStatus()
goto send_report; goto send_report;
} }
if (100*m_free_data_sz > m_max_free_thresh*m_total_alloc && if (100*(Uint64)m_free_data_sz > m_max_free_thresh*(Uint64)m_total_alloc &&
m_total_alloc > 1024*1024) m_total_alloc > 1024*1024)
{ {
/* report more free than 2 * m_free_thresh /* report more free than 2 * m_free_thresh
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment