From issues-return-6409-archive-asf-public=cust-asf.ponee.io@phoenix.apache.org Tue Apr 30 01:30:02 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 0016A18061A for ; Tue, 30 Apr 2019 03:30:01 +0200 (CEST) Received: (qmail 84712 invoked by uid 500); 30 Apr 2019 01:30:01 -0000 Mailing-List: contact issues-help@phoenix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@phoenix.apache.org Delivered-To: mailing list issues@phoenix.apache.org Received: (qmail 84702 invoked by uid 99); 30 Apr 2019 01:30:01 -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; Tue, 30 Apr 2019 01:30:01 +0000 Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 9106EE0413 for ; Tue, 30 Apr 2019 01:30:00 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id 3D499256C1 for ; Tue, 30 Apr 2019 01:30:00 +0000 (UTC) Date: Tue, 30 Apr 2019 01:30:00 +0000 (UTC) From: "William Shen (JIRA)" To: issues@phoenix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (PHOENIX-5101) ScanningResultIterator getScanMetrics throws NPE MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/PHOENIX-5101?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16829877#comment-16829877 ] William Shen commented on PHOENIX-5101: --------------------------------------- [~tdsilva], I am able to reproduce locally with a sample program running against test dataset size of 1000000 rows generated using Pherf (sorry, not sure where to add an actual test because I've yet to nail down the exact condition): {code} package test; import java.sql.*; import java.util.Properties; import org.apache.phoenix.query.QueryServices; public class NPEExample { public static void main(final String[] args) throws SQLException { Properties props = new Properties(); props.setProperty(QueryServices.COLLECT_REQUEST_LEVEL_METRICS, "true"); Connection conn = DriverManager.getConnection("jdbc:phoenix:localhost:2181", props); PreparedStatement stmt = conn.prepareStatement("SELECT * FROM PHERF.KEYWORDS_NOIDX LIMIT 400000"); ResultSet rs = stmt.executeQuery(); try { while (rs.next()) { rs.getObject(0); } } finally { rs.close(); stmt.close(); conn.close(); } } } {code} will produce the following error {code} Exception in thread "main" org.apache.phoenix.exception.PhoenixIOException at org.apache.phoenix.util.ServerUtil.parseServerException(ServerUtil.java:144) at org.apache.phoenix.iterate.RoundRobinResultIterator.close(RoundRobinResultIterator.java:128) at org.apache.phoenix.iterate.DelegateResultIterator.close(DelegateResultIterator.java:39) at org.apache.phoenix.jdbc.PhoenixResultSet.close(PhoenixResultSet.java:176) at test.NPEExample.main(NPEExample.java:21) Caused by: java.lang.NullPointerException at org.apache.phoenix.iterate.ScanningResultIterator.getScanMetrics(ScanningResultIterator.java:100) at org.apache.phoenix.iterate.ScanningResultIterator.close(ScanningResultIterator.java:80) at org.apache.phoenix.iterate.TableResultIterator.close(TableResultIterator.java:144) at org.apache.phoenix.iterate.LookAheadResultIterator$1.close(LookAheadResultIterator.java:42) at org.apache.phoenix.iterate.BaseResultIterators.close(BaseResultIterators.java:1442) at org.apache.phoenix.iterate.RoundRobinResultIterator.close(RoundRobinResultIterator.java:125) ... 3 more {code} > ScanningResultIterator getScanMetrics throws NPE > ------------------------------------------------ > > Key: PHOENIX-5101 > URL: https://issues.apache.org/jira/browse/PHOENIX-5101 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.14.1 > Reporter: Reid Chan > Assignee: Karan Mehta > Priority: Blocker > Fix For: 4.15.0, 5.1.0, 4.14.2 > > Attachments: PHOENIX-5101.414-HBase-1.4.001.patch > > Time Spent: 50m > Remaining Estimate: 0h > > {code} > java.lang.NullPointerException > at org.apache.phoenix.iterate.ScanningResultIterator.getScanMetrics(ScanningResultIterator.java:92) > at org.apache.phoenix.iterate.ScanningResultIterator.close(ScanningResultIterator.java:79) > at org.apache.phoenix.iterate.TableResultIterator.close(TableResultIterator.java:144) > at org.apache.phoenix.iterate.LookAheadResultIterator$1.close(LookAheadResultIterator.java:42) > at org.apache.phoenix.iterate.BaseResultIterators.close(BaseResultIterators.java:1439) > at org.apache.phoenix.iterate.MergeSortResultIterator.close(MergeSortResultIterator.java:44) > at org.apache.phoenix.jdbc.PhoenixResultSet.close(PhoenixResultSet.java:176) > at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:807) > at org.apache.calcite.avatica.jdbc.JdbcResultSet.frame(JdbcResultSet.java:148) > at org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:101) > at org.apache.calcite.avatica.jdbc.JdbcResultSet.create(JdbcResultSet.java:81) > at org.apache.calcite.avatica.jdbc.JdbcMeta.prepareAndExecute(JdbcMeta.java:759) > at org.apache.calcite.avatica.remote.LocalService.apply(LocalService.java:206) > at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:927) > at org.apache.calcite.avatica.remote.Service$PrepareAndExecuteRequest.accept(Service.java:879) > at org.apache.calcite.avatica.remote.AbstractHandler.apply(AbstractHandler.java:94) > at org.apache.calcite.avatica.remote.ProtobufHandler.apply(ProtobufHandler.java:46) > at org.apache.calcite.avatica.server.AvaticaProtobufHandler$2.call(AvaticaProtobufHandler.java:123) > at org.apache.calcite.avatica.server.AvaticaProtobufHandler$2.call(AvaticaProtobufHandler.java:121) > at org.apache.phoenix.queryserver.server.QueryServer$PhoenixDoAsCallback$1.run(QueryServer.java:500) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:422) > at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1754) > at org.apache.phoenix.queryserver.server.QueryServer$PhoenixDoAsCallback.doAsRemoteUser(QueryServer.java:497) > at org.apache.calcite.avatica.server.HttpServer$Builder$1.doAsRemoteUser(HttpServer.java:884) > at org.apache.calcite.avatica.server.AvaticaProtobufHandler.handle(AvaticaProtobufHandler.java:120) > at org.apache.phoenix.shaded.org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:542) > at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerList.handle(HandlerList.java:52) > at org.apache.phoenix.shaded.org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > at org.apache.phoenix.shaded.org.eclipse.jetty.server.Server.handle(Server.java:499) > at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) > at org.apache.phoenix.shaded.org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > at org.apache.phoenix.shaded.org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544) > at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > at org.apache.phoenix.shaded.org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > at java.lang.Thread.run(Thread.java:745) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)