This may be related to the fix for the problem described in this thread: Wrong data stored in date only fields.
The object and its date and time fields are the same as in the referenced thread. Except we are using ObjectDB 2.6.4_08, the system time zone is set to EST and both the OS and JVM are using the 2015g time zone data.
While we cannot see a problem with date only fields (more testing pending) now it appears that there is a problem with time only fields. The issue appears at random and in 100K records it will show up in about 1.5K records with no obvious pattern. Also it appears that it happens for some time zones only - we provide example with the EST time zone.
The attached DB has 9 records and as you can see the startTime parameter is set to "31 Dec 1969 hh:mm:ss" when it should be set to "01 Jan 1970 hh:mm:ss". Usually the value is wrong by 24 hours, but see further explanation of some odd values below.
Here is the data used to create the 9 records:
2015-12-19 18:12:53,000 INFO [Thread-26] - --- 2015-12-19 18:12:53,015 INFO [Thread-26] - RMD.startDateTime=Wed Dec 09 20:46:28 EST 2015 2015-12-19 18:12:53,016 INFO [Thread-26] - RMD.startDate=Wed Dec 09 12:00:00 EST 2015 2015-12-19 18:12:53,016 INFO [Thread-26] - RMD.startTime=Thu Jan 01 20:46:28 EST 1970 2015-12-19 18:12:53,029 INFO [Thread-26] - --- 2015-12-19 18:12:53,030 INFO [Thread-26] - RMD.startDateTime=Wed Dec 09 20:50:05 EST 2015 2015-12-19 18:12:53,031 INFO [Thread-26] - RMD.startDate=Wed Dec 09 12:00:00 EST 2015 2015-12-19 18:12:53,031 INFO [Thread-26] - RMD.startTime=Thu Jan 01 20:50:05 EST 1970 2015-12-19 18:12:53,033 INFO [Thread-26] - --- 2015-12-19 18:12:53,033 INFO [Thread-26] - RMD.startDateTime=Wed Dec 09 20:41:37 EST 2015 2015-12-19 18:12:53,034 INFO [Thread-26] - RMD.startDate=Wed Dec 09 12:00:00 EST 2015 2015-12-19 18:12:53,035 INFO [Thread-26] - RMD.startTime=Thu Jan 01 20:41:37 EST 1970 2015-12-19 18:12:53,036 INFO [Thread-26] - --- 2015-12-19 18:12:53,037 INFO [Thread-26] - RMD.startDateTime=Wed Dec 09 18:59:58 EST 2015 2015-12-19 18:12:53,037 INFO [Thread-26] - RMD.startDate=Wed Dec 09 12:00:00 EST 2015 2015-12-19 18:12:53,038 INFO [Thread-26] - RMD.startTime=Thu Jan 01 18:59:58 EST 1970 2015-12-19 18:12:53,040 INFO [Thread-26] - --- 2015-12-19 18:12:53,040 INFO [Thread-26] - RMD.startDateTime=Wed Dec 09 21:24:58 EST 2015 2015-12-19 18:12:53,041 INFO [Thread-26] - RMD.startDate=Wed Dec 09 12:00:00 EST 2015 2015-12-19 18:12:53,042 INFO [Thread-26] - RMD.startTime=Thu Jan 01 21:24:58 EST 1970 2015-12-19 18:12:53,043 INFO [Thread-26] - --- 2015-12-19 18:12:53,044 INFO [Thread-26] - RMD.startDateTime=Wed Dec 09 21:26:19 EST 2015 2015-12-19 18:12:53,045 INFO [Thread-26] - RMD.startDate=Wed Dec 09 12:00:00 EST 2015 2015-12-19 18:12:53,046 INFO [Thread-26] - RMD.startTime=Thu Jan 01 21:26:19 EST 1970 2015-12-19 18:12:53,047 INFO [Thread-26] - --- 2015-12-19 18:12:53,048 INFO [Thread-26] - RMD.startDateTime=Fri Dec 11 23:55:07 EST 2015 2015-12-19 18:12:53,049 INFO [Thread-26] - RMD.startDate=Fri Dec 11 12:00:00 EST 2015 2015-12-19 18:12:53,050 INFO [Thread-26] - RMD.startTime=Thu Jan 01 23:55:07 EST 1970 2015-12-19 18:12:53,051 INFO [Thread-26] - --- 2015-12-19 18:12:53,052 INFO [Thread-26] - RMD.startDateTime=Tue Dec 08 18:59:57 EST 2015 2015-12-19 18:12:53,052 INFO [Thread-26] - RMD.startDate=Tue Dec 08 12:00:00 EST 2015 2015-12-19 18:12:53,053 INFO [Thread-26] - RMD.startTime=Thu Jan 01 18:59:57 EST 1970 2015-12-19 18:12:53,055 INFO [Thread-26] - --- 2015-12-19 18:12:53,055 INFO [Thread-26] - RMD.startDateTime=Fri Oct 30 18:18:14 EDT 2015 2015-12-19 18:12:53,056 INFO [Thread-26] - RMD.startDate=Fri Oct 30 12:00:00 EDT 2015 2015-12-19 18:12:53,057 INFO [Thread-26] - RMD.startTime=Thu Jan 01 18:18:14 EST 1970
We can reproduce the problem reliably with the above data.
Also, note the difference in the value of startTime in record 0 and 8. For 0 the input is "Thu Jan 01 20:46:28 EST 1970" while the data in the DB is "Wed Dec 31 20:46:28 EST 1969", i.e the error is exactly 1 day behind.
For record 8 the input is "Thu Jan 01 18:18:14 EST 1970" while the data in the DB is "Wed Dec 31 19:42:01 EST 1969", which is a very odd value.
Emil