You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Michael Dürig <md...@apache.org> on 2016/10/10 10:12:35 UTC

[Segment Tar] Aligning revision gc related MBeans

Hi,

I was looking into how we could align the various MBeans exposing the 
functionality from the file store. Currently we have GCMonitorMBean, 
SegmentRevisionGCMBean Segment Tar. The former exposes the status of gc 
and the latter its its configuration and management. As with 
OAK-4835 the latter should also receive a method for cancelling a 
running gc, I think it would make sense to make the status also part of 
the same MBean. To that respect I think we should merge the 
functionality of GCMonitorMBean into SegmentRevisionGCMBean.

See https://github.com/mduerig/jackrabbit-oak/commits/OAK-4835 where I 
implemented this over a couple of commits:

* 
https://github.com/mduerig/jackrabbit-oak/commit/5a2f20f403768a509211365a06b9860064f2b97a 
introduces a generic option for cancelling revision gc from oak-core 
(RepositoryManagementMBean and RevisionGCMBean).

* 
https://github.com/mduerig/jackrabbit-oak/commit/8b02bf58be99cd24fd85771c7ece041e223aab90 
encapsulates gc related functionality in Segment Tar into a subclass and 
implements cancelling of gc without having to rely on external state. 
This encapsulation also simplifies avoiding concurrent calls to 
cleanup() and compact().

* 
https://github.com/mduerig/jackrabbit-oak/commit/06047e27fb1576dd3c1bcd29eae61f66286fe16a 
moves the functionality from GCMonitorMBean to SegmentRevisionGCMBean 
and removes the former.

https://github.com/mduerig/jackrabbit-oak/commit/c0e526384a25c8536d8826542f70de7463e50446 
finally implements cancelling of gc in Segment Tar. (This relies on 
first upgrading the dependencies on oak-core).

Michael