correct event buffer status reporting

parent 6f5ac3c0
......@@ -652,9 +652,9 @@ void getTextEventBufferStatus(QQQQ) {
"Event buffer status: used=%d%s(%d%) alloc=%d%s(%d%) "
"max=%d%s apply_gci=%lld latest_gci=%lld",
used, used_unit,
theData[2] ? (theData[1]*100)/theData[2] : 0,
theData[2] ? (Uint32)((((Uint64)theData[1])*100)/theData[2]) : 0,
alloc, alloc_unit,
theData[3] ? (theData[2]*100)/theData[3] : 0,
theData[3] ? (Uint32)((((Uint64)theData[2])*100)/theData[3]) : 0,
max_, max_unit,
theData[4]+(((Uint64)theData[5])<<32),
theData[6]+(((Uint64)theData[7])<<32));
......
......@@ -2100,15 +2100,17 @@ NdbEventBuffer::alloc_mem(EventBufData* data,
NdbMem_Free((char*)data->memory);
assert(m_total_alloc >= data->sz);
m_total_alloc -= data->sz;
data->memory = 0;
data->sz = 0;
data->memory = (Uint32*)NdbMem_Allocate(alloc_size);
if (data->memory == 0)
{
m_total_alloc -= data->sz;
DBUG_RETURN(-1);
}
data->sz = alloc_size;
m_total_alloc += data->sz;
m_total_alloc += add_sz;
if (change_sz != NULL)
*change_sz += add_sz;
......@@ -2780,7 +2782,7 @@ NdbEventBuffer::reportStatus()
else
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)
{
/* report less free buffer than m_free_thresh,
......@@ -2791,7 +2793,7 @@ NdbEventBuffer::reportStatus()
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)
{
/* 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