Automation accidentally added a prefix list of approximately 50k lines to my config. The initial commit succeded after a few minutes and FRR accepted the large list and used it with no problems. Further commands in conf mode such as commit, save or compare cause one CPU core to run at 100% for a very very long time. It's unknown exactly how long or if the command would ever complete - we killed the commit command attempting to remove the large list after approximately 3 hours and rebooted to roll back to the boot config which never had the list in it.
The process taking all the CPU time was /usr/libexec/vyos/conf_mode/policy.py. My assumption is that it was parsing the config. There was no sign of high RAM use or disk IO, it was just CPU time.
A sample of the prefix-list is:
# # Prefix-lists for AS13335 - Cloudflare # delete policy prefix-list pm-from-as13335 set policy prefix-list pm-from-as13335 rule 1 action permit set policy prefix-list pm-from-as13335 rule 1 prefix 1.0.0.0/24 set policy prefix-list pm-from-as13335 rule 2 action permit set policy prefix-list pm-from-as13335 rule 2 prefix 1.0.4.0/22 set policy prefix-list pm-from-as13335 rule 2 le 24 set policy prefix-list pm-from-as13335 rule 3 action permit set policy prefix-list pm-from-as13335 rule 3 prefix 1.1.1.0/24 <BIG SNIP!> set policy prefix-list pm-from-as13335 rule 21247 action permit set policy prefix-list pm-from-as13335 rule 21247 prefix 223.223.219.0/24 set policy prefix-list pm-from-as13335 rule 21248 action permit set policy prefix-list pm-from-as13335 rule 21248 prefix 223.252.0.0/17 set policy prefix-list pm-from-as13335 rule 21248 le 24 set policy prefix-list pm-from-as13335 rule 21249 action permit set policy prefix-list pm-from-as13335 rule 21249 prefix 223.252.160.0/19 set policy prefix-list pm-from-as13335 rule 21249 le 24