Interesting. What seems to be happening is that options take byte strings as their parameter, and in this case the value “0” is being passed in as a byte string. The option code tries to interpret the byte string as an 8-byte little endian integer and that of course fails.
It works if you instead try:
option on TIMEOUT \x00\x00\x00\x00\x00\x00\x00\x00
Of course, that’s a bit awkward. I’m not sure I’ve ever tried to set a numeric option in fdbcli, so I hadn’t really ever considered that it would behave this way.
For the specific case of setting a timeout, though, we have an option that you can pass in (which is for some reason undocumented) called
--timeout, and it only works with
--exec. For example:
fdbcli --exec "getrange \x00 \xff" --timeout 5
The default behavior is to have no timeout, so if you want the value
0 you don’t need to do anything special.