[
https://issues.apache.org/jira/browse/TRAFODION-3236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16696475#comment-16696475
]
Guo Heng edited comment on TRAFODION-3236 at 11/24/18 2:44 AM:
---------------------------------------------------------------
The buffer is used messaging mxosrvr and TM process.
And the buffer la_recv_buffer_ddl is only works when the length of the current
buffer exceeds sizeof(Tm_Req_Msg_Type). It is enough by dynamically adjusting
the size of the array la_recv_buffer.
was (Author: 09heng):
It is due to buffer run, the buffer is used messaging mxosrvr and TM process.
When I performed GDB debugging on the TM process, I found that the size of the
source data is larger than the size of buffer which we defined.
In that case, here is the two numeric values which we were takes more concerns:
(unsigned)(pp_sre->sre_reqDataSize) = 273844
sizeof(Tm_Req_Msg_Type) = 6232
and it throws an exception and produces a core file.
Allocate receive buffer in tm_process_msg dynamically, instead of fixed the
buffer size at a const value, that we can avoid this problem.
> Create table failed due to an exception of java IO from HBase
> -------------------------------------------------------------
>
> Key: TRAFODION-3236
> URL: https://issues.apache.org/jira/browse/TRAFODION-3236
> Project: Apache Trafodion
> Issue Type: Improvement
> Components: dtm
> Affects Versions: 2.2.0
> Reporter: Guo Heng
> Assignee: Guo Heng
> Priority: Minor
>
> In the code file:
> [core/sqf/src/tm/tm.cpp|https://github.com/apache/trafodion/pull/1748/commits/be7c999b5cc27c74c5b8004158a2aa18236dd6d9#diff-fc1bfd76bb5a88b2fbcd581c90968da9]
> In the function definition of line 2788, there are two buffer definitions,
> la_recv_buffer and la_recv_buffer_ddl. Maybe we can avoid dynamically
> assigning la_recv_buffer_ddl. It is enough to use only la_recv_buffer, which
> simplifies the logic and reduces the heap pressure.
>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)