In the case where code has changed, if a lot of different requests start recompiling formulas. This adds items to and OFS.Folder which has no ability to do conflict resolution. This happens often when the request is a long one. Using a BTreeFolder instead should help. Ideally however it would be best to avoid writing data on reads.
Use BTree folders instead of plain Folder
This is needed specifically for the /scripts/ folder;
see issue #497
BTreeFolder would be definitely better.
Note: in Rapido, I have changed the approach regarding formula compilation: they are compiled just after being changed, so they are always already compiled when the user actually needs them. That's might be done in Plomino too.
Pull request submitted #498
@ebrehault we don't always know ahead of time what scripts will be needed. E.g. scripts generated from fields on subforms. But there are for sure a lot of scripts we can compile early.
@djay does #498 help? Can we close this issue?
I can't really put this into production yet I'm sorry.