Change in Get() functionality with addition of Touch()?


#1

We have a process that will spin through the objects in one of our buckets and just make sure that they are still current and not out of sync with the back end store. We have had this process for 2-3 years, first on 1.8 and more recently on 2.5 (enterprise).

When we moved from 1.8 to 2.5, we had to upgrade the .NET client version to go with it. Since then we have seen some odd behaviors - things falling out of Couchbase that didn’t used to do so. I have a hypothesis/question to pose about this:

Our process spins through and does a TryGet() operation on all the keys. If it finds a key, it moves on and does nothing.

Is it possible that, in the older server/client, doing a TryGet (or a Get) would cause the expiration to reset, but in the newer version (the one that seems to have introduced the Touch method), TryGet/Get do not? That to get the expiration to reset on an object, you now have to explicitly call the Touch method with that key?

It would explain our changed behavior, but I don’t have an older environment in which to test this any longer.

Tony


#2

Hi Tony -

Yes, it’s absolutely possible that the behavior has changed. What version of the client were you using and what version are you using now?

-Jeff


#3

The current version, procured from NuGet, I believe:

File Version: 1.3.4.0
Product Version: 1.3.3-8-gd233a5e

The previous version was from Oct 2011, and was actually source code we pulled from an opensource project on git-hub, I believe. I don’t see a version in any comment block, etc.