[
https://issues.apache.org/jira/browse/RATIS-2094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Duong updated RATIS-2094:
-------------------------
Summary: TransactionContext's stateMachineLogEntry and stateMachineContext
may cause corruption (was: TransactionContext's stateMachineLogEntry is
obtained without reference counter or copying)
> TransactionContext's stateMachineLogEntry and stateMachineContext may cause
> corruption
> --------------------------------------------------------------------------------------
>
> Key: RATIS-2094
> URL: https://issues.apache.org/jira/browse/RATIS-2094
> Project: Ratis
> Issue Type: Sub-task
> Reporter: Duong
> Assignee: Duong
> Priority: Major
>
> In RATIS-2020, we've changed access to LogEntry in TransactionContext to
> either via reference count (refer to the original zero-copy message) or
> copying (for backward compatibility).
> However, the same thing is not done for log entry derived data (data
> extracted from the original log entry or original message) like
> "stateMachineLogEntry" or even "getStateMachineContext". This allows
> StateMachine to use zero-copy data without obtaining a reference count or
> copying to decouple, hence corruption possibility.
> We should deprecate the getStateMachineLogEntry and getStateMachineContext
> and provide access via the reference counter instead.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)