connection_pool_max/2 operations already executing. May want to tune
this to a higher value, e.g. connection_pool_max - XX, etc. Fix in
result.c throttles the connection too late, all threads are already
consumed by the time the send buffer blocks.
} else {
conn->c_n_ops_executing++;
+ /* Don't allow any single conn to soak up all of the
+ * available threads
+ */
+ if (conn->c_n_ops_executing > connection_pool_max/2) {
+ ber_socket_t sd;
+
+ ber_sockbuf_ctrl( conn->c_sb, LBER_SB_OPT_GET_FD, &sd );
+ slapd_clr_read( sd, 0 );
+ }
connection_op_activate( conn, op );
}