You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ozone.apache.org by "Attila Doroszlai (Jira)" <ji...@apache.org> on 2023/07/03 14:21:00 UTC

[jira] [Updated] (HDDS-8734) OM DB cache metrics creation should be idempotent

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

Attila Doroszlai updated HDDS-8734:
-----------------------------------
    Description: 
When a cache metrics being registered for any OM DB table, it should check if cache metrics already registered or not. If it is already registered, then we should unregister first and allow registration.

Duplicate metrics prevent Recon full snapshot update:

{code}
org.apache.hadoop.metrics2.MetricsException: Metrics source userTableCache already exists!
        at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.newSourceName(DefaultMetricsSystem.java:152)
        at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.sourceName(DefaultMetricsSystem.java:125)
        at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.register(MetricsSystemImpl.java:229)
        at org.apache.hadoop.hdds.utils.TableCacheMetrics.create(TableCacheMetrics.java:67)
        at org.apache.hadoop.hdds.utils.db.TypedTable.createCacheMetrics(TypedTable.java:332)
        at org.apache.hadoop.ozone.om.OmMetadataManagerImpl.checkTableStatus(OmMetadataManagerImpl.java:429)
        at org.apache.hadoop.ozone.om.OmMetadataManagerImpl.initializeOmTables(OmMetadataManagerImpl.java:559)
        at org.apache.hadoop.ozone.recon.recovery.ReconOmMetadataManagerImpl.initializeNewRdbStore(ReconOmMetadataManagerImpl.java:103)
        at org.apache.hadoop.ozone.recon.recovery.ReconOmMetadataManagerImpl.updateOmDB(ReconOmMetadataManagerImpl.java:120)
        at org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl.updateReconOmDBWithNewSnapshot(OzoneManagerServiceProviderImpl.java:384)
        at org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl.syncDataFromOM(OzoneManagerServiceProviderImpl.java:527)
        at org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl.lambda$startSyncDataFromOM$0(OzoneManagerServiceProviderImpl.java:258)
{code}

  was:When a cache metrics being registered for any OM DB table, it should check if cache metrics already registered or not. If it is already registered, then we should unregister first and allow registration. 


> OM DB cache metrics creation should be idempotent
> -------------------------------------------------
>
>                 Key: HDDS-8734
>                 URL: https://issues.apache.org/jira/browse/HDDS-8734
>             Project: Apache Ozone
>          Issue Type: Bug
>          Components: Ozone Manager
>            Reporter: Devesh Kumar Singh
>            Assignee: Devesh Kumar Singh
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.4.0
>
>
> When a cache metrics being registered for any OM DB table, it should check if cache metrics already registered or not. If it is already registered, then we should unregister first and allow registration.
> Duplicate metrics prevent Recon full snapshot update:
> {code}
> org.apache.hadoop.metrics2.MetricsException: Metrics source userTableCache already exists!
>         at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.newSourceName(DefaultMetricsSystem.java:152)
>         at org.apache.hadoop.metrics2.lib.DefaultMetricsSystem.sourceName(DefaultMetricsSystem.java:125)
>         at org.apache.hadoop.metrics2.impl.MetricsSystemImpl.register(MetricsSystemImpl.java:229)
>         at org.apache.hadoop.hdds.utils.TableCacheMetrics.create(TableCacheMetrics.java:67)
>         at org.apache.hadoop.hdds.utils.db.TypedTable.createCacheMetrics(TypedTable.java:332)
>         at org.apache.hadoop.ozone.om.OmMetadataManagerImpl.checkTableStatus(OmMetadataManagerImpl.java:429)
>         at org.apache.hadoop.ozone.om.OmMetadataManagerImpl.initializeOmTables(OmMetadataManagerImpl.java:559)
>         at org.apache.hadoop.ozone.recon.recovery.ReconOmMetadataManagerImpl.initializeNewRdbStore(ReconOmMetadataManagerImpl.java:103)
>         at org.apache.hadoop.ozone.recon.recovery.ReconOmMetadataManagerImpl.updateOmDB(ReconOmMetadataManagerImpl.java:120)
>         at org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl.updateReconOmDBWithNewSnapshot(OzoneManagerServiceProviderImpl.java:384)
>         at org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl.syncDataFromOM(OzoneManagerServiceProviderImpl.java:527)
>         at org.apache.hadoop.ozone.recon.spi.impl.OzoneManagerServiceProviderImpl.lambda$startSyncDataFromOM$0(OzoneManagerServiceProviderImpl.java:258)
> {code}



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@ozone.apache.org
For additional commands, e-mail: issues-help@ozone.apache.org