Graylog2 / graylog2-server

Free and open log management
https://www.graylog.org
Other
7.33k stars 1.06k forks source link

Reload plugins with out graylog server restart #1395

Closed g4graylog closed 9 years ago

g4graylog commented 9 years ago

Hi Team,

Not sure if we have this feature in graylog.

I don't think the changes in plugin folder are dynamically picked up. It would be a good feature if we have this.

Thanks -Gangadhar

kroepke commented 9 years ago

Graylog cannot reload plugins due to the way our dependency injection works. I'm not aware of anything except OSGi that supports hot reloading in any kind of semi-sane way, but at the same time that flexibility comes at a very high cost. The complexity involved in allowing arbitrary code to change at runtime is immense, error prone and very hard to test.

Why do you need reloading plugins, and specifically which plugins do you need to be reloadable? If we had specific requirements we could see if it makes sense to support this for a subset of the plugins.

g4graylog commented 9 years ago

I completely understand you, and the difficulties/limitations around implementing this feature.

Usually when you have your application in production you would like to have zero downtime. I have used Graylog Plugin API to extend/add features specific to my business needs.

Thanks -Gangadhar

On Thu, Sep 3, 2015 at 11:23 PM, Kay Roepke notifications@github.com wrote:

Graylog cannot reload plugins due to the way our dependency injection works. I'm not aware of anything except OSGi that supports hot reloading in any kind of semi-sane way, but at the same time that flexibility comes at a very high cost. The complexity involved in allowing arbitrary code to change at runtime is immense, error prone and very hard to test.

Why do you need reloading plugins, and specifically which plugins do you need to be reloadable? If we had specific requirements we could see if it makes sense to support this for a subset of the plugins.

— Reply to this email directly or view it on GitHub https://github.com/Graylog2/graylog2-server/issues/1395#issuecomment-137657500 .

dennisoelkers commented 9 years ago

I think this is not the correct way to achieve zero downtime. Instead you should set up identical nodes which can be used for load balancing and/or failover. This way you are also able to do rolling upgrades of Graylog without downtimes.

razvanphp commented 8 years ago

Still, what about an API to change the retention period and type on-the-fly? This was the reason for most of the restarts lately in our case.