Properly SerDes nested collections when protocol_version < 3


nested collections are only serialized with v3 encoding, regardless of protocol version in use.
v3 as a requirement is documented, but we should be able to detect and warn about this condition to avoid confusing silent failures.

This can be done during schema build.

More important now, as default protocol version is still v2.



Pull Requests



Greg Bestland
November 23, 2015, 6:36 PM

This as been fixed. Test case is now added.

Adam Holmberg
November 23, 2015, 5:16 PM

Does not reproduce with pure Python. This was another oversight on the cython side.

Greg Bestland
November 20, 2015, 6:26 PM

So I improved my test based on some feedback. I found an issue.

Here is a link to the improved TestCase.

It would appear that set types are not deserializing appropriately with protocol version 1 and 2. The result when using those protocol versions always contains an empty set. They are being inserted appropriately, as even when inserted with protocol v1, they can be read with protocol v3/v4, but the results of a select query never contain a populated set when using protocol v1/v2.

Here is the output from the test when the asserts are disabled.

Greg Bestland
November 18, 2015, 9:43 PM
Michael Penick
November 12, 2015, 7:20 PM

+1 @ 3b10ce5 For better or worse this is what the cpp-driver does.



Greg Bestland


Adam Holmberg

Fix versions

PM Priority



Michael Penick