[jira] [Updated] (HBASE-11188) Inconsistent configuration for SchemaMetrics is always shown

2014-05-16 Thread Jean-Daniel Cryans (JIRA)

 [ 
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

2014-05-16 Thread Jean-Daniel Cryans (JIRA)

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