Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 385EC200B6D for ; Tue, 9 Aug 2016 05:09:18 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 36DD5160A91; Tue, 9 Aug 2016 03:09:18 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 573C8160AB3 for ; Tue, 9 Aug 2016 05:09:17 +0200 (CEST) Received: (qmail 87591 invoked by uid 500); 9 Aug 2016 03:09:16 -0000 Mailing-List: contact commits-help@carbondata.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@carbondata.incubator.apache.org Delivered-To: mailing list commits@carbondata.incubator.apache.org Received: (qmail 87582 invoked by uid 99); 9 Aug 2016 03:09:16 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Aug 2016 03:09:16 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 076681A5CE7 for ; Tue, 9 Aug 2016 03:09:16 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -4.646 X-Spam-Level: X-Spam-Status: No, score=-4.646 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id AZG3vaRfQJQf for ; Tue, 9 Aug 2016 03:09:14 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id D4EB960E27 for ; Tue, 9 Aug 2016 03:09:13 +0000 (UTC) Received: (qmail 87545 invoked by uid 99); 9 Aug 2016 03:09:12 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 09 Aug 2016 03:09:12 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id B5710E7DFC; Tue, 9 Aug 2016 03:09:12 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: chenliang613@apache.org To: commits@carbondata.incubator.apache.org Date: Tue, 09 Aug 2016 03:09:12 -0000 Message-Id: X-Mailer: ASF-Git Admin Mailer Subject: [1/2] incubator-carbondata git commit: Fixed IN filter expression deserializing issue from thrift server archived-at: Tue, 09 Aug 2016 03:09:18 -0000 Repository: incubator-carbondata Updated Branches: refs/heads/master e0b00bfc1 -> 8e224aac9 Fixed IN filter expression deserializing issue from thrift server Project: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/commit/6c11558d Tree: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/tree/6c11558d Diff: http://git-wip-us.apache.org/repos/asf/incubator-carbondata/diff/6c11558d Branch: refs/heads/master Commit: 6c11558dffc78bf45a974ef68370959fb80ab71b Parents: e0b00bf Author: ravipesala Authored: Mon Aug 8 15:24:59 2016 +0530 Committer: ravipesala Committed: Mon Aug 8 15:27:44 2016 +0530 ---------------------------------------------------------------------- .../hadoop/util/ObjectSerializationUtil.java | 2 +- .../org/carbondata/spark/CarbonFilters.scala | 24 ++++++++++++++------ 2 files changed, 18 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/6c11558d/hadoop/src/main/java/org/carbondata/hadoop/util/ObjectSerializationUtil.java ---------------------------------------------------------------------- diff --git a/hadoop/src/main/java/org/carbondata/hadoop/util/ObjectSerializationUtil.java b/hadoop/src/main/java/org/carbondata/hadoop/util/ObjectSerializationUtil.java index a1d87a6..9100fe5 100644 --- a/hadoop/src/main/java/org/carbondata/hadoop/util/ObjectSerializationUtil.java +++ b/hadoop/src/main/java/org/carbondata/hadoop/util/ObjectSerializationUtil.java @@ -97,7 +97,7 @@ public class ObjectSerializationUtil { ois = new ObjectInputStream(gis); return ois.readObject(); } catch (ClassNotFoundException e) { - throw new IOException("Could not read object"); + throw new IOException("Could not read object", e); } finally { try { if (ois != null) { http://git-wip-us.apache.org/repos/asf/incubator-carbondata/blob/6c11558d/integration/spark/src/main/scala/org/carbondata/spark/CarbonFilters.scala ---------------------------------------------------------------------- diff --git a/integration/spark/src/main/scala/org/carbondata/spark/CarbonFilters.scala b/integration/spark/src/main/scala/org/carbondata/spark/CarbonFilters.scala index 230bf31..b7f45ab 100644 --- a/integration/spark/src/main/scala/org/carbondata/spark/CarbonFilters.scala +++ b/integration/spark/src/main/scala/org/carbondata/spark/CarbonFilters.scala @@ -17,7 +17,6 @@ package org.carbondata.spark -import scala.collection.JavaConverters._ import scala.collection.mutable.ArrayBuffer import org.apache.spark.sql.catalyst.expressions._ @@ -77,10 +76,12 @@ object CarbonFilters { case sources.In(name, values) => Some(new InExpression(getCarbonExpression(name), - new ListExpression(values.map(f => getCarbonLiteralExpression(name, f)).toList.asJava))) + new ListExpression( + convertToJavaList(values.map(f => getCarbonLiteralExpression(name, f)).toList)))) case sources.Not(sources.In(name, values)) => Some(new NotInExpression(getCarbonExpression(name), - new ListExpression(values.map(f => getCarbonLiteralExpression(name, f)).toList.asJava))) + new ListExpression( + convertToJavaList(values.map(f => getCarbonLiteralExpression(name, f)).toList)))) case sources.And(lhs, rhs) => (createFilter(lhs) ++ createFilter(rhs)).reduceOption(new AndExpression(_, _)) @@ -259,17 +260,17 @@ object CarbonFilters { case Not(In(a: Attribute, list)) if !list.exists(!_.isInstanceOf[Literal]) => Some(new NotInExpression(transformExpression(a).get, - new ListExpression(list.map(transformExpression(_).get).asJava))) + new ListExpression(convertToJavaList(list.map(transformExpression(_).get))))) case In(a: Attribute, list) if !list.exists(!_.isInstanceOf[Literal]) => Some(new InExpression(transformExpression(a).get, - new ListExpression(list.map(transformExpression(_).get).asJava))) + new ListExpression(convertToJavaList(list.map(transformExpression(_).get))))) case Not(In(Cast(a: Attribute, _), list)) if !list.exists(!_.isInstanceOf[Literal]) => Some(new NotInExpression(transformExpression(a).get, - new ListExpression(list.map(transformExpression(_).get).asJava))) + new ListExpression(convertToJavaList(list.map(transformExpression(_).get))))) case In(Cast(a: Attribute, _), list) if !list.exists(!_.isInstanceOf[Literal]) => Some(new InExpression(transformExpression(a).get, - new ListExpression(list.map(transformExpression(_).get).asJava))) + new ListExpression(convertToJavaList(list.map(transformExpression(_).get))))) case GreaterThan(a: Attribute, l@Literal(v, t)) => Some(new GreaterThanExpression(transformExpression(a).get, transformExpression(l).get)) @@ -351,4 +352,13 @@ object CarbonFilters { } CarbonScalaUtil.convertCarbonToSparkDataType(dataType) } + + // Convert scala list to java list, Cannot use scalaList.asJava as while deserializing it is + // not able find the classes inside scala list and gives ClassNotFoundException. + private def convertToJavaList( + scalaList: Seq[CarbonExpression]): java.util.List[CarbonExpression] = { + val javaList = new java.util.ArrayList[CarbonExpression]() + scalaList.foreach(javaList.add) + javaList + } }