GeoServer : GSIP 86 - Promote monitor module to extension
This page last changed on Jan 16, 2013 by groldan.
Promoting the monitoring module from community to extension with some restructuring along the way.
Under Discussion, In Progress, Completed, Rejected, Deferred
The monitoring module is one of the more widely used community modules and has been a good candidate for promotion for quite some time.
Coupled with the promotion is a bit of reorganization to restructure the plugin into two parts.
The main motivation for doing so is to relieve users who don't require persistence from paying the pice that comes with hibernate, which is a very sizeable (and complex) dependency.
To sum up basically moving out the monitoring dao into a separate module resulting in two modules.
1. The monitor core module - as it exists today, minus the hibernate dao
Implicit in this change is making the backend dao fully pluggable, which isn't the case today. This should make it easier to implement new back end daos.
The biggest impact is that projects that are using on the hibernate backend will have to update their dependencies. Aside from that not much should really change. The plan is do the refactoring in a way that behaves exactly like it does today when the hibernate module is present.
However there are some subtle things that will change in the core module related to configuration. Currently the monitor config has the "mode" property which is currently a mix of two things. The first is that it controls which dao is chosen, the memory dao or the hibernate dao. But it also controls how the hibernate dao operates with respect to when during the life cycle of a request it persists to the database.
In light of this i am also proposing the following configuration changes.
1. A new config parameter named "storage", which would control specially what dao is used. Its values would be "memory", "hibernate", and the future names of daos yet to be implemented. I was also thinking "none" would make sense as well which would basically make persistent a no-op. For instance this would be handy for folks who only use the audit logging functionality and don't want to pay the overhead of the memory dao, even though the overhead is fairly minimal.
2. A change to the "mode" parameter to be one of "live" or "history", which is a subset of what he values are today. Basically removing the "hybrid" mode. The value "live" specifies that the dao should persist continuously over the life cycle of the request. The value "history" specifies that the dao should only persist after the request is fully completed. To retain backward compatibility the value "hybrid" will still be recognized by the hibernate extension but will essentially be an alias for "live". Which is more or less the same behaviour as today.
First thing is to ensure all the requirements for promotion have been met.
The module has at least a "handful" of users
The module has a designated and active maintainer.
The module is considered "stable" by the majority of the PSC
The module maintains 40% test coverage
Line coverage average is about 55%.
The module has no IP violations
The module has a page in the user manual
The maintainer has signed the GeoServer Contributor Agreement
|Document generated by Confluence on May 14, 2014 23:00|