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

ASF GitHub Bot updated HDDS-17705:
----------------------------------
    Labels: pull-request-available  (was: )

> Recon stops the OM metadata manager before the OM DB sync scheduler has 
> terminated
> ----------------------------------------------------------------------------------
>
>                 Key: HDDS-17705
>                 URL: https://issues.apache.org/jira/browse/HDDS-17705
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Recon
>            Reporter: Siyao Meng
>            Assignee: Andy Huang
>            Priority: Minor
>              Labels: pull-request-available
>
> {{OzoneManagerServiceProviderImpl.stop()}} stops the Recon OM metadata 
> manager before the OM DB sync scheduler:
> {code:java}
> reconTaskController.stop();
> omMetadataManager.stop();
> scheduler.shutdownNow();
> {code}
> {{shutdownNow()}} only interrupts the sync thread and does not wait for it. A 
> full snapshot or delta sync that is running while Recon stops can therefore 
> keep using the OM DB store after {{omMetadataManager.stop()}} closed it, or 
> call {{updateOmDB}} after the stop and open a new store and table caches that 
> are never closed. {{OmMetadataManagerImpl.stop()}} also iterates 
> {{tableCacheMetricsMap}} (and, with HDDS-17460, {{tableMap}}), plain 
> {{HashMap}}s that {{updateOmDB}} replaces entries in from the sync thread, so 
> the stop can fail with {{ConcurrentModificationException}}.
> This only affects Recon shutdown while a sync is in progress.
> Proposed fix: in {{stop()}}, call the existing {{stopSyncDataFromOMThread()}} 
> (shutdown, then await termination) before stopping the task controller and 
> the metadata manager.
> Found in review of https://github.com/apache/ozone/pull/11894.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to