fix #82, #64 and #21: docs on replication
[awesomized/libmemcached] / BUGS.md
1 # Bugs, Known Issues and Insufficiencies
2
3 ## libhashkit
4
5 ### MurMur
6
7 Hashkit's MurMur/MurMur3 are limited to the lower 32 bits.
8
9 ### crc32
10
11 Commit "[More Hashing methods](./commits/1207354f)" from October 2007
12 first released in v0.8, which main intention seems to have been to add
13 FNV1 hash algos, changed the result of the crc32 hash to only its upper
14 16 bits sans MSB, without any additional comment.
15
16 The implementations referred to in the file header (Postgres and BSD)
17 do not exhibit this behavior.
18
19 A [bug report](https://bugs.launchpad.net/libmemcached/+bug/604178) was
20 filed three years later on launchpad, which was marked `Won't fix` with
21 the comment that it was for compatibility with other "drivers", which
22 supposedly refers to other memcached client libraries.
23
24
25 ## libmemcached
26
27 ### Replication
28
29 This is a somewhat badly named feature, because it **does not** provide
30 any of the guaranties one would expect from a proper replication.
31
32 One can set the intended number of additional servers where data should
33 be stored with the behavior `MEMCACHED_BEHAVIOR_NUMBER_OF_REPLICAS` and
34 specify whether `MGET`s/`GET`s should read from a random server with
35 `MEMCACHED_BEHAVIOR_RANDOMIZE_REPLICA_READ`. `DELETE`s will try to
36 delete the key from all replicas.
37
38 The binary protocol is required and any other command is unaffected.