Possible memory leak with Ci::Config::Node:Validatable?
In an effort to see if I could figure out why Sidekiq was using a lot of RAM, I ran a ObjectSpace heap dump between 3 identical pushes in the Sidekiq task and did a diff analysis (see http://blog.skylight.io/hunting-for-leaks-in-ruby/). One thing that this potentially identified was this:
Leaked 24 CLASS objects of size 0/18432 at: /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/ci/config/node/validatable.rb:10
It's possible this is a false positive, but I did notice the class method creates a new object each time: https://gitlab.com/gitlab-org/gitlab-ce/blob/v8.10.4/lib/gitlab/ci/config/node/validatable.rb#L10
Is it possible that we shouldn't instantiate a new validator each time?
/cc: @grzesiek