[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=761362&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-761362 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 24/Apr/22 00:18 Start Date: 24/Apr/22 00:18 Worklog Time Spent: 10m Work Description: github-actions[bot] closed pull request #2690: HIVE-25576: Add config to parse date with older date format URL: https://github.com/apache/hive/pull/2690 Issue Time Tracking --- Worklog Id: (was: 761362) Time Spent: 3h (was: 2h 50m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 3h > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.7#820007)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=757537&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-757537 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 16/Apr/22 00:18 Start Date: 16/Apr/22 00:18 Worklog Time Spent: 10m Work Description: github-actions[bot] commented on PR #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-1100480281 This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Feel free to reach out on the d...@hive.apache.org list if the patch is in need of reviews. Issue Time Tracking --- Worklog Id: (was: 757537) Time Spent: 2h 50m (was: 2h 40m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 2h 50m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=726186&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-726186 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 14/Feb/22 09:18 Start Date: 14/Feb/22 09:18 Worklog Time Spent: 10m Work Description: zabetak commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-1038843062 Please bot keep this open :) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 726186) Time Spent: 2h 40m (was: 2.5h) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 2h 40m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=726001&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-726001 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 14/Feb/22 02:34 Start Date: 14/Feb/22 02:34 Worklog Time Spent: 10m Work Description: github-actions[bot] commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-1037602311 This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Feel free to reach out on the d...@hive.apache.org list if the patch is in need of reviews. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 726001) Time Spent: 2.5h (was: 2h 20m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 2.5h > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=725736&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-725736 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Feb/22 00:15 Start Date: 13/Feb/22 00:15 Worklog Time Spent: 10m Work Description: github-actions[bot] commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-1037602311 This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Feel free to reach out on the d...@hive.apache.org list if the patch is in need of reviews. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 725736) Time Spent: 2h 20m (was: 2h 10m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 2h 20m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=695599&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-695599 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 14/Dec/21 09:34 Start Date: 14/Dec/21 09:34 Worklog Time Spent: 10m Work Description: zabetak commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-993349113 Apologies for the delay @ashish-kumar-sharma , I will try to rearrange this on my TODO list. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 695599) Time Spent: 2h 10m (was: 2h) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 2h 10m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=694788&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-694788 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Dec/21 00:11 Start Date: 13/Dec/21 00:11 Worklog Time Spent: 10m Work Description: github-actions[bot] commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-992000258 This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Feel free to reach out on the d...@hive.apache.org list if the patch is in need of reviews. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 694788) Time Spent: 2h (was: 1h 50m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 2h > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.20.1#820001)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=665213&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-665213 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 18:56 Start Date: 13/Oct/21 18:56 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma commented on a change in pull request #2690: URL: https://github.com/apache/hive/pull/2690#discussion_r728209617 ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, Review comment: Yes you are right. There are lot of UDF which required changes. That i will do in incremental fashion. Since Unix timestamp UDFs are logical start. That's why this PR only contain Unix timestamp UDFs. I will create subtask for UDF as well. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 665213) Time Spent: 1h 50m (was: 1h 40m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 1h 50m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=665023&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-665023 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 18:36 Start Date: 13/Oct/21 18:36 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-942235815 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 665023) Time Spent: 1h 40m (was: 1.5h) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 1h 40m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664897&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664897 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 18:25 Start Date: 13/Oct/21 18:25 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma edited a comment on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-942235815 @zabetak Could you please review the PR? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664897) Time Spent: 1.5h (was: 1h 20m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 1.5h > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664847&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664847 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 18:20 Start Date: 13/Oct/21 18:20 Worklog Time Spent: 10m Work Description: zabetak commented on a change in pull request #2690: URL: https://github.com/apache/hive/pull/2690#discussion_r728036705 ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, Review comment: How about renaming to `hive.datetime.formatter.legacy.enabled`? That way we create a `hive.datetime` namespace which we can use for other props in the future. ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, Review comment: One thing that I am a bit skeptical about is that when I search for `SimpleDateFormat` or `DateTimeFormatter` in the repo I find occurrences in various places (including other UDFs). I am wondering what should we do with the other parts using new/old formatters. The current description of the property makes me believe that it has a kind of global effect but in this PR we are only touching the Unix timestamp UDFs. ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, +"When true, java.text.SimpleDateFormat is used for formatting and parsing\n" ++ "dates/timestamps in a locale-sensitive manner, which is the approach before Hive 3.x.\n" ++ "When set to false, classes from java.time.* packages are used for the same purpose.\n" ++ "The default value is false, RuntimeException is thrown when we will get different results."), Review comment: Do we throw an exception? I don't think so. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664847) Time Spent: 1h 20m (was: 1h 10m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 1h 20m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664733&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664733 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 15:49 Start Date: 13/Oct/21 15:49 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma commented on a change in pull request #2690: URL: https://github.com/apache/hive/pull/2690#discussion_r728209617 ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, Review comment: Yes you are right. There are lot of UDF which required changes. That i will do in incremental fashion. Since Unix timestamp UDFs are logical start. That's why this PR only contain Unix timestamp UDFs. I will create subtask for UDF as well. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664733) Time Spent: 1h 10m (was: 1h) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 1h 10m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664732&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664732 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 15:47 Start Date: 13/Oct/21 15:47 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-942438192 > Hey @ashish-kumar-sharma , I just did a quick pass to get the general idea. I hope I find some time to do a proper review next week. Sure I will wait for your review. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664732) Time Spent: 1h (was: 50m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 1h > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664631&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664631 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 13:12 Start Date: 13/Oct/21 13:12 Worklog Time Spent: 10m Work Description: zabetak commented on a change in pull request #2690: URL: https://github.com/apache/hive/pull/2690#discussion_r728036705 ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, Review comment: How about renaming to `hive.datetime.formatter.legacy.enabled`? That way we create a `hive.datetime` namespace which we can use for other props in the future. ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, Review comment: One thing that I am a bit skeptical about is that when I search for `SimpleDateFormat` or `DateTimeFormatter` in the repo I find occurrences in various places (including other UDFs). I am wondering what should we do with the other parts using new/old formatters. The current description of the property makes me believe that it has a kind of global effect but in this PR we are only touching the Unix timestamp UDFs. ## File path: common/src/java/org/apache/hadoop/hive/conf/HiveConf.java ## @@ -3711,6 +3711,11 @@ private static void populateLlapDaemonVarsSet(Set llapDaemonVarsSetLocal "1800s", new TimeValidator(TimeUnit.SECONDS), "Interval to synchronize privileges from external authorizer periodically in HS2"), +HIVE_LEGACY_TIMEPARSER_POLICY("hive.legacy.timeparser.policy", false, +"When true, java.text.SimpleDateFormat is used for formatting and parsing\n" ++ "dates/timestamps in a locale-sensitive manner, which is the approach before Hive 3.x.\n" ++ "When set to false, classes from java.time.* packages are used for the same purpose.\n" ++ "The default value is false, RuntimeException is thrown when we will get different results."), Review comment: Do we throw an exception? I don't think so. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664631) Time Spent: 50m (was: 40m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 50m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > Zon
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664600&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664600 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 12:09 Start Date: 13/Oct/21 12:09 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-942235815 @zabetak Could please review the PR? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664600) Time Spent: 0.5h (was: 20m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 0.5h > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=664601&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-664601 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 13/Oct/21 12:09 Start Date: 13/Oct/21 12:09 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma edited a comment on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-942235815 @zabetak Could you please review the PR? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 664601) Time Spent: 40m (was: 0.5h) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 3.1.0, 3.0.0, 3.1.1, 3.1.2, 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 40m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Work logged] (HIVE-25576) Add config to parse date with older date format
[ https://issues.apache.org/jira/browse/HIVE-25576?focusedWorklogId=660079&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-660079 ] ASF GitHub Bot logged work on HIVE-25576: - Author: ASF GitHub Bot Created on: 05/Oct/21 03:59 Start Date: 05/Oct/21 03:59 Worklog Time Spent: 10m Work Description: ashish-kumar-sharma commented on pull request #2690: URL: https://github.com/apache/hive/pull/2690#issuecomment-934037741 @zabetak @sankarh Could guys please review the PR? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: gitbox-unsubscr...@hive.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org Issue Time Tracking --- Worklog Id: (was: 660079) Time Spent: 20m (was: 10m) > Add config to parse date with older date format > --- > > Key: HIVE-25576 > URL: https://issues.apache.org/jira/browse/HIVE-25576 > Project: Hive > Issue Type: Improvement >Affects Versions: 4.0.0 >Reporter: Ashish Sharma >Assignee: Ashish Sharma >Priority: Major > Labels: pull-request-available > Time Spent: 20m > Remaining Estimate: 0h > > *History* > *Hive 1.2* - > VM time zone set to Asia/Bangkok > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 07:00:00 > *Implementation details* - > SimpleDateFormat formatter = new SimpleDateFormat(pattern); > Long unixtime = formatter.parse(textval).getTime() / 1000; > Date date = new Date(unixtime * 1000L); > https://docs.oracle.com/javase/8/docs/api/java/util/Date.html . In official > documentation they have mention that "Unfortunately, the API for these > functions was not amenable to internationalization and The corresponding > methods in Date are deprecated" . Due to that this is producing wrong result > *Master branch* - > set hive.local.time.zone=Asia/Bangkok; > *Query* - SELECT FROM_UNIXTIME(UNIX_TIMESTAMP('1800-01-01 00:00:00 > UTC','-MM-dd HH:mm:ss z')); > *Result* - 1800-01-01 06:42:04 > *Implementation details* - > DateTimeFormatter dtformatter = new DateTimeFormatterBuilder() > .parseCaseInsensitive() > .appendPattern(pattern) > .toFormatter(); > ZonedDateTime zonedDateTime = > ZonedDateTime.parse(textval,dtformatter).withZoneSameInstant(ZoneId.of(timezone)); > Long dttime = zonedDateTime.toInstant().getEpochSecond(); > *Problem*- > Now *SimpleDateFormat* has been replaced with *DateTimeFormatter* which is > giving the correct result but it is not backword compatible. Which is causing > issue at time for migration to new version. Because the older data written is > using Hive 1.x or 2.x is not compatible with *DateTimeFormatter*. > *Solution* > Introduce an config "hive.legacy.timeParserPolicy" with following values - > 1. *True*- use *SimpleDateFormat* > 2. *False* - use *DateTimeFormatter* > Note: apache spark also face the same issue > https://issues.apache.org/jira/browse/SPARK-30668 -- This message was sent by Atlassian Jira (v8.3.4#803005)