[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-20 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Component/s: (was: conf)

> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect. 
>  
> {code:java}
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = 
> HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
>  }
> {code}
>  
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
>  
> {code:java}
> public MasterFileSystem(Configuration conf) throws IOException{   
>   ...   
>   this.isSecurityEnabled = 
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
>   ... 
> }
> {code}
>  
> The doc in GitHub repo is also misleading (Giving upper-case value).
> {quote}As a distributed database, HBase must be able to authenticate users 
> and HBase services across an untrusted network. Clients and HBase services 
> are treated equivalently in terms of authentication (and this is the only 
> time we will draw such a distinction).
> There are currently three modes of authentication which are supported by 
> HBase today via the configuration property {{hbase.security.authentication}}
> {{1.SIMPLE}}
> {{2.KERBROS}}
> {{3.TOKEN}}
> {quote}
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect. 

 
{code:java}
 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {
   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
   if(peerConf.get("hbase.security.authentication").equals("kerberos")){
 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
 }
{code}
 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 
{code:java}
public MasterFileSystem(Configuration conf) throws IOException{   
  ...   
  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
  ... 
}
{code}
 

The doc in GitHub repo is also misleading (Giving upper-case value).
{quote}As a distributed database, HBase must be able to authenticate users and 
HBase services across an untrusted network. Clients and HBase services are 
treated equivalently in terms of authentication (and this is the only time we 
will draw such a distinction).

There are currently three modes of authentication which are supported by HBase 
today via the configuration property {{hbase.security.authentication}}

{{1.SIMPLE}}

{{2.KERBROS}}

{{3.TOKEN}}
{quote}
Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc.

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect. 

 
{code:java}
 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {
   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
   if(peerConf.get("hbase.security.authentication").equals("kerberos")){
 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
 }
{code}
 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 
{code:java}
public MasterFileSystem(Configuration conf) throws IOException{   
  ...   
  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
  ... 
}
{code}
 

The doc in GitHub repo is also misleading.
{quote}As a distributed database, HBase must be able to authenticate users and 
HBase services across an untrusted network. Clients and HBase services are 
treated equivalently in terms of authentication (and this is the only time we 
will draw such a distinction).

There are currently three modes of authentication which are supported by HBase 
today via the configuration property {{hbase.security.authentication}}

{{1.SIMPLE}}

{{2.KERBROS}}

{{3.TOKEN}}
{quote}
Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc.


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect. 
>  
> {code:java}
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = 
> HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  

[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect. 

 
{code:java}
 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {
   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
   if(peerConf.get("hbase.security.authentication").equals("kerberos")){
 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
 }
{code}
 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 
{code:java}
public MasterFileSystem(Configuration conf) throws IOException{   
  ...   
  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
  ... 
}
{code}
 

The doc in GitHub repo is also misleading.
{quote}As a distributed database, HBase must be able to authenticate users and 
HBase services across an untrusted network. Clients and HBase services are 
treated equivalently in terms of authentication (and this is the only time we 
will draw such a distinction).

There are currently three modes of authentication which are supported by HBase 
today via the configuration property {{hbase.security.authentication}}

{{1.SIMPLE}}

{{2.KERBROS}}

{{3.TOKEN}}
{quote}
Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc.

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect. 

 
{code:java}
 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {
   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
   if(peerConf.get("hbase.security.authentication").equals("kerberos")){
 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
 }
{code}
 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 
{code:java}
public MasterFileSystem(Configuration conf) throws IOException{   
  ...   
  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
  ... 
}
{code}
 

The doc in GitHub repo is also misleading.
{quote}As a distributed database, HBase must be able to authenticate users and 
HBase services across an untrusted network. Clients and HBase services are 
treated equivalently in terms of authentication (and this is the only time we 
will draw such a distinction).

There are currently three modes of authentication which are supported by HBase 
today via the configuration property {{hbase.security.authentication}}

{{1.SIMPLE}}

{{2.KERBROS}}

{{3.TOKEN}}
{quote}
Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect. 
>  
> {code:java}
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = 
> HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
>    

[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect. 

 
{code:java}
 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {
   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
   if(peerConf.get("hbase.security.authentication").equals("kerberos")){
 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
 }
{code}
 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 
{code:java}
public MasterFileSystem(Configuration conf) throws IOException{   
  ...   
  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
  ... 
}
{code}
 

The doc in GitHub repo is also misleading.
{quote}As a distributed database, HBase must be able to authenticate users and 
HBase services across an untrusted network. Clients and HBase services are 
treated equivalently in terms of authentication (and this is the only time we 
will draw such a distinction).

There are currently three modes of authentication which are supported by HBase 
today via the configuration property {{hbase.security.authentication}}

{{1.SIMPLE}}

{{2.KERBROS}}

{{3.TOKEN}}
{quote}
Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

     TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }

 }

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException{

  ...

  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

  ...

}

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect. 
>  
> {code:java}
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = 
> HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
>  }
> {code}
>  
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
>  
> {code:java}
> public MasterFileSystem(Configuration conf) throws IOException{   
>   ...   
>   this.isSecurityEnabled = 
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));  
>   ... 
> }
> {code}
>  
> The doc in GitHub repo is also 

[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = 
HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

     TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }

 }

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException{

  ...

  this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

  ...

}

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);

   }

 }



However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException {

...

this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

...

}



Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = 
> HBaseConfiguration.createClusterConf(job.getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>      TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
> public MasterFileSystem(Configuration conf) throws IOException{
>   ...
>   this.isSecurityEnabled = 
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));
>   ...
> }
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);

   }

 }



However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException {

...

this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

...

}



Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos"))\{       
     TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }

 }

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException

{ ... this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = HBaseConfiguration.createClusterConf(job
>    .getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);
>    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
> public MasterFileSystem(Configuration conf) throws IOException {
> ...
> this.isSecurityEnabled = 
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));
> ...
> }
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos"))\{       
     TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }

 }

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException

{ ... this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);

   }

 }



However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException {

...

this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

...

}

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = HBaseConfiguration.createClusterConf(job
>    .getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos"))\{     
>        TableMapReduceUtil.initCredentialsForCluster(job, peerConf);    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
> public MasterFileSystem(Configuration conf) throws IOException
> { ... this.isSecurityEnabled = 
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);

   }

 }



However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException {

...

this.isSecurityEnabled = 
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

...

}

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

  !截屏2020-04-14下午7.57.45.png|width=531,height=176!

 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException

{ ...   this.isSecurityEnabled =  
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }

The doc in GitHub repo is also misleading

 

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = HBaseConfiguration.createClusterConf(job
>    .getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);
>    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
> public MasterFileSystem(Configuration conf) throws IOException {
> ...
> this.isSecurityEnabled = 
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));
> ...
> }
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Description: 
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

  !截屏2020-04-14下午7.57.45.png|width=531,height=176!

 

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

public MasterFileSystem(Configuration conf) throws IOException

{ ...   this.isSecurityEnabled =  
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }

The doc in GitHub repo is also misleading

 

Users may misconfigured the parameter because of the case-senstive problem.

*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)

  was:
In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);

   }

 }

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 

public MasterFileSystem(Configuration conf) throws IOException {

...

  this.isSecurityEnabled =  
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

...

}


Users may misconfigured the parameter because of the case-senstive problem. 



*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)


> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>   !截屏2020-04-14下午7.57.45.png|width=531,height=176!
>  
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
> public MasterFileSystem(Configuration conf) throws IOException
> { ...   this.isSecurityEnabled =  
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }
> The doc in GitHub repo is also misleading
>  
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Attachment: (was: 截屏2020-04-14下午7.57.45.png)

> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>   !截屏2020-04-14下午7.57.45.png|width=531,height=176!
>  
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
> public MasterFileSystem(Configuration conf) throws IOException
> { ...   this.isSecurityEnabled =  
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication")); ... }
> The doc in GitHub repo is also misleading
>  
> Users may misconfigured the parameter because of the case-senstive problem.
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Attachment: 截屏2020-04-14下午7.57.45.png

> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
> Attachments: 截屏2020-04-14下午7.57.45.png
>
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = HBaseConfiguration.createClusterConf(job
>    .getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);
>    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
>  
> public MasterFileSystem(Configuration conf) throws IOException {
> ...
>   this.isSecurityEnabled =  
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));
> ...
> }
> Users may misconfigured the parameter because of the case-senstive problem. 
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Attachment: 截屏2020-04-14下午7.57.15.png

> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = HBaseConfiguration.createClusterConf(job
>    .getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);
>    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
>  
> public MasterFileSystem(Configuration conf) throws IOException {
> ...
>   this.isSecurityEnabled =  
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));
> ...
> }
> Users may misconfigured the parameter because of the case-senstive problem. 
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)


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

zhangbuzhang updated HBASE-24190:
-
Attachment: (was: 截屏2020-04-14下午7.57.15.png)

> Case-sensitive use of configuration parameter hbase.security.authentication
> ---
>
> Key: HBASE-24190
> URL: https://issues.apache.org/jira/browse/HBASE-24190
> Project: HBase
>  Issue Type: Bug
>  Components: conf
>Reporter: zhangbuzhang
>Priority: Major
>
> In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)
> (commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )
> The code added 
> ([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
>  for the use of *hbase.security.authentication* is case-sensitive. So users 
> setting it to “KERBEROS” won’t take effect.
>  
>  private void initCredentialsForHBase(String zookeeper, Job job) throws 
> IOException {
>    Configuration peerConf = HBaseConfiguration.createClusterConf(job
>    .getConfiguration(), zookeeper);
>    if(peerConf.get("hbase.security.authentication").equals("kerberos")){
>  TableMapReduceUtil.initCredentialsForCluster(job, peerConf);
>    }
>  }
> However, in current code base, other uses of *hbase.security.authentication* 
> are all case-insensitive. For example in *MasterFileSystem.java.* 
>  
> public MasterFileSystem(Configuration conf) throws IOException {
> ...
>   this.isSecurityEnabled =  
> "kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));
> ...
> }
> Users may misconfigured the parameter because of the case-senstive problem. 
> *How To Fix*
> Using *eqaulsIgnoreCase* API consistently in every place when using 
> *hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
> mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (HBASE-24190) Case-sensitive use of configuration parameter hbase.security.authentication

2020-04-14 Thread zhangbuzhang (Jira)
zhangbuzhang created HBASE-24190:


 Summary: Case-sensitive use of configuration parameter 
hbase.security.authentication
 Key: HBASE-24190
 URL: https://issues.apache.org/jira/browse/HBASE-24190
 Project: HBase
  Issue Type: Bug
  Components: conf
Reporter: zhangbuzhang


In hbase-20586 (https://issues.apache.org/jira/browse/HBASE-20586)

(commit_sha: [https://github.com/apache/hbase/commit/cd61bcc0] )

The code added 
([SyncTable.java|https://github.com/apache/hbase/commit/cd61bcc0#diff-d1b79635f33483bf6226609e91fd1cc3])
 for the use of *hbase.security.authentication* is case-sensitive. So users 
setting it to “KERBEROS” won’t take effect.

 

 private void initCredentialsForHBase(String zookeeper, Job job) throws 
IOException {

   Configuration peerConf = HBaseConfiguration.createClusterConf(job

   .getConfiguration(), zookeeper);

   if(peerConf.get("hbase.security.authentication").equals("kerberos")){

 TableMapReduceUtil.initCredentialsForCluster(job, peerConf);

   }

 }

However, in current code base, other uses of *hbase.security.authentication* 
are all case-insensitive. For example in *MasterFileSystem.java.* 

 

public MasterFileSystem(Configuration conf) throws IOException {

...

  this.isSecurityEnabled =  
"kerberos".equalsIgnoreCase(conf.get("hbase.security.authentication"));

...

}


Users may misconfigured the parameter because of the case-senstive problem. 



*How To Fix*

Using *eqaulsIgnoreCase* API consistently in every place when using 
*hbase.security.authentication* or make it clear in Doc. (Current doc doesn't 
mention it clearly)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)