Shouldn't AbstractDocument expiry be a long data type

com.couchbase.client.java.document
Class AbstractDocument

protected AbstractDocument(String id, int expiry, T content, long cas)

Shouldn’t expiry here be long. I noticed in some other classes its long, some its int. Assuming this is time to live and unix time stamp long would be needed to pass in dates > 03:14:07 UTC on 19 January 2038

In which classes is the expiry long? That is a bug then most likely. Expiry is defined in the protocol and stored as 4 bytes on the server, which maps to an 4 byte integer.

And yes, you are right on 2038. This is a more broad problem to be addressed in a few years I guess: http://en.wikipedia.org/wiki/Year_2038_problem

Btw, I think this question would be a perfect fit for a couchbase trivia game hehe.