Description
The expiration time for a document in Couchbase is set differently based on whether the TTL number is less than or greater than 30 days. This is utterly confusing and a rich source of hard-to-find bugs. There is no significance to the magic number of 30 days and worse, treating the same input parameter differently beyond the 30 day boundary.
The API should be consistent in it's expectation of TTL, either by clearly specifying a time unit from current instance (for example, by using Java 8 ChronoUnit) or by using different parameters for relative and absolute time. Mangling both into one is, at best, a bad idea.
http://developer.couchbase.com/documentation/server/4.0/developer-guide/expiry.html