You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Sergey Shelukhin (JIRA)" <ji...@apache.org> on 2016/01/24 20:33:39 UTC

[jira] [Comment Edited] (HIVE-12727) refactor Hive strict checks to be more granular, allow order by no limit and no partition filter by default for now

    [ https://issues.apache.org/jira/browse/HIVE-12727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15114482#comment-15114482 ] 

Sergey Shelukhin edited comment on HIVE-12727 at 1/24/16 7:32 PM:
------------------------------------------------------------------

Yes, strict mode is enforced.
{noformat}
+    private static String check(Configuration conf, ConfVars setting, String message) {
+      if (!HiveConf.getBoolVar(conf, setting) && !"strict".equals(HiveConf.getVar(
+          conf, ConfVars.HIVEMAPREDMODE, null))) return null;
+      return message;
+    }
{noformat}
I should actually probably change it to return boolean, the message is just a pass-thru object. null means the operation is allowed; it is allowed iff  the granular setting is false AND also mapred mode is not strict.


was (Author: sershe):
Yes, strict mode is enforced.
{noformat}
+    private static String check(Configuration conf, ConfVars setting, String message) {
+      if (!HiveConf.getBoolVar(conf, setting) && !"strict".equals(HiveConf.getVar(
+          conf, ConfVars.HIVEMAPREDMODE, null))) return null;
+      return message;
+    }
{noformat}
I should actually probably change it to return boolean, the message is just a pass-thru object. null means the operation is allowed; it is allowed iff  the granular setting is false AND if mapred mode is not strict.

> refactor Hive strict checks to be more granular, allow order by no limit and no partition filter by default for now
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: HIVE-12727
>                 URL: https://issues.apache.org/jira/browse/HIVE-12727
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Sergey Shelukhin
>            Assignee: Sergey Shelukhin
>            Priority: Blocker
>         Attachments: HIVE-12727.01.patch, HIVE-12727.02.patch, HIVE-12727.patch
>
>
> Making strict mode the default recently appears to have broken many normal queries, such as some TPCDS benchmark queries, e.g. Q85:
> Response message: org.apache.hive.service.cli.HiveSQLException: Error while compiling statement: FAILED: SemanticException [Error 10041]: No partition predicate found for Alias "web_sales" Table "web_returns"
> We should remove this restriction from strict mode, or change the default back to non-strict. Perhaps make a 3-value parameter, nonstrict, semistrict, and strict, for backward compat for people who are relying on strict already.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)