[ 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)