Return-Path: X-Original-To: apmail-hive-dev-archive@www.apache.org Delivered-To: apmail-hive-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 88AA2CCA6 for ; Fri, 26 Jul 2013 21:41:49 +0000 (UTC) Received: (qmail 4999 invoked by uid 500); 26 Jul 2013 21:41:49 -0000 Delivered-To: apmail-hive-dev-archive@hive.apache.org Received: (qmail 4942 invoked by uid 500); 26 Jul 2013 21:41:48 -0000 Mailing-List: contact dev-help@hive.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@hive.apache.org Delivered-To: mailing list dev@hive.apache.org Received: (qmail 4934 invoked by uid 500); 26 Jul 2013 21:41:48 -0000 Delivered-To: apmail-hadoop-hive-dev@hadoop.apache.org Received: (qmail 4930 invoked by uid 99); 26 Jul 2013 21:41:48 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Jul 2013 21:41:48 +0000 Date: Fri, 26 Jul 2013 21:41:48 +0000 (UTC) From: "Ashutosh Chauhan (JIRA)" To: hive-dev@hadoop.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (HIVE-4885) Alternative object serialization for execution plan in hive testing 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/HIVE-4885?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13721250#comment-13721250 ] Ashutosh Chauhan commented on HIVE-4885: ---------------------------------------- [~appodictic] How did your tests go? Did you play with xstreams? If we pick binary (de)serializer, one option is to detect if we are running in test mode and if so, instead serialize using existing serialization mechanism, thus preserving existing test infra built for doing plan validations. > Alternative object serialization for execution plan in hive testing > -------------------------------------------------------------------- > > Key: HIVE-4885 > URL: https://issues.apache.org/jira/browse/HIVE-4885 > Project: Hive > Issue Type: Improvement > Components: CLI > Affects Versions: 0.10.0, 0.11.0 > Reporter: Xuefu Zhang > Assignee: Xuefu Zhang > Fix For: 0.12.0 > > Attachments: HIVE-4885.patch > > > Currently there are a lot of test cases involving in comparing execution plan, such as those in TestParse suite. XmlEncoder is used to serialize the generated plan by hive, and store it in the file for file diff comparison. However, XmlEncoder is tied with Java compiler, whose implementation may change from version to version. Thus, upgrade the compiler can generate a lot of fake test failures. The following is an example of diff generated when running hive with JDK7: > {code} > Begin query: case_sensitivity.q > diff -a /data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/build/ql/test/logs/positive/case_sensitivity.q.out /data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/ql/src/test/results/compiler/parse/case_sensitivity.q.out > diff -a -b /data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/build/ql/test/logs/positive/case_sensitivity.q.xml /data/4/hive-local/a2307.halxg.cloudera.com-hiveptest-2/cdh-source/ql/src/test/results/compiler/plan/case_sensitivity.q.xml > 3c3 > < > --- > > > 12c12 > < > --- > > > 14c14 > < > --- > > > 18c18 > < > --- > > > 22c22 > < > --- > > > 60c60 > < > --- > > > {code} > As it can be seen, the only difference is the order of the attributes in the serialized XML doc, yet it brings 50+ test failures in Hive. > We need to have a better plan comparison, or object serialization to improve the situation. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira