Merge request diffs serialization is a major slowdown
Created by: CedricGatay
I recently had a problem with resque jobs eatings CPU like hell and seems stuck. I digged into the code and found out that the serialization of st_diffs in merge_requests.rb seems to be the major slowdown. In my different attempts, it appears that when I have a lot of diff objects it runs infinitely (361 in the current case).
I can fix try to fix this but I would like some advice on it:
- is it really necessary to save st_diffs in the database ?
- if it is, can we try backing it up using JSON instead of the serialize method of ActiveRecord ?
Thanks for the reply