[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14575534#comment-14575534 ] Lefty Leverenz commented on HIVE-10728: --- Doc note: Adding a TODOC1.3 label. Document this in the Date Functions section of UDFs. * [Hive Operators and UDFs -- Date Functions | https://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-DateFunctions] deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Labels: TODOC1.3 Fix For: 1.3.0, 2.0.0 Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14568173#comment-14568173 ] Sergey Shelukhin commented on HIVE-10728: - [~ashutoshc] ping? deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14568227#comment-14568227 ] Ashutosh Chauhan commented on HIVE-10728: - This is change in behavior of existing functionality. e.g, {{where c1 unix_timestamp() }} will give you different resultset depending on values of c1, before and after this patch on same table. I want to hear other committer's comment whether this is kosher to do this or not. [~alangates] What do you think? At the very least, this seems to fall into the category of something you want to commit on trunk and not on branch-1. deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14568230#comment-14568230 ] Alan Gates commented on HIVE-10728: --- bq. At the very least, this seems to fall into the category of something you want to commit on trunk and not on branch-1. +1, as this is a definite backwards incompatible change. deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14568268#comment-14568268 ] Sergey Shelukhin commented on HIVE-10728: - unix_timestamp/0 is non-deterministic, so different results are by design. In existing code, results will be different depending on whether task fails or not, for example (retrying will create different timestamp). So it's not a backward incompatible change deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14568344#comment-14568344 ] Ashutosh Chauhan commented on HIVE-10728: - +1 deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14566319#comment-14566319 ] Hive QA commented on HIVE-10728: {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12736290/HIVE-10728.03.patch {color:red}ERROR:{color} -1 due to 6 failed/errored test(s), 8986 tests executed *Failed tests:* {noformat} TestUtil - did not produce a TEST-*.xml file org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_autogen_colalias org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_fold_case org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udaf_histogram_numeric org.apache.hadoop.hive.cli.TestMinimrCliDriver.testCliDriver_ql_rewrite_gbtoidx_cbo_2 org.apache.hive.hcatalog.streaming.TestStreaming.testTransactionBatchCommit_Json {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4111/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4111/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-4111/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 6 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12736290 - PreCommit-HIVE-TRUNK-Build deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.02.patch, HIVE-10728.03.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14564998#comment-14564998 ] Hive QA commented on HIVE-10728: {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12735980/HIVE-10728.02.patch {color:red}ERROR:{color} -1 due to 40 failed/errored test(s), 8978 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_fold_case org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_unix_timestamp org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_auto_sortmerge_join_16 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_bucket4 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_bucket5 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_bucket6 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_bucketizedhiveinputformat org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_bucketmapjoin6 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_bucketmapjoin7 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_constprog_partitioner org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_disable_merge_for_bucketing org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_empty_dir_in_table org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_external_table_with_space_in_location_path org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_index_bitmap3 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_index_bitmap_auto org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_infer_bucket_sort_bucketed_table org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_infer_bucket_sort_map_operators org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_infer_bucket_sort_merge org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_infer_bucket_sort_num_buckets org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_infer_bucket_sort_reducers_power_two org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_leftsemijoin_mr org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_list_bucket_dml_10 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_parallel_orderby org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_ql_rewrite_gbtoidx org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_ql_rewrite_gbtoidx_cbo_1 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_quotedid_smb org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_reduce_deduplicate org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_remote_script org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_root_dir_external_table org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_schemeAuthority org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_schemeAuthority2 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_scriptfile1 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_smb_mapjoin_8 org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_stats_counter org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_stats_counter_partitioned org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_truncate_column_buckets org.apache.hadoop.hive.cli.TestMiniSparkOnYarnCliDriver.testCliDriver_uber_reduce org.apache.hadoop.hive.cli.TestMinimrCliDriver.testCliDriver_ql_rewrite_gbtoidx_cbo_2 org.apache.hadoop.hive.thrift.TestHadoop20SAuthBridge.testSaslWithHiveMetaStore org.apache.hive.jdbc.TestSSL.testSSLFetchHttp {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4092/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4092/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-4092/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 40 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12735980 - PreCommit-HIVE-TRUNK-Build deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project:
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14563391#comment-14563391 ] Sergey Shelukhin commented on HIVE-10728: - [~alangates] can you comment? The other way would be to rewrite the (void) overload to act like current_timestamp, that way both would be deterministic. Given that it wasn't deterministic in the first place, returning same value is a compatible behavior :) deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14555014#comment-14555014 ] Sergey Shelukhin commented on HIVE-10728: - [~ashutoshc] ping? deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14555085#comment-14555085 ] Ashutosh Chauhan commented on HIVE-10728: - I will let [~alangates] comment on whats the policy for deprecating udfs. Throwing exception as you have done I see breaks backward compatibility. deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14552818#comment-14552818 ] Sergey Shelukhin commented on HIVE-10728: - Yes... I don't know any other way to deprecate UDFs deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.01.patch, HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HIVE-10728) deprecate unix_timestamp(void) and make it deterministic
[ https://issues.apache.org/jira/browse/HIVE-10728?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14546643#comment-14546643 ] Hive QA commented on HIVE-10728: {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12733255/HIVE-10728.patch {color:red}ERROR:{color} -1 due to 4 failed/errored test(s), 8945 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_autogen_colalias org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf5 org.apache.hadoop.hive.cli.TestCliDriver.testCliDriver_udf_unix_timestamp org.apache.hadoop.hive.cli.TestEncryptedHDFSCliDriver.testCliDriver_encryption_insert_partition_static {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3917/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/3917/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-3917/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 4 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12733255 - PreCommit-HIVE-TRUNK-Build deprecate unix_timestamp(void) and make it deterministic Key: HIVE-10728 URL: https://issues.apache.org/jira/browse/HIVE-10728 Project: Hive Issue Type: Bug Reporter: Sergey Shelukhin Assignee: Sergey Shelukhin Attachments: HIVE-10728.patch We have a proper current_timestamp function that is not evaluated at runtime. Behavior of unix_timestamp(void) is both surprising, and is preventing some optimizations on the other overload since the function becomes non-deterministic. -- This message was sent by Atlassian JIRA (v6.3.4#6332)