After upgrade from C# SDK 3.0.7 to 3.1.0 All GetAsync("Some-Key") throwing error: Specified argument was out of the range of valid values

Hi,

After upgrade from C# SDK 3.0.7 to 3.1.0 All of the calls to

GetAsync(“Some-Key”);

Is now throwing error: Specified argument was out of the range of valid values.

I am using the DefaultTranscoder as far as I can tell as I deleted the LegacyTranscoder option.

These are all of my Config Settings:

Thanks,

Brian Davis

Hi @Brian_Davis -

In general you’ll need to read with the same transcoder that you wrote with, otherwise you’ll likely encounter an error. So, if you were using the LegacyTranscoder and you switched to the DefaultTranscoder, you may encounter an error as the document was written with different flags.

-Jeff

I was getting the same error when I was using the LegacyTranscoder option and then saw the post LegacyTranscoder changed from version 3.0.7 to 3.1.0

Then I deleted the option part and just did a get without options but still getting same error.

Would the Loading... fix in 3.1.1 fix this issue?

I am first creating a new document and then I get it right away so should be using the same transcoder through?

I am not testing with a pre-existing document, but generating one on the fly during the connection testing process.

CouchBaseClient.Upsert<ConnectionTestData>("ConnectionSetup",$"Main-Bucket-ConnectionSetUp-{testData.ID}", testData);

 CouchBaseClient.GetDocument<ConnectionTestData>("ConnectionSetup", $"Main-Bucket-ConnectionSetUp-{testData.ID}");

So should be using the same transcoder.

When I updated the NuGet package and then clean solution and rebuild and run then got error, did not change any code before.

Then I saw in form post could be related to the LegacyTranscoder so then I removed that option and still getting the exact same error through.

Was using the LegacyTranscoder only as a work around for a previous issue:

@Brian_Davis -

Yes, possibly, you can always pull down that commit and test it out or wait until we release it the 2nd week of January.

Yeah, for sure.

I do suspect that since you’ve switched transcoders your documents are in a “hybrid” state - or at least some of them are. There are a couple of ways to remedy this:

  • Flush the bucket and start from scratch with fresh data

  • Go through the data and read with the converter that works and then write using the transcoder you wish to convert the documents to.

  • You could even write a custom transcoder and handle the conversion logic there I imagine.

It would be useful to post the entire exception + stacktrace to rule out another issue.

-Jeff