Minimal expiration time

If I set expiration time less than 1000 ms (999 ms for example), than I’ll get eternal record. And I’ll get the same result with negative expiration time. I didn’t find description of such behavior anywhere.

Can you outline which API you’re using and which version? In the 2.7 SDK, arguments may be in Integers, but the value of that is seconds, not milliseconds. I believe this is all covered in the API reference.

In any case, with some further description of the API or version, either @AV25242 or @jmorris can probably help.

I am using 3.0 SDK. I set expiration time by TimeSpan and it can be set by any kind of value, ms or ticks. And it isn’t covered.
https://docs.couchbase.com/dotnet-sdk/current/howtos/kv-operations.html#expiration-ttl
https://docs.couchbase.com/dotnet-sdk/current/concept-docs/documents.html#expiry

@Ramirag the documentation does provide coverage for various mutation options as specified in the api reference.
Are you talking about a specific behavior when you pass in a -ve value for the timespan? and that it not mentioned in the docs ?

Hi @Ramirag -

You have an encountered a bug with SDK3 (its fixed in sdk2) - the server converts any expiration less than 1000ms as being an infinite timeout; the SDK should detect this and make the value 1000ms. I created a ticket for fixing and it should be in the next regular release!

-Jeff

3 Likes

I didn’t find any where data that server converts any expiration less than 1000ms as being an infinite timeout.