[jira] [Updated] (HBASE-11188) Inconsistent configuration for SchemaMetrics is always shown
[ https://issues.apache.org/jira/browse/HBASE-11188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Daniel Cryans updated HBASE-11188: --- Attachment: HBASE-11188-0.94.patch Proposing this one-liner patch, passes both TestSchemaConfigured and TestSchemaMetrics. 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)
[jira] [Updated] (HBASE-11188) Inconsistent configuration for SchemaMetrics is always shown
[ https://issues.apache.org/jira/browse/HBASE-11188?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jean-Daniel Cryans updated HBASE-11188: --- Attachment: HBASE-11188-0.94-v2.patch To be extra correct there's another line that should default to true, attaching the patch. 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)