hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alan Gates (JIRA)" <>
Subject [jira] [Commented] (HIVE-8605) HIVE-5799 breaks backward compatibility for time values in config
Date Mon, 27 Oct 2014 16:26:33 GMT


Alan Gates commented on HIVE-8605:

As far as I know all of the time units were whole integers, so 'd' for double, and 'f' for
float probably don't make sense.  'l' for long is the only one I know of people using (we
found this when a co-worker copied a config file from 0.13 and used it against 0.14 branch).
 So I could change the patch to just support 'l'.  We have to find someway not to break that
backward compatibility without also breaking your changes to do the time units.

> HIVE-5799 breaks backward compatibility for time values in config
> -----------------------------------------------------------------
>                 Key: HIVE-8605
>                 URL:
>             Project: Hive
>          Issue Type: Bug
>          Components: Configuration
>    Affects Versions: 0.14.0
>            Reporter: Alan Gates
>            Assignee: Alan Gates
>            Priority: Blocker
>             Fix For: 0.14.0
>         Attachments: HIVE-8605.patch
> It is legal for long values in the config file to have an L or for float values to have
an f.  For example, the default value for hive.compactor.check.interval was 300L.  As part
of HIVE-5799, many long values were converted to TimeUnit.  Attempts to read these values
now throw "java.lang.IllegalArgumentException: Invalid time unit l"
> We need to change this to ignore the L or f, so that users existing config files don't
break.  I propose to do this by changing HiveConf.unitFor to detect the L or f and interpret
it to mean the default time unit.

This message was sent by Atlassian JIRA

View raw message