From dev-return-75833-archive-asf-public=cust-asf.ponee.io@hbase.apache.org Fri Sep 6 21:24:04 2019 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by mx-eu-01.ponee.io (Postfix) with SMTP id 0346A180645 for ; Fri, 6 Sep 2019 23:24:03 +0200 (CEST) Received: (qmail 48530 invoked by uid 500); 7 Sep 2019 09:46:22 -0000 Mailing-List: contact dev-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hbase.apache.org Delivered-To: mailing list dev@hbase.apache.org Received: (qmail 48517 invoked by uid 99); 7 Sep 2019 09:46:22 -0000 Received: from mailrelay1-us-west.apache.org (HELO mailrelay1-us-west.apache.org) (209.188.14.139) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 07 Sep 2019 09:46:22 +0000 Received: from jira-he-de.apache.org (static.172.67.40.188.clients.your-server.de [188.40.67.172]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 9528AE3127 for ; Fri, 6 Sep 2019 21:24:00 +0000 (UTC) Received: from jira-he-de.apache.org (localhost.localdomain [127.0.0.1]) by jira-he-de.apache.org (ASF Mail Server at jira-he-de.apache.org) with ESMTP id 2C179780907 for ; Fri, 6 Sep 2019 21:24:00 +0000 (UTC) Date: Fri, 6 Sep 2019 21:24:00 +0000 (UTC) From: "Josh Elser (Jira)" To: dev@hbase.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (HBASE-22985) Gracefully handle invalid ServiceLoader entries MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 Josh Elser created HBASE-22985: ---------------------------------- Summary: Gracefully handle invalid ServiceLoader entries Key: HBASE-22985 URL: https://issues.apache.org/jira/browse/HBASE-22985 Project: HBase Issue Type: Bug Components: metrics Reporter: Josh Elser Assignee: Josh Elser Just saw this happen: A RegionServer failed to start because, on the classp= ath, there was a=C2=A0{{META-INF/services}} entry in a JAR on the classpath= that was advertising an implementation of {{org.apache.hadoop.hbase.metric= s.MetricsRegistries}} but was an implementation of a completely different c= lass: {noformat} Caused by: java.util.ServiceConfigurationError: org.apache.hadoop.hbase.met= rics.MetricRegistries: Provider org.apache.ratis.metrics.impl.MetricRegistr= iesImpl not a subtype =09at java.util.ServiceLoader.fail(ServiceLoader.java:239) =09at java.util.ServiceLoader.access$300(ServiceLoader.java:185) =09at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:3= 76) =09at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) =09at java.util.ServiceLoader$1.next(ServiceLoader.java:480) =09at org.apache.hadoop.hbase.metrics.MetricRegistriesLoader.getDefinedImpl= emantations(MetricRegistriesLoader.java:92) =09at org.apache.hadoop.hbase.metrics.MetricRegistriesLoader.load(MetricReg= istriesLoader.java:50) =09at org.apache.hadoop.hbase.metrics.MetricRegistries$LazyHolder.(= MetricRegistries.java:39) =09at org.apache.hadoop.hbase.metrics.MetricRegistries.global(MetricRegistr= ies.java:47) =09at org.apache.hadoop.hbase.metrics.BaseSourceImpl.(BaseSourceImpl.= java:122) =09at org.apache.hadoop.hbase.io.MetricsIOSourceImpl.(MetricsIOSource= Impl.java:46) =09at org.apache.hadoop.hbase.io.MetricsIOSourceImpl.(MetricsIOSource= Impl.java:38) =09at org.apache.hadoop.hbase.regionserver.MetricsRegionServerSourceFactory= Impl.createIO(MetricsRegionServerSourceFactoryImpl.java:84) =09at org.apache.hadoop.hbase.io.MetricsIO.(MetricsIO.java:35) =09at org.apache.hadoop.hbase.io.hfile.HFile.(HFile.java:195) =09at org.apache.hadoop.hbase.regionserver.HRegionServer.(HRegionServ= er.java:570) =09... 10 more{noformat} Now, we could catch this and gracefully ignore it; however, this would mean= that we're catching an Error which is typically considered a smell. It's a pretty straightforward change, so I'm apt to think that it's OK. Wha= t do other folks think? -- This message was sent by Atlassian Jira (v8.3.2#803003)