Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
C++ writer tests failed in writeTimestamp when Daylight Saving Time started. Errors are
/mnt/volume1/orc/c++/test/TestWriter.cc:596: Failure Expected: times[i] Which is: 1520762379 To be equal to: tsBatch->data[i] Which is: 1520765979 /mnt/volume1/orc/c++/test/TestWriter.cc:596: Failure Expected: times[i] Which is: 1520762319 To be equal to: tsBatch->data[i] Which is: 1520765919 /mnt/volume1/orc/c++/test/TestWriter.cc:596: Failure Expected: times[i] Which is: 1520762259 To be equal to: tsBatch->data[i] Which is: 1520765859 /mnt/volume1/orc/c++/test/TestWriter.cc:596: Failure Expected: times[i] Which is: 1520762199 To be equal to: tsBatch->data[i] Which is: 1520765799 ...
The expected values are 3600 less than the corresponding values.
This can only be reproduced in American timezones which use Daylight Saving Time. In Asia like China, the test can succeed.
As time passes by, the test comes back to succeed. It seems that there's something wrong in dealing with timestamps around the Daylight Saving Time switch point. You can increase the rowCount to 102400 to reproduce this failure in American timezones.