hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Phabricator (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HIVE-2779) Improve hooks run in Driver
Date Tue, 07 Feb 2012 00:21:00 GMT

     [ https://issues.apache.org/jira/browse/HIVE-2779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Phabricator updated HIVE-2779:
------------------------------

    Attachment: HIVE-2779.D1599.1.patch

kevinwilfong requested code review of "HIVE-2779 [jira] Improve hooks run in Driver".
Reviewers: JIRA

  https://issues.apache.org/jira/browse/HIVE-2779

  Merged the various methods in Driver to get hooks into a single method.  I took care to
ensure that the checks that were occurring for SemanticAnalyzer hooks, but not for other hooks,
as they are not necessarily applicable.

  While doing this, I also mentioned in the comments on the method that the hooks are returned
in the same order they were specified, and this was intentional.

  I also updated the HiveSemanticAnalyzerHookContext to include the inputs and outputs from
the SemanticAnalyzer before it is passed to any hooks which run after analysis.  I wrote it
in a way such that it should not be difficult to add more should we need them.

  There are some small improvements that can be made to the hooks which are run in the Driver:

  1) The code to get hooks has been clearly just been copy+pasted for each of Pre/Post/OnFailure/SemanticAnalyzer
hooks.  This code should be consolidated into a single method.

  2) There is a lot more information available to SemanticAnalyzer hooks which ran after semantic
analysis than to those that run before, such as inputs and outputs.  We should make some of
this information available to those hooks, preferably through HiveSemanticAnalyzerHookContext,
so that existing hooks aren't broken.

  3) Currently, possibly unintentionally, hooks are initialized and run in the order they
appear in the comma separated list that is the value of the configuration variable.  This
is a useful property, we should add comments indicating this is desired and add a unit test
to enforce it.

TEST PLAN
  EMPTY

REVISION DETAIL
  https://reviews.facebook.net/D1599

AFFECTED FILES
  ql/src/test/results/clientnegative/bad_exec_hooks.q.out
  ql/src/test/results/clientpositive/hook_order.q.out
  ql/src/test/org/apache/hadoop/hive/ql/hooks/VerifyHooksRunInOrder.java
  ql/src/test/queries/clientpositive/hook_order.q
  ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveUtils.java
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHook.java
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContext.java
  ql/src/java/org/apache/hadoop/hive/ql/parse/HiveSemanticAnalyzerHookContextImpl.java
  ql/src/java/org/apache/hadoop/hive/ql/Driver.java

MANAGE HERALD DIFFERENTIAL RULES
  https://reviews.facebook.net/herald/view/differential/

WHY DID I GET THIS EMAIL?
  https://reviews.facebook.net/herald/transcript/3399/

Tip: use the X-Herald-Rules header to filter Herald messages in your client.

                
> Improve hooks run in Driver
> ---------------------------
>
>                 Key: HIVE-2779
>                 URL: https://issues.apache.org/jira/browse/HIVE-2779
>             Project: Hive
>          Issue Type: Improvement
>            Reporter: Kevin Wilfong
>            Assignee: Kevin Wilfong
>         Attachments: HIVE-2779.D1599.1.patch
>
>
> There are some small improvements that can be made to the hooks which are run in the
Driver:
> 1) The code to get hooks has been clearly just been copy+pasted for each of Pre/Post/OnFailure/SemanticAnalyzer
hooks.  This code should be consolidated into a single method.
> 2) There is a lot more information available to SemanticAnalyzer hooks which ran after
semantic analysis than to those that run before, such as inputs and outputs.  We should make
some of this information available to those hooks, preferably through HiveSemanticAnalyzerHookContext,
so that existing hooks aren't broken.
> 3) Currently, possibly unintentionally, hooks are initialized and run in the order they
appear in the comma separated list that is the value of the configuration variable.  This
is a useful property, we should add comments indicating this is desired and add a unit test
to enforce it.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message