Try all known plugins for LCB_IO_OPS_DEFAULT in run time
Allow to use ‘cbc-hash’ with files
Create man pages for cbc and cbcrc
Use dynamic versioning for plugins
Lookup the plugin symbol also in the current executable image.
Allow the user to specify a different hash key. All of the data operations contains a hashkey and nhashkey field. This allows you to “group” items together in your cluster. A typical use case for this is if you’re storing lets say data for a single user in multiple objects. If you want to ensure that either all or none of the objects are available if a server goes down, it could be a good idea to locate them on the same server. Do bear in mind that if you do try to decide where objects is located, you may end up with an uneven distribution of the number of items on each node. This will again result in some nodes being more busy than others etc. This is why some clients doesn’t allow you to do this, so bear in mind that by doing so you might not be able to get your objects from other clients.
Add documentation about the error codes
Add lcb_verify_compiler_setup(). This function allows the “user” of the library to verify that the compiler use a compatible struct packing scheme.
lcb_error_t member in the http callbacks shouldn’t reflect the HTTP response code. So the error code will be always LCB_SUCCESS if the library managed to receive the data successfully.
Fix cbc-bucket-create. `sasl-password' is misspelled, and it fails to parse the command line option.
Remove libtool version from the plugins
Do not allow admin operations without authentication
check for ewouldblock/eintr on failed send
Purge stale OBSERVE packets
Allow to use gethrtime() from C++
Remove unauthorized asserion (d344037). The lcb_server_send_packets() function later check if the server object connected and establish connection if not (with raising possible errors)
Don’t use the time_t for win32. When compiling from php it turns out that it gets another size of the time_t type, causing the struct offsets to differ.
Reformat and refactor lcb_server_purge_implicit_responses:
move packet allocation out of GET handler
dropping NOOP command shouldn’t return error code
Try to switch another server from backup list on timeout
Timer in libev uses double for interval. Ref: http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#code_ev_timer_code_relative_and_opti
Fix illegal memory access. Reconnect config listener if the config connection was gone without proper shutdown.
Fix using freed memory (was introduced in 4397181)
Return zero from do_read_data() if operations_per_call reached. The `operations_per_call' limit was introduced to prevent from freezing event loop. But in the function variable rv could store two different results and in case of reaching this limit it is returning number of the processed records, which is wrong. The function should return either zero (success) or non-zero (failure).