According to the user guide the callback of find_next is optional:This optional callback can be registered to optimize cases where ConfD wants to start a list traversalat some other point than at the first entry of the list, or otherwise make a "jump" in a list traversal. Ifthe callback is not registered, ConfD will use a sequence of get_next() calls to find the desiredlist entry.In my application I didn't define this callback but I got the following error:TRACE CALL data find_next(thandle=35, /routing/control-plane-protocols/control-plane-protocol, next, {eci-bgp:bgp master})DEBUG No find_next() callback installed

You can request that find_next() is used, by returning -1 for the 'next' value from your get_next() callback - from the confd_lib_dp(3) manual page:

int confd_data_reply_next_key(struct confd_trans_ctx *tctx,
const confd_value_t *v,
int num_vals_in_key, long next);
...
Passing the value -1 for _next_ has a special meaning. It tells ConfD
that we want the next request for this list traversal to use the
find_next() (or find_next_object()) callback instead of get_next() (or
get_next_object()).

If you do this (and I believe that you did, but presumably unintentionally), you obviously need to have registered find_next() (and/or find_next_object()).