reserve more memory to receive mysql packets in case of out of tenant memory
This commit is contained in:
@ -261,7 +261,6 @@ int ObRandomOSSReader::get_file_size(int64_t &file_size)
|
||||
/**
|
||||
* ObPacketStreamFileReader
|
||||
*/
|
||||
|
||||
class CSMemPoolAdaptor : public obmysql::ObICSMemPool
|
||||
{
|
||||
public:
|
||||
@ -285,7 +284,8 @@ ObPacketStreamFileReader::ObPacketStreamFileReader(ObIAllocator &allocator)
|
||||
packet_handle_(NULL),
|
||||
session_(NULL),
|
||||
timeout_ts_(INT64_MAX),
|
||||
arena_allocator_(allocator),
|
||||
// OB_MALLOC_MIDDLE_BLOCK_SIZE 64K. one mysql packet is about 16K
|
||||
arena_allocator_(allocator, OB_MALLOC_MIDDLE_BLOCK_SIZE),
|
||||
cached_packet_(NULL),
|
||||
received_size_(0),
|
||||
read_size_(0),
|
||||
|
||||
@ -191,6 +191,7 @@ private:
|
||||
// As we read a packet from client, the NIO store the data into the NIO buffer
|
||||
// and allocate an ObPacket by an allocator(arena_allocator_). The ObPacket(cached_packet_)
|
||||
// is cached in the memory of allocator.
|
||||
// NOTE: arena_allocator only ccache the size is smaller than it's page_size(8K,16K, etc)
|
||||
ObArenaAllocator arena_allocator_;
|
||||
obmysql::ObMySQLRawPacket *cached_packet_;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user