ArafatKhan2198 opened a new pull request, #6950: URL: https://github.com/apache/ozone/pull/6950
## What changes were proposed in this pull request? ### Explanation of the Changes :- Map Structure Change: The `omdbLatestUpdateEvents` map has been changed from `Map<Object, OMDBUpdateEvent>` to `Map<String, Map<Object, OMDBUpdateEvent>>`. This nested map structure ensures that each table's events are stored separately, avoiding key collisions between different tables. Event Processing Logic: The `processEvent` method now uses the table name as the first-level key in the map. If a key already exists for a table, it retrieves the nested map and updates or adds the event. This change ensures that events from different tables with the same key structure are isolated and correctly processed. ### How it Fixes the Problem This change ensures that events from different tables with the same key structure do not overwrite each other, preventing the `ClassCastException` caused by fetching incorrect event types. By segregating events by table name, we avoid the corruption caused by key collisions, leading to more reliable event processing in Recon. ### Logs and Future Fixes We have previously added logs to capture events that could lead to `ClassCastException`. These logs help identify corrupted events generated from the OM side, which need to be fixed. Our changes in this patch address possible corruption in event creation on the Recon side. The root problem on the OM side persists and requires fixing. The logs added in the previous patch (**HDDS-8310**) will help report these issues, and we should wait for these logs to guide further fixes. ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-11187 ## How was this patch tested? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
