[ https://issues.apache.org/jira/browse/OAK-1160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13931944#comment-13931944 ]
Michael Dürig commented on OAK-1160: ------------------------------------ At http://svn.apache.org/r1576808 I committed a first draft of a {{RepositoryManagementMBean}}. * [~jukkaz], [~chetanm] could you please have a look whether this makes sense for MVSS GC? * [~alex.parvulescu] could you please have a look whether this makes sense for backup and restore? * [~tmueller] could you please have a look whether this makes sense for data store gc? {code:title=RepositoryManagementMBean.java|borderStyle=solid} /** * This interface exposes repository management operations * and the status of such operations. * <p> * The status of an operation is an opaque string describing * in a human readable form what the operation currently does, * which might depend on the particular implementation performing * the operation. However the status status must always indicate * whether an operation is ongoing or terminated. In the latter case * it must indicate whether it terminated successfully or failed. * In all cases the status may provide additional information * like e.g. how far an ongoing operation progressed, what time * it took to complete a terminated operation, or information * about what caused a terminated operation to fail. */ public interface RepositoryManagementMBean { /** * Initiate a backup operation to a file at the given absolute path * * @param path absolute path * @return the status of the operation right after it was initiated */ String startBackup(String path); /** * Backup status * * @return the status of the ongoing operation or if none the terminal * status of the last operation or {@code null} if none. */ String getBackupStatus(); /** * Initiate a restore operation from a file at the given absolute path * * @param path absolute path * @return the status of the operation right after it was initiated */ String startRestore(String path); /** * Restore status * * @return the status of the ongoing operation or if none the terminal * status of the last operation or {@code null} if none. */ String getRestoreStatus(); /** * Initiate a data store garbage collection operation * * @return the status of the operation right after it was initiated */ String startDataStoreGC(); /** * Data store garbage collection status * * @return the status of the ongoing operation or if none the terminal * status of the last operation or {@code null} if none. */ String getDataStoreGCStatus(); /** * Initiate a revision garbage collection operation * * @return the status of the operation right after it was initiated */ String startRevisionGC(); /** * Revision garbage collection status * * @return the status of the ongoing operation or if none the terminal * status of the last operation or {@code null} if none. */ String getRevisionGCStatus(); } {code} > Generic interfaces for operation tasks > -------------------------------------- > > Key: OAK-1160 > URL: https://issues.apache.org/jira/browse/OAK-1160 > Project: Jackrabbit Oak > Issue Type: New Feature > Components: core, mk > Reporter: Michael Marth > Assignee: Michael Dürig > Fix For: 0.19 > > > Could we add generic (i.e. MK independent) interfaces that can be used by > higher levels to trigger certain ops tasks? The the application could decide > when would be a good time to run them. > I am thinking especially about backup/restore (OAK-1158), MVCC revision > cleanup (OAK-1158) and DSGC (OAK-377) -- This message was sent by Atlassian JIRA (v6.2#6252)