aerospike / aerospike-client-rust

Rust client for the Aerospike database
https://www.aerospike.com/
Other
82 stars 29 forks source link

Fix for Expression Test #93

Closed jonas32 closed 3 years ago

jonas32 commented 3 years ago
jonas32 commented 3 years ago

The failing test is caused by Aerospike being too fast... I will just set the last update ms count down to at least 10ms age instead of 150ms. If anyone has a better idea to do that check, please tell me.

kportertx commented 3 years ago

Why not drop the check down to 1 ms?

jonas32 commented 3 years ago

I wanted to leave at least some time for it to not get false positives. Getting something around 10ms already looks shady to me. By the way, i saw that circle is testing against ubuntu xenial. Is there any specific reason for that or is it just because no one updated it?

jhecking commented 3 years ago

By the way, i saw that circle is testing against ubuntu xenial. Is there any specific reason for that or is it just because no one updated it?

The CI env was last updated from Trusty to Xenial in Nov 2019. I just checked, and Xenial is still the default distro for Travis CI even now: https://docs.travis-ci.com/user/reference/linux/. That said, I don't see a reason not to switch to Bionic or even Focal. But what would be the benefit? (And assuming that the client still works and the tests still pass on those newer platforms, of course.)

jhecking commented 3 years ago

Fixed returns for HLL from the new Server version (5.4)

@kportertx Any idea why the number of records returned would have changed between 5.4 and earlier server versions?

kportertx commented 3 years ago

This is related to the rust client's msgpack not packing efficiently bug. The HLL library assumed efficient packing was enforced by the server's msgpack library, because it wasn't the hashed values for rust could be different from other clients. 5.4 corrected this by detecting when values were not packed efficiently and repacking them before hashing. There wasn't a way to fix this problem that would be bug compatible cross clients.

Rust is the only client that I'm aware of that was inefficient for several types. Other clients had an inefficiency when packing bin/strings > 32 bytes and < 255 bytes which were being packed as str16 instead of str8.

jonas32 commented 3 years ago

I will create a PR to update some rust stuff anyways (mainly the clippy warnings for Rust 1.49). When i do that, ill have a look on the msgpack bug.

jhecking commented 3 years ago

This looks good to me. Ready to merge @jonas32?