[ 
https://issues.apache.org/jira/browse/HBASE-28531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17838172#comment-17838172
 ] 

Nikita Pande commented on HBASE-28531:
--------------------------------------

[~guluo] I was just in a process of bumping up log4j for hbase-operator tools 
from log4j1.x which is being used in hbase-table-reporter.  I can take this up 
as part of the same or as part of this Jira as well.

> IndexOutOfBoundsException when executing HBCK2 
> -----------------------------------------------
>
>                 Key: HBASE-28531
>                 URL: https://issues.apache.org/jira/browse/HBASE-28531
>             Project: HBase
>          Issue Type: Bug
>          Components: hbck2
>         Environment: hbck master
> hbase master
>            Reporter: guluo
>            Priority: Major
>
> Reproduction
>  
> Execute the following command:
> {code:java}
> //代码占位符
> ${HBASE_HOME}/bin/hbase --config /etc/hbase-conf hbck -j 
> ~/hbase-operator-tools/hbase-hbck2/target/hbase-hbck2-1.0.0-SNAPSHOT.jar 
> {code}
> we would get IndexOutOfBoundsException, as following.
> {code:java}
> //代码占位符
> Caused by: java.lang.StringIndexOutOfBoundsException: String index out of 
> range: -1    at java.lang.String.substring(String.java:1967)    at 
> org.apache.logging.log4j.util.PropertiesUtil.partitionOnCommonPrefixes(PropertiesUtil.java:555)
>     at 
> org.apache.logging.log4j.core.config.properties.PropertiesConfigurationBuilder.build(PropertiesConfigurationBuilder.java:174)
>     at 
> org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory.getConfiguration(PropertiesConfigurationFactory.java:56)
>     at 
> org.apache.logging.log4j.core.config.properties.PropertiesConfigurationFactory.getConfiguration(PropertiesConfigurationFactory.java:35)
>     at 
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:557)
>     at 
> org.apache.logging.log4j.core.config.ConfigurationFactory$Factory.getConfiguration(ConfigurationFactory.java:481)
>     at 
> org.apache.logging.log4j.core.config.ConfigurationFactory.getConfiguration(ConfigurationFactory.java:323)
>     at 
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:695)
>     at 
> org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:716)
>     at 
> org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:270)    
> at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:155)
>     at 
> org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:47)
>     at org.apache.logging.log4j.LogManager.getContext(LogManager.java:196)    
> at 
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getContext(AbstractLoggerAdapter.java:137)
>     at 
> org.apache.logging.slf4j.Log4jLoggerFactory.getContext(Log4jLoggerFactory.java:55)
>     at 
> org.apache.logging.log4j.spi.AbstractLoggerAdapter.getLogger(AbstractLoggerAdapter.java:47)
>     at 
> org.apache.logging.slf4j.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:33)
>     at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:358)    at 
> org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:383)    at 
> org.apache.hbase.HBCK2.<clinit>(HBCK2.java:92) {code}
> The Reason.
> The current version of HBase uses version 2.17.2 of log4j2, which supports 
> shorthand syntax for properties configuration ( LOG4J2-3341 :   
> https://issues.apache.org/jira/browse/LOG4J2-3341).
>  
> However, The current version of HBCK2 uses version 2.17.1 of log4j2, which 
> does not support the feature.
> So, we would get IndexOutOfBoundsException when HBCK2 uses as following 
> log4j2 properties, and this is the default log configuration format for HBase
> logger.http = INFO,NullAppender
> In order to avoid this problem, I think we need bump log4j2 from 2.17.1 to 
> 2.17.2 against HBCK2.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to