Hive
  1. Hive
  2. HIVE-4525

Support timestamps earlier than 1970 and later than 2038

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.12.0
    • Component/s: None
    • Labels:
      None

      Description

      TimestampWritable currently serializes timestamps using the lower 31 bits of an int. This does not allow to store timestamps earlier than 1970 or later than a certain point in 2038.

      1. D10755.1.patch
        38 kB
        Phabricator
      2. D10755.2.patch
        38 kB
        Phabricator

        Activity

        Hide
        Mikhail Bautin added a comment -

        Design proposal

        We have to be able to read the current TimestampWritable-serializable format for backward-compatibility, and write the format recognizable by the current TimestampWritable implementation for timestamps within the currently supported range. We can use the negative range of the VInt in the binary representation of the timestamp that normally represents the reversed decimal part to indicate the presence of an additional VInt field that stores the remaining bits of the seconds number (i.e. seconds >> 31). The meaning of the 7th bit of the first byte then changes from "has decimal" to "has decimal or >31 bits of seconds".

        The following table summarizes the four logical cases of timestamp serialization. The first two are backward-compatible. The second two cases are unsupported by the current format, so they will not be recognized by the current version.

        Seconds need >31 bits Has decimal 7th bit of the first byte First VInt Second VInt
        No No 0 N/A N/A
        No Yes 1 reversedDecimal N/A
        Yes No 1 -1 seconds >> 31
        Yes Yes 1 -2 - reversedDecimal seconds >> 31
        Show
        Mikhail Bautin added a comment - Design proposal We have to be able to read the current TimestampWritable -serializable format for backward-compatibility, and write the format recognizable by the current TimestampWritable implementation for timestamps within the currently supported range. We can use the negative range of the VInt in the binary representation of the timestamp that normally represents the reversed decimal part to indicate the presence of an additional VInt field that stores the remaining bits of the seconds number (i.e. seconds >> 31 ). The meaning of the 7th bit of the first byte then changes from "has decimal" to "has decimal or >31 bits of seconds". The following table summarizes the four logical cases of timestamp serialization. The first two are backward-compatible. The second two cases are unsupported by the current format, so they will not be recognized by the current version. Seconds need >31 bits Has decimal 7th bit of the first byte First VInt Second VInt No No 0 N/A N/A No Yes 1 reversedDecimal N/A Yes No 1 -1 seconds >> 31 Yes Yes 1 -2 - reversedDecimal seconds >> 31
        Hide
        Mikhail Bautin added a comment -

        Also, the binary-sortable representation of timestamps would have to change to accommodate additional high-order bits. If a 4-byte second-precision timestamp covers 68 years (or 136 if signed), by adding one most-significant byte we can cover 17408 (or 34816) years, which is good enough for all practical purposes.

        Show
        Mikhail Bautin added a comment - Also, the binary-sortable representation of timestamps would have to change to accommodate additional high-order bits. If a 4-byte second-precision timestamp covers 68 years (or 136 if signed), by adding one most-significant byte we can cover 17408 (or 34816) years, which is good enough for all practical purposes.
        Hide
        Phabricator added a comment -

        mbautin requested code review of "[jira] HIVE-4525 Support timestamps earlier than 1970 and later than 2038".

        Reviewers: JIRA, ashutoshc, sdong, cwsteinbach, omalley

        TimestampWritable currently serializes timestamps using the lower 31 bits of an int. This does not allow to store timestamps earlier than 1970 or later than approximately 03:14:07 UTC on 01/19/2038. This patch modifies TimestampWritable to support all timestamps that can be represented by java.sql.Timestamp.

        TEST PLAN

        • An extensive new TimestampWritable unit test
        • Existing unit tests

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

        AFFECTED FILES
        hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
        ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java
        serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
        serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
        serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
        serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java

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

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

        To: JIRA, ashutoshc, sdong, cwsteinbach, omalley, mbautin

        Show
        Phabricator added a comment - mbautin requested code review of " [jira] HIVE-4525 Support timestamps earlier than 1970 and later than 2038". Reviewers: JIRA, ashutoshc, sdong, cwsteinbach, omalley TimestampWritable currently serializes timestamps using the lower 31 bits of an int. This does not allow to store timestamps earlier than 1970 or later than approximately 03:14:07 UTC on 01/19/2038. This patch modifies TimestampWritable to support all timestamps that can be represented by java.sql.Timestamp. TEST PLAN An extensive new TimestampWritable unit test Existing unit tests REVISION DETAIL https://reviews.facebook.net/D10755 AFFECTED FILES hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java MANAGE HERALD RULES https://reviews.facebook.net/herald/view/differential/ WHY DID I GET THIS EMAIL? https://reviews.facebook.net/herald/transcript/25737/ To: JIRA, ashutoshc, sdong, cwsteinbach, omalley, mbautin
        Hide
        Mikhail Bautin added a comment -

        Correction to the design of this feature (I can't edit comments because of permissions, so adding another comment). In case the seconds field needs more than 31 bit, the first VInt is -1-reversedDecimal regardless of whether reversedDecimal is zero or not.

        Show
        Mikhail Bautin added a comment - Correction to the design of this feature (I can't edit comments because of permissions, so adding another comment). In case the seconds field needs more than 31 bit, the first VInt is -1-reversedDecimal regardless of whether reversedDecimal is zero or not.
        Hide
        Eric Hanson added a comment -

        For vectorized query execution (HIVE-4160), we are going to represent a timestamp value internally as a vector of 64 bit integers representing the number of nanos since the epoch (in 1970). Given your proposal to also support time values before 1970, I'd propose that for vectorized QE we extend this so a negative number of nanos is used to represent a value before 1970. This gives a range of 292 years before or after 1970, good enough for practical purposes. Data outside that range might first not be supported for vectorized QE, and then later might be supported but revert to a slower code path.

        We may want to consider that the storage layer (say ORC) store timestamps simply as a long, so it is not as expensive to flow this data into vectorized query execution. With compression, these long values will compress pretty well, so the storage layout becomes less of a concern and query execution speed becomes the more pressing issue.

        Show
        Eric Hanson added a comment - For vectorized query execution ( HIVE-4160 ), we are going to represent a timestamp value internally as a vector of 64 bit integers representing the number of nanos since the epoch (in 1970). Given your proposal to also support time values before 1970, I'd propose that for vectorized QE we extend this so a negative number of nanos is used to represent a value before 1970. This gives a range of 292 years before or after 1970, good enough for practical purposes. Data outside that range might first not be supported for vectorized QE, and then later might be supported but revert to a slower code path. We may want to consider that the storage layer (say ORC) store timestamps simply as a long, so it is not as expensive to flow this data into vectorized query execution. With compression, these long values will compress pretty well, so the storage layout becomes less of a concern and query execution speed becomes the more pressing issue.
        Hide
        Mikhail Bautin added a comment -

        Eric Hanson: switching to long nanosecond timestamps would definitely be a much nicer solution, but don't you think it would break backward-compatibility for timestamps serialized using the old format?

        Show
        Mikhail Bautin added a comment - Eric Hanson : switching to long nanosecond timestamps would definitely be a much nicer solution, but don't you think it would break backward-compatibility for timestamps serialized using the old format?
        Hide
        Eric Hanson added a comment -

        Yes, so you'd have to support both at least for an extended period of time. It would be a performance enhancement and you'd need to maintain backward compatibility for older data.

        Show
        Eric Hanson added a comment - Yes, so you'd have to support both at least for an extended period of time. It would be a performance enhancement and you'd need to maintain backward compatibility for older data.
        Hide
        Mikhail Bautin added a comment -

        I am not quite sure how to solve the backward compatibility issue in the "writable" part of TimestampWritable code (write/readFields) by switching to a unified nanosecond-timestamp-as-long format. If readFields is presented with eight bytes, would it interpret them as a four-byte int followed by a VInt or as a long nanosecond timestamp? Would it attempt to do the former and revert to the latter if there are inconsistencies? What if the bytes of a long nanosecond timestamp also happen to represent a valid legacy (int/VInt) timestamp?

        In my patch, I try to maintain backward compatibility as much as possible. If a timestamp is in the range that can be represented by the old format, it is serialized using the old format. The extended format I've proposed and implemented for the full timestamp range builds on top of the existing one and can be unambiguously distinguished from the old format by examining serialized bytes.
        In addition, the included test, TestTimestampWritable, tests both the old and the new (extended format), as well as double/BigDecimal conversion, getters/setters/constructors and everything else I could test in TimestampWritable.

        I am sure there is a way to handle vector optimizations for timestamps in a backward-compatible way, and I don't think this patch would make it much more complicated than it already is. However, vectorized computations are a performance optimization, while this issue is a correctness fix. Currently, timestamps outside of the ~1970-2038 range would be silently corrupted in some queries, and this patch successfully fixes that. It is also pretty small and immediately available.

        Show
        Mikhail Bautin added a comment - I am not quite sure how to solve the backward compatibility issue in the "writable" part of TimestampWritable code ( write / readFields ) by switching to a unified nanosecond-timestamp-as-long format. If readFields is presented with eight bytes, would it interpret them as a four-byte int followed by a VInt or as a long nanosecond timestamp? Would it attempt to do the former and revert to the latter if there are inconsistencies? What if the bytes of a long nanosecond timestamp also happen to represent a valid legacy (int/VInt) timestamp? In my patch, I try to maintain backward compatibility as much as possible. If a timestamp is in the range that can be represented by the old format, it is serialized using the old format. The extended format I've proposed and implemented for the full timestamp range builds on top of the existing one and can be unambiguously distinguished from the old format by examining serialized bytes. In addition, the included test, TestTimestampWritable , tests both the old and the new (extended format), as well as double/BigDecimal conversion, getters/setters/constructors and everything else I could test in TimestampWritable . I am sure there is a way to handle vector optimizations for timestamps in a backward-compatible way, and I don't think this patch would make it much more complicated than it already is. However, vectorized computations are a performance optimization, while this issue is a correctness fix. Currently, timestamps outside of the ~1970-2038 range would be silently corrupted in some queries, and this patch successfully fixes that. It is also pretty small and immediately available.
        Hide
        Phabricator added a comment -

        mbautin updated the revision "[jira] HIVE-4525 Support timestamps earlier than 1970 and later than 2038".

        Fixing offset handling and making the test more extensive.

        Reviewers: JIRA, ashutoshc, sdong, cwsteinbach, omalley

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

        CHANGE SINCE LAST DIFF
        https://reviews.facebook.net/D10755?vs=33561&id=33735#toc

        AFFECTED FILES
        hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
        ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java
        serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
        serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
        serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
        serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java

        To: JIRA, ashutoshc, sdong, cwsteinbach, omalley, mbautin

        Show
        Phabricator added a comment - mbautin updated the revision " [jira] HIVE-4525 Support timestamps earlier than 1970 and later than 2038". Fixing offset handling and making the test more extensive. Reviewers: JIRA, ashutoshc, sdong, cwsteinbach, omalley REVISION DETAIL https://reviews.facebook.net/D10755 CHANGE SINCE LAST DIFF https://reviews.facebook.net/D10755?vs=33561&id=33735#toc AFFECTED FILES hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java To: JIRA, ashutoshc, sdong, cwsteinbach, omalley, mbautin
        Hide
        Mikhail Bautin added a comment -

        Test results with and without this patch differ only by a spurious failure of a ZK-related test that is not affected by the changes here.

            • 3838,3843 ****
            • 3838,3845 ----
              [junit] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0
              [junit] Running org.apache.hadoop.hive.serde2.dynamic_type.TestDynamicSerDe
              [junit] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0
              + [junit] Running org.apache.hadoop.hive.serde2.io.TestTimestampWritable
              + [junit] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0
              [junit] Running org.apache.hadoop.hive.serde2.lazy.TestLazyArrayMapStruct
              [junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
              [junit] Running org.apache.hadoop.hive.serde2.lazy.TestLazyPrimitive
              ***************
            • 3901,3906 ****
              [junit] Running org.apache.hcatalog.hbase.snapshot.TestZNodeSetUp
              [junit] Tests run: 0, Failures: 0, Errors: 2, Skipped: 0
              [junit] Running org.apache.hcatalog.hbase.snapshot.lock.WriteLockTest
              ! [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
              [junit] Running org.apache.hcatalog.hbase.snapshot.lock.ZNodeNameTest
              [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
            • 3903,3908 ----
              [junit] Running org.apache.hcatalog.hbase.snapshot.TestZNodeSetUp
              [junit] Tests run: 0, Failures: 0, Errors: 2, Skipped: 0
              [junit] Running org.apache.hcatalog.hbase.snapshot.lock.WriteLockTest
              ! [junit] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0
              [junit] Running org.apache.hcatalog.hbase.snapshot.lock.ZNodeNameTest
              [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
              + set +x

        Committers: could you please take a look and consider committing this? Cc Ashutosh Chauhan, Owen O'Malley, Carl Steinbach. Thanks!

        Show
        Mikhail Bautin added a comment - Test results with and without this patch differ only by a spurious failure of a ZK-related test that is not affected by the changes here. 3838,3843 **** 3838,3845 ---- [junit] Tests run: 5, Failures: 0, Errors: 0, Skipped: 0 [junit] Running org.apache.hadoop.hive.serde2.dynamic_type.TestDynamicSerDe [junit] Tests run: 9, Failures: 0, Errors: 0, Skipped: 0 + [junit] Running org.apache.hadoop.hive.serde2.io.TestTimestampWritable + [junit] Tests run: 11, Failures: 0, Errors: 0, Skipped: 0 [junit] Running org.apache.hadoop.hive.serde2.lazy.TestLazyArrayMapStruct [junit] Tests run: 4, Failures: 0, Errors: 0, Skipped: 0 [junit] Running org.apache.hadoop.hive.serde2.lazy.TestLazyPrimitive *************** 3901,3906 **** [junit] Running org.apache.hcatalog.hbase.snapshot.TestZNodeSetUp [junit] Tests run: 0, Failures: 0, Errors: 2, Skipped: 0 [junit] Running org.apache.hcatalog.hbase.snapshot.lock.WriteLockTest ! [junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0 [junit] Running org.apache.hcatalog.hbase.snapshot.lock.ZNodeNameTest [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 3903,3908 ---- [junit] Running org.apache.hcatalog.hbase.snapshot.TestZNodeSetUp [junit] Tests run: 0, Failures: 0, Errors: 2, Skipped: 0 [junit] Running org.apache.hcatalog.hbase.snapshot.lock.WriteLockTest ! [junit] Tests run: 1, Failures: 1, Errors: 0, Skipped: 0 [junit] Running org.apache.hcatalog.hbase.snapshot.lock.ZNodeNameTest [junit] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0 + set +x Committers: could you please take a look and consider committing this? Cc Ashutosh Chauhan , Owen O'Malley , Carl Steinbach . Thanks!
        Hide
        Ashutosh Chauhan added a comment -

        +1 Looks good.

        Show
        Ashutosh Chauhan added a comment - +1 Looks good.
        Hide
        Ashutosh Chauhan added a comment -

        Committed to trunk. Thanks, Mikhail!

        Show
        Ashutosh Chauhan added a comment - Committed to trunk. Thanks, Mikhail!
        Hide
        Hudson added a comment -

        FAILURE: Integrated in Hive-trunk-hadoop2-ptest #37 (See https://builds.apache.org/job/Hive-trunk-hadoop2-ptest/37/)
        HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537)

        • /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Show
        Hudson added a comment - FAILURE: Integrated in Hive-trunk-hadoop2-ptest #37 (See https://builds.apache.org/job/Hive-trunk-hadoop2-ptest/37/ ) HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537 ) /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Hide
        Hudson added a comment -

        SUCCESS: Integrated in Hive-trunk-hadoop1-ptest #109 (See https://builds.apache.org/job/Hive-trunk-hadoop1-ptest/109/)
        HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537)

        • /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Show
        Hudson added a comment - SUCCESS: Integrated in Hive-trunk-hadoop1-ptest #109 (See https://builds.apache.org/job/Hive-trunk-hadoop1-ptest/109/ ) HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537 ) /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Hide
        Hudson added a comment -

        FAILURE: Integrated in Hive-trunk-h0.21 #2234 (See https://builds.apache.org/job/Hive-trunk-h0.21/2234/)
        HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537)

        • /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Show
        Hudson added a comment - FAILURE: Integrated in Hive-trunk-h0.21 #2234 (See https://builds.apache.org/job/Hive-trunk-h0.21/2234/ ) HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537 ) /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Hide
        Hudson added a comment -

        ABORTED: Integrated in Hive-trunk-hadoop2 #319 (See https://builds.apache.org/job/Hive-trunk-hadoop2/319/)
        HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537)

        • /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java
        • /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java
        • /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io
        • /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Show
        Hudson added a comment - ABORTED: Integrated in Hive-trunk-hadoop2 #319 (See https://builds.apache.org/job/Hive-trunk-hadoop2/319/ ) HIVE-4525 : Support timestamps earlier than 1970 and later than 2038 (Mikhail Bautin via Ashutosh Chauhan) (hashutosh: http://svn.apache.org/viewcvs.cgi/?root=Apache-SVN&view=rev&rev=1508537 ) /hive/trunk/hcatalog/storage-handlers/hbase/src/java/org/apache/hcatalog/hbase/snapshot/RevisionManagerFactory.java /hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/UDFToInteger.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/io/TimestampWritable.java /hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazybinary/LazyBinaryUtils.java /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io /hive/trunk/serde/src/test/org/apache/hadoop/hive/serde2/io/TestTimestampWritable.java
        Hide
        Ashutosh Chauhan added a comment -

        This issue has been fixed and released as part of 0.12 release. If you find further issues, please create a new jira and link it to this one.

        Show
        Ashutosh Chauhan added a comment - This issue has been fixed and released as part of 0.12 release. If you find further issues, please create a new jira and link it to this one.

          People

          • Assignee:
            Mikhail Bautin
            Reporter:
            Mikhail Bautin
          • Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development