Affects Version/s: PDB 3.2.0, PDB 3.2.1, PDB 3.2.2
Fix Version/s: PDB 3.2.3
I got a regression/performance issue using puppetdb-termini, version > 3.2
PR #1640 has introduced a warning message when using invalid UTF-8 sequence.
The issue is located here :
This function just takes forever to complete when using a "big" catalog.
Step to reproduce :
It's pretty easy, you just need to trigger this function (so with a catalog with some non UTF-8 caracters), and a "big" catalog. For example :
On my computer, performance of this function is :
With range 10 : 0s
With range 100 : 8s
With range 500 : 3min5s
With range > 10000, still waiting to complete
As you can see, this isn't linear. Catalog compilation isn't affected by this (always <1s).
On a production environment, this bug leads to a puppetserver having all workers 'blocked' on this function, with a 100% cpu consumption.
I think this issue, is specific to Jruby. Using Ruby interpreter, I couldn't reproduce it.
Looking at some jruby issues, I've seen this one : https://github.com/jruby/jruby/issues/504
This could be linked, but I amn't sure.