From dev-return-49874-archive-asf-public=cust-asf.ponee.io@phoenix.apache.org Mon Mar 5 22:37:04 2018 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 [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 475E0180608 for ; Mon, 5 Mar 2018 22:37:04 +0100 (CET) Received: (qmail 37835 invoked by uid 500); 5 Mar 2018 21:37:03 -0000 Mailing-List: contact dev-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 dev@phoenix.apache.org Received: (qmail 37823 invoked by uid 99); 5 Mar 2018 21:37:03 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 05 Mar 2018 21:37:03 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id C8F9C1804E6 for ; Mon, 5 Mar 2018 21:37:02 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -109.511 X-Spam-Level: X-Spam-Status: No, score=-109.511 tagged_above=-999 required=6.31 tests=[ENV_AND_HDR_SPF_MATCH=-0.5, KAM_ASCII_DIVIDERS=0.8, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, USER_IN_DEF_SPF_WL=-7.5, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id yIvSsT9yLzoG for ; Mon, 5 Mar 2018 21:37:01 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 2512E5F5DC for ; Mon, 5 Mar 2018 21:37:01 +0000 (UTC) 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 84958E01D8 for ; Mon, 5 Mar 2018 21:37: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 38CAC2126C for ; Mon, 5 Mar 2018 21:37:00 +0000 (UTC) Date: Mon, 5 Mar 2018 21:37:00 +0000 (UTC) From: "James Taylor (JIRA)" To: dev@phoenix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (PHOENIX-4624) COLLATION_KEY function cannot handle null values 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-4624?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16386796#comment-16386796 ] James Taylor commented on PHOENIX-4624: --------------------------------------- +1. Thanks for the patch, [~shehzaadn]. I'll get this committed. > COLLATION_KEY function cannot handle null values > ------------------------------------------------ > > Key: PHOENIX-4624 > URL: https://issues.apache.org/jira/browse/PHOENIX-4624 > Project: Phoenix > Issue Type: Bug > Reporter: Shehzaad Nakhoda > Assignee: Shehzaad Nakhoda > Priority: Major > Fix For: 4.14.0 > > Attachments: PHOENIX-4624_v1.patch > > > COLLATION_KEY throws a NullPointerException when it encounters values that are null. > Example: > 0: jdbc:phoenix:localhost> create table hello_table (ID DECIMAL PRIMARY KEY, NAME VARCHAR); > No rows affected (0.323 seconds) > 0: jdbc:phoenix:localhost> upsert into hello_table VALUES(1, 'One'); > 1 row affected (0.032 seconds) > 0: jdbc:phoenix:localhost> upsert into hello_table VALUES(2, 'Two'); > 1 row affected (0.006 seconds) > 0: jdbc:phoenix:localhost> upsert into hello_table VALUES(0, NULL); > 1 row affected (0.004 seconds) > 0: jdbc:phoenix:localhost> select * from hello_table order by collation_key(name, 'en_US'); > +------------------------------------------+------------------------------------------+ > | ID | NAME | > +------------------------------------------+------------------------------------------+ > java.lang.RuntimeException: org.apache.phoenix.exception.PhoenixIOException: org.apache.phoenix.exception.PhoenixIOException: org.apache.hadoop.hbase.DoNotRetryIOException: HELLO_TABLE,,1519258211363.5898d1758d5b82ada5b27b2a8a9fba27.: null > at org.apache.phoenix.util.ServerUtil.createIOException(ServerUtil.java:96) > at org.apache.phoenix.util.ServerUtil.throwIOException(ServerUtil.java:62) > at org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.getTopNScanner(NonAggregateRegionScannerFactory.java:327) > at org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.getRegionScanner(NonAggregateRegionScannerFactory.java:164) > at org.apache.phoenix.coprocessor.ScanRegionObserver.doPostScannerOpen(ScanRegionObserver.java:72) > at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.overrideDelegate(BaseScannerRegionObserver.java:235) > at org.apache.phoenix.coprocessor.BaseScannerRegionObserver$RegionScannerHolder.nextRaw(BaseScannerRegionObserver.java:286) > at org.apache.hadoop.hbase.regionserver.HRegionServer.scan(HRegionServer.java:3361) > at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32492) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2211) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:104) > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.NullPointerException > at org.apache.phoenix.expression.function.CollationKeyFunction.evaluate(CollationKeyFunction.java:121) > at org.apache.phoenix.iterate.OrderedResultIterator.getResultIterator(OrderedResultIterator.java:260) > at org.apache.phoenix.iterate.OrderedResultIterator.next(OrderedResultIterator.java:199) > at org.apache.phoenix.iterate.NonAggregateRegionScannerFactory.getTopNScanner(NonAggregateRegionScannerFactory.java:322) > ... 11 more > at sqlline.IncrementalRows.hasNext(IncrementalRows.java:73) > at sqlline.TableOutputFormat.print(TableOutputFormat.java:33) > at sqlline.SqlLine.print(SqlLine.java:1652) > at sqlline.Commands.execute(Commands.java:833) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:807) > at sqlline.SqlLine.begin(SqlLine.java:681) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:292) > 0: jdbc:phoenix:localhost> select name from hello_table group by name order by collation_key(name, 'en_US'); > +------------------------------------------+ > | NAME | > +------------------------------------------+ > java.lang.NullPointerException > at org.apache.phoenix.expression.function.CollationKeyFunction.evaluate(CollationKeyFunction.java:121) > at org.apache.phoenix.iterate.OrderedResultIterator.getResultIterator(OrderedResultIterator.java:260) > at org.apache.phoenix.iterate.OrderedResultIterator.next(OrderedResultIterator.java:199) > at org.apache.phoenix.iterate.OrderedAggregatingResultIterator.next(OrderedAggregatingResultIterator.java:51) > at org.apache.phoenix.jdbc.PhoenixResultSet.next(PhoenixResultSet.java:779) > at sqlline.IncrementalRows.hasNext(IncrementalRows.java:62) > at sqlline.TableOutputFormat.print(TableOutputFormat.java:33) > at sqlline.SqlLine.print(SqlLine.java:1652) > at sqlline.Commands.execute(Commands.java:833) > at sqlline.Commands.sql(Commands.java:732) > at sqlline.SqlLine.dispatch(SqlLine.java:807) > at sqlline.SqlLine.begin(SqlLine.java:681) > at sqlline.SqlLine.start(SqlLine.java:398) > at sqlline.SqlLine.main(SqlLine.java:292) > 0: jdbc:phoenix:localhost> -- This message was sent by Atlassian JIRA (v7.6.3#76005)