[ 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)