When using the ttl parameter and setting it according to the documentation (the number of seconds for the expiration), it is possible to inadvertendly delete documents by setting wrong ttl values.
For example, if your expiration time is 5 years, you will dutifully multiply 606024*365 and pass the resulting number as ttl. It turns out that, contrary to the python client documentation, couchbase will threat all values above 30 days as a unix epoch time, which will convert your 5 years of expiration into the 1970-ies, which will remove the corresponding document immediately on next request.