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