Yang multiple list deletes

When we perform a delete operation on the list with entries > 100 confd seems to be taking endless time even on a powerful 8 core machine. Could you please help us out with this.

Best regards,
Poornima.M

You did not give us much to work with other than that deleting your list entries takes a long time. YANG model, some config data, and logs could be a good start.

Hi Poornima,

Are you trying to delete one record or the whole list?
If you are only deleting one record it shouldn’t take this much time.

If you are using cdb_diff_iterate(), ConfD will iterate over all of the changes including deletes. Your iter function will be called 100 times if you are deleting all of the 100 records.

Maybe you can spend some time pin pointing where the time is spent: Might the processing of the deletes in your backend or something else.

Hello Cohult,

Our Yang schema is like,

container ap{
list database{
config true;
key mac;
unique mac;
leaf mac {
type wireless:mac-address;
}
– lot of configuration leaf/container(s)
container oper-state{
config false;
grouping for operstatedata;
}
}

When we have around 100 or more entries in the list, no ap database takes a lot of time.
For instance, for a list of around 150 entries, deleting one mac takes around 15-20 mins. And the system is running with 100% CPU.

We also have webui support for the same and from webui when we select multiple entries and delete, that too is taking a lot of time.

Also, please let me know which logs you are taking about and how to enable them. I shall send you across the details.

Thanks in advance. :slight_smile:

Hello nabil,

We have not registered any call-backs for delete. All we are doing is subscribe for the delete and clean-up some operations for a particular entry. Is it possible to tell us what search mechanism is used if the key is (string which is the case with us)?

There is something odd and wrong in your system. The delete operation is very fast usually. I recommend reaching out to the Tail-f support in order to look at your specific environment.