Maxim Vershinin created FLINK-36090:
---------------------------------------
Summary: Bug with IngestDB restore operation for priority queue
state in backend
Key: FLINK-36090
URL: https://issues.apache.org/jira/browse/FLINK-36090
Project: Flink
Issue Type: Bug
Components: Runtime / State Backends
Affects Versions: 2.0.0
Reporter: Maxim Vershinin
*Summary:* Incorrect handling of priority queue states in IngestDB during
restoring due to missing {{equals()}} and {{hashCode()}} methods in
{{{}RegisteredPriorityQueueStateBackendMetaInfo{}}}.
*Problem Description:*
During the restoration of IngestDB in my Flink project, an issue was identified
where the priority queue states are not managed correctly in the backend. The
problem stems from the absence of {{equals()}} and {{hashCode()}} methods in
the {{RegisteredPriorityQueueStateBackendMetaInfo}} class.
In particular, within the {{exportColumnFamiliesWithSstDataInKeyGroupsRange}}
method of the {{RocksDBIncrementalRestoreOperation}} class, if the state is a
priority queue, identical states from different subtasks are erroneously
treated as distinct states within the {{exportedColumnFamiliesOut}} map. This
leads to inconsistent behavior and errors during the restoration process.
*Proposed Solution:*
To address this issue, add {{equals()}} and {{hashCode()}} methods to the
{{RegisteredPriorityQueueStateBackendMetaInfo}} class. Implementing these
methods will ensure that priority queue states are accurately recognized and
handled across different subtasks, thereby preventing errors during IngestDB
restoration.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)