[ 
https://issues.apache.org/jira/browse/FLINK-36090?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Maxim Vershinin updated FLINK-36090:
------------------------------------
    Description: 
*Summary:* Incorrect handling of priority queue states in IngestDB during 
restoring due to missing {{equals()}} and {{hashCode()}} methods in 
{{{}RegisteredPriorityQueueStateBackendMetaInfo{}}}.

*Problem Description:*

During the restoring by 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 restoring 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 restoring 
by IngestDB.

 

  was:
*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.

 


> 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
>            Priority: Major
>              Labels: pull-request-available
>
> *Summary:* Incorrect handling of priority queue states in IngestDB during 
> restoring due to missing {{equals()}} and {{hashCode()}} methods in 
> {{{}RegisteredPriorityQueueStateBackendMetaInfo{}}}.
> *Problem Description:*
> During the restoring by 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 restoring 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 restoring 
> by IngestDB.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to