Timestamps are currently converted to datetime objects using utcfromtimestamp(), which as a result of using localtime() or gmtime(), is limited to 1970 through 2038. Timestamps that fall outside this range result in a ValueError.
It looks like there are workarounds for this that should be viable (since we don't care about timezones): http://stackoverflow.com/questions/10588027/converting-timestamps-larger-than-maxint-into-datetime-objects
Note: these times are apparently handled on 64-bit platforms:
I'm assuming this issue would be to make sure 64b timestamps convert correctly on 32b platforms.
This was addressed in the workaround first introduced for PYTHON-119.
The conversion routine is now contained in util.datetime_from_timestamp.
I updated one deserialization test to make it work on 32-bit platforms:
+1 Updated test
Assigning for review of existing tests.
I took a crack at an integration test for this, but it did improve the code coverage any greater than the unit tests, and I don't want to needless add to our integration tests runs.
This looks good thanks Adam.