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

Jean-Daniel Cryans resolved HBASE-11188.
----------------------------------------

      Resolution: Fixed
    Release Note: 
Region servers with the default value for hbase.metrics.showTableName will stop 
showing the error message "ERROR 
org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics: Inconsistent 
configuration. Previous configuration for using table name in metrics: true, 
new configuration: false".
Region servers configured with hbase.metrics.showTableName=false should now get 
a message like this one: "ERROR 
org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics: Inconsistent 
configuration. Previous configuration for using table name in metrics: false, 
new configuration: true", and it's nothing to be concerned about.
    Hadoop Flags: Reviewed

Grazie Matteo, I committed the patch to 0.94

> "Inconsistent configuration" for SchemaMetrics is always shown
> --------------------------------------------------------------
>
>                 Key: HBASE-11188
>                 URL: https://issues.apache.org/jira/browse/HBASE-11188
>             Project: HBase
>          Issue Type: Bug
>          Components: metrics
>    Affects Versions: 0.94.19
>            Reporter: Jean-Daniel Cryans
>            Assignee: Jean-Daniel Cryans
>             Fix For: 0.94.20
>
>         Attachments: HBASE-11188-0.94-v2.patch, HBASE-11188-0.94.patch
>
>
> Some users have been complaining about this message:
> {noformat}
> ERROR org.apache.hadoop.hbase.regionserver.metrics.SchemaMetrics: 
> Inconsistent configuration. Previous configuration for using table name in 
> metrics: true, new configuration: false
> {noformat}
> The interesting thing is that we see it with default configurations, which 
> made me think that some code path must have been passing the wrong thing. I 
> found that if SchemaConfigured is passed a null Configuration in its 
> constructor that it will then pass null to SchemaMetrics#configureGlobally 
> which will interpret useTableName as being false:
> {code}
>   public static void configureGlobally(Configuration conf) {
>     if (conf != null) {
>       final boolean useTableNameNew =
>           conf.getBoolean(SHOW_TABLE_NAME_CONF_KEY, false);
>       setUseTableName(useTableNameNew);
>     } else {
>       setUseTableName(false);
>     }
>   }
> {code}
> It should be set to true since that's the new default, meaning we missed it 
> in HBASE-5671.
> I found one code path that passes a null configuration, StoreFile.Reader 
> extends SchemaConfigured and uses the constructor that only passes a Path, so 
> the Configuration is set to null.
> I'm planning on just passing true instead of false, fixing the problem for 
> almost everyone (those that disable this feature will get the error message). 
> IMO it's not worth more efforts since it's a 0.94-only problem and it's not 
> actually doing anything bad.
> I'm closing both HBASE-10990 and HBASE-10946 as duplicates.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to