[
https://issues.apache.org/jira/browse/HBASE-28175?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17779686#comment-17779686
]
Ray Mattingly edited comment on HBASE-28175 at 10/25/23 9:54 PM:
-----------------------------------------------------------------
I believe I've confirmed that deep copying the Message field in the
RpcLogDetails' constructor is an effective solution here. I'm heading on
vacation soon, but will open up a PR here either tomorrow before I leave, or
later next week when I'm back.
was (Author: JIRAUSER286879):
I believe I've confirmed that deep copying the RpcLogDetails Message field is
an effective solution here. I'm heading on vacation soon, but will open up a PR
here either tomorrow before I leave, or later next week when I'm back.
> RpcLogDetails' Message can become corrupt before log is consumed
> ----------------------------------------------------------------
>
> Key: HBASE-28175
> URL: https://issues.apache.org/jira/browse/HBASE-28175
> Project: HBase
> Issue Type: Bug
> Reporter: Ray Mattingly
> Assignee: Ray Mattingly
> Priority: Major
>
> The RpcLogDetails class represents a slow (or large) log event which will
> later be consumed by the SlowLogQueueService.
> Right now the RpcLogDetails' param field points to the slow call's Message,
> and this Message is backed by a CodedInputStream which may be overwritten
> before the given log is consumed. This overwriting of the Message may result
> in slow query payloads for which the metadata derived post-consumption is
> inaccurate.
> To solve this bug I think we need to copy the Message in the RpcLogDetails
> constructor. I have this bug reproduced in a QA environment and will test out
> this idea and open a PR shortly if the test results are promising.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)