jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-1160) Generic interfaces for operation tasks
Date Wed, 12 Mar 2014 16:33:44 GMT

    [ 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)

Mime
View raw message