{"record":{"id":"9ab8f8344ddb0da1","repo":"pinpoint-apm/pinpoint","slug":"unknown-hbaseclientversion-version","errorCode":null,"errorMessage":"Unknown HbaseClientVersion:<version>","messagePattern":"Unknown HbaseClientVersion:<version>","errorType":"exception","errorClass":"HBaseAccessException","httpStatus":null,"severity":"error","filePath":"commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/HbaseVersionCheckBean.java","lineNumber":69,"sourceCode":"            return;\n        }\n\n        HBaseClientVersion hbaseClientVersion = getHbaseClientVersion();\n        if (!hbaseClientVersion.acceptVersion(hBaseServerVersion)) {\n            String error = String.format(\"HBase version compatibility violation HBaseClient:%s, HBaseServer:%s\", hbaseClientVersion, hBaseServerVersion);\n            logger.error(error);\n            throw new HBaseAccessException(error);\n        }\n\n    }\n\n    private HBaseClientVersion getHbaseClientVersion() {\n        final String version = VersionInfo.getVersion();\n        logger.info(\"HBaseClientVersion:{}\", version);\n\n        HBaseClientVersion hBaseClientVersion = HBaseClientVersion.getHBaseVersion(version);\n        if (hBaseClientVersion == null) {\n            throw new HBaseAccessException(\"Unknown HbaseClientVersion:\" + version);\n        }\n        return hBaseClientVersion;\n    }\n}\n","sourceCodeStart":51,"sourceCodeEnd":74,"githubUrl":"https://github.com/pinpoint-apm/pinpoint/blob/744c3d3075e595656abb1ae331ad2c0e4c9eb996/commons-hbase/src/main/java/com/navercorp/pinpoint/common/hbase/HbaseVersionCheckBean.java#L51-L74","documentation":"Thrown by getHbaseClientVersion when VersionInfo.getVersion() returns a string that HBaseClientVersion.getHBaseVersion cannot map to a known HBaseClientVersion enum. The bean refuses to guess compatibility with an unrecognized client runtime version.","triggerScenarios":"HbaseVersionCheckBean startup where HBaseClientVersion.getHBaseVersion(version) returns null because the hbase-client jar on the classpath reports a version string outside the known enum set.","commonSituations":"Mixing HBase client jars of unusual/patch versions (e.g. 2.5.x-SNAPSHOT, vendor forks like CDH/HDP reporting custom versions); shaded or relocated hbase-client artifacts whose VersionInfo reads differently.","solutions":["Check the logged 'HBaseClientVersion:<version>' line and replace the hbase-client dependency with a mainstream version supported by the enum","Align pinpoint's commons-hbase/hbase client dependency to a released, non-fork HBase version matching the server","Upgrade pinpoint so HBaseClientVersion includes your HBase version","Inspect the HBaseClientVersion enum source for the accepted version strings and pick a matching dependency"],"exampleFix":"// before (pom)\n<artifactId>hbase-client</artifactId><version>2.5.9-hadoop3-custom-fork</version>\n// after\n<artifactId>hbase-client</artifactId><version>2.4.17</version>","handlingStrategy":"validation","validationCode":"String v = VersionInfo.getVersion();\nif (HBaseClientVersion.getHBaseVersion(v) == null) {\n    throw new IllegalStateException(\"HBase client version not recognized by pinpoint: \" + v);\n}","typeGuard":null,"tryCatchPattern":"try {\n    bean.afterPropertiesSet();\n} catch (HBaseAccessException e) {\n    logger.error(\"Unrecognized HBase client version: {}\", e.getMessage());\n    // replace hbase-client dependency or upgrade pinpoint\n}","preventionTips":["Use standard Apache HBase client releases, not vendor forks or SNAPSHOTs","Verify VersionInfo.getVersion() output of your classpath hbase-client jar","Upgrade pinpoint when adopting newly released HBase minor versions"],"tags":["hbase","startup","version-parsing","dependency"],"backgroundTag":"invalid-enum-value","analyzedSha":"744c3d3075e595656abb1ae331ad2c0e4c9eb996","analyzedAt":"2026-09-07T18:48:45.289Z","contentChangedAt":"2026-09-07T18:48:45.289Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}