Full_Name: Howard Chu
Submission from: (NULL) (184.108.40.206)
Submitted by: hyc
Currently we provide SlapReply flag REP_ENTRY_MUSTRELEASE which tells
slap_send_search_entry() to release the current entry before writing to the
network. syncprov uses it, but not much else does.
If a client issues a search request that produces a large result set, and the
client doesn't read the results quickly enough, eventually the socket buffers on
client and server will fill up, and the slapd thread writing to the connection
will block. If it blocks while writing an entry that is still readlocked, then
attempts to modify that entry will hang. Subsequent attempts to read that entry
will also hang after a write has hung.
back-bdb/hdb should set the REP_ENTRY_MUSTRELEASE flag when calling
slap_send_search_entry() to prevent this situation.