Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
    Jason Frey
    @Fryguy
    very interesting....wonder if there's a include_concern type bug there
    (stupid question...how do you enable eager loading?)
    Nick LaMuro
    @NickLaMuro
    when into config/environments/development.rb and switched the eager_load and cache_classes vals to true
    Jason Frey
    @Fryguy
    :+1:
    Keenan Brock
    @kbrock
    @NickLaMuro think there is no inventory.rb stub file
    Keenan Brock
    @kbrock
    module ManageIQ::Providers
      class Hawkular::Inventory::Collector::MiddlewareManager
        ...
      end
    end
    what is Inventory? is that a module?
    annoying that they do the lazy class definition - all on 1 line
    Nick LaMuro
    @NickLaMuro
    one of my bet peeves in ruby...
    but in other news... turns out if you comment out all of MiqServer#monitor you still leak a bit of memory
    @jrafanie ^
    Joe Rafaniello
    @jrafanie
    @NickLaMuro over how long a period?
    Nick LaMuro
    @NickLaMuro
    so my thought with that is we might have an issue with settings
    @jrafanie only 12 hours
    Keenan Brock
    @kbrock
    are you palying with the ruby version?
    wonder if you change the ruby version if it will go away
    Nick LaMuro
    @NickLaMuro
    nope, just commenting out lines on an appliance
    Keenan Brock
    @kbrock
    also wonder if you can drop the gem versions and try again
    Nick LaMuro
    @NickLaMuro
    the other thought though is it might be something in the Settings code
    Keenan Brock
    @kbrock
    using the version of ruby / gems that weren't leaking
    Nick LaMuro
    @NickLaMuro
    since that is still used in monitor_poll
    Joe Rafaniello
    @jrafanie
    @NickLaMuro interesting... I wish we could get it to definitively leak faster
    Nick LaMuro
    @NickLaMuro
    MiqServer#monitor isn't the looping code by the way
    @jrafanie I might just try setting up a loop that just keeps checking Settings
    Joe Rafaniello
    @jrafanie
    I have an idle appliance running for an hour or two and it's roughly the same RSS as before
    Nick LaMuro
    @NickLaMuro
    it is a slow leak, for what it is worth
    20171208_28903.png
    Jason Frey
    @Fryguy
    is that really a leak? If the GC is never invoked (i.e. you don't run out of live slots), then it will never clean up, and yeah RSS will keep going up
    Nick LaMuro
    @NickLaMuro
    hard to say after only running it for such a short amount of time
    Joe Rafaniello
    @jrafanie
    Another dumb idea I had was to add a GC.start in the server process roughly every 30-60 seconds. From your logging @NickLaMuro, sometimes it's 4-5 minutes between full GCs(major_gc_count gets incremented)
    it's hard to say though if it takes several hours to reliably call it a leak
    Jason Frey
    @Fryguy
    @NickLaMuro I got past the hawkular issue, but the next issue with eager load is /Users/jfrey/.gem/ruby/2.4.2/bundler/gems/manageiq-providers-nuage-a1f64a1cc408/app/models/manageiq/providers/nuage/network_manager/event_catcher/messaging_handler.rb:1:in `<top (required)>': uninitialized constant Qpid (NameError)
    which makes sense, but :/
    Keenan Brock
    @kbrock
    @Fryguy it needs a require "qpid_proton"
    Jason Frey
    @Fryguy
    which we can't do, because qpid_proton is optional
    Keenan Brock
    @kbrock
    and it is a subclass of a global scope
    well, I build the gem
    Jason Frey
    @Fryguy
    yup
    Keenan Brock
    @kbrock
    and made it non-optional
    but not able to require it bundle exec irb
    Jason Frey
    @Fryguy
    which makes sense, but :/
    Keenan Brock
    @kbrock
    ended up just commenting out that one and moved on
    wait
    Jason Frey
    @Fryguy
    yup that's what I figured I'd do
    Keenan Brock
    @kbrock
    does it make sense to modify our code (put in PRs) to make this work?
    Jason Frey
    @Fryguy
    eventually, maybe
    Keenan Brock
    @kbrock
    this looks like a 1 day exercise and a number of changes
    I ended up creating a bunch of rb files for each tier of the requires
    it fixed a few things
    Jason Frey
    @Fryguy
    don't know what that means
    Keenan Brock
    @kbrock
    when the requires failed, I created a ruby file with the package name