Interface RepositoryManagementMBean

  • All Known Implementing Classes:
    RepositoryManager

    @ProviderType
    public interface RepositoryManagementMBean
    This interface exposes repository management operations and the status of such operations. This interface only provides high level functionality for starting certain management operations and monitoring their outcomes. Parametrisation and configuration of the operations is beyond the scope of this interface and must be achieved by other means. For example through a dedicated MBean of the specific service providing the respective functionality. Furthermore not all operations might be available in all deployments or at all times. However the status should give a clear indication for this case.

    The status of an operation is represented by a CompositeData instance consisting at least of the items code, id, and message. Implementations are free to add further items.

    The code item is an integer encoding the current status of the respective operation. Valid values and its semantics are:

    • 0: Operation not available. For example because the system does not implement the operation or the system is in a state where it does not allow the operation to be carried out (e.g. the operation is already running). The message should give further indication of the exact reason.
    • 1: Status not available. Usually because there was no prior attempt to start the operation. The message should give further indication of the exact reason.
    • 2: Operation initiated. The message should give further information of when the operation was initiated. This status mean that the operation will be performed some time in the future without impacting overall system behaviour and that no further status updates will be available until this operation is performed next time.
    • 3: Operation running.
    • 4: Operation succeeded. The message should give further information on how long the operation took to complete.
    • 5: Operation failed. The message should give further information on the reason for the failure.

    In all cases the message may provide additional information that might be useful in the context of the operation.

    The id is an identifier for the invocation of an operation. It is reported as a part of the status for clients to relate the status to invocation. -1 is returned when not available.

    • Method Detail

      • startBackup

        @NotNull
        @Description("Creates a backup of the persistent state of the repository")
        @NotNull CompositeData startBackup()
        Initiate a backup operation.
        Returns:
        the status of the operation right after it was initiated
      • getBackupStatus

        @NotNull
        @Description("The status of the ongoing operation, or the terminal status of the last completed backup operation")
        @NotNull CompositeData getBackupStatus()
        Backup status
        Returns:
        the status of the ongoing operation or if none the terminal status of the last operation or Status not available if none.
      • startRestore

        @NotNull
        @Description("Restores the repository from a backup")
        @NotNull CompositeData startRestore()
        Initiate a restore operation.
        Returns:
        the status of the operation right after it was initiated
      • getRestoreStatus

        @NotNull
        @Description("The status of the ongoing operation, or the terminal status of the last completed restore operation")
        @NotNull CompositeData getRestoreStatus()
        Restore status
        Returns:
        the status of the ongoing operation or if none the terminal status of the last operation or Status not available if none.
      • startDataStoreGC

        @NotNull
        @Description("Initiates a data store garbage collection operation")
        @NotNull CompositeData startDataStoreGC​(@Name("markOnly") @Description("Set to true to only mark references and not sweep in the mark and sweep operation. This mode is to be used when the underlying BlobStore is shared between multiple different repositories. For all other cases set it to false to perform full garbage collection")
                                                boolean markOnly)
        Initiate a data store garbage collection operation
        Parameters:
        markOnly - whether to only mark references and not sweep in the mark and sweep operation.
        Returns:
        the status of the operation right after it was initiated
      • getDataStoreGCStatus

        @NotNull
        @Description("Data store garbage collection status")
        @NotNull CompositeData getDataStoreGCStatus()
        Data store garbage collection status
        Returns:
        the status of the ongoing operation or if none the terminal status of the last operation or Status not available if none.
      • startRevisionGC

        @NotNull
        @Description("Initiates a revision garbage collection operation")
        @NotNull CompositeData startRevisionGC()
        Initiate a revision garbage collection operation
        Returns:
        the status of the operation right after it was initiated
      • startRevisionGCForRole

        @NotNull
        @Description("Initiates a revision garbage collection operation for a given role")
        @NotNull CompositeData startRevisionGCForRole​(String role)
        Initiate a revision garbage collection operation
        Returns:
        the status of the operation right after it was initiated
      • cancelRevisionGC

        @NotNull
        @Description("Cancel a running revision garbage collection operation. Does nothing if revision garbage collection is not running.")
        @NotNull CompositeData cancelRevisionGC()
        Cancel a running revision garbage collection operation. Does nothing if revision garbage collection is not running.
        Returns:
        the status of the operation right after it was initiated
      • cancelRevisionGCForRole

        @NotNull
        @Description("Cancel a running revision garbage collection operation. Does nothing if revision garbage collection is not running.")
        @NotNull CompositeData cancelRevisionGCForRole​(String role)
        Cancel a running revision garbage collection operation for a given role. Does nothing if revision garbage collection is not running.
        Returns:
        the status of the operation right after it was initiated
      • getRevisionGCStatus

        @NotNull
        @Description("Revision garbage collection status")
        @NotNull CompositeData getRevisionGCStatus()
        Revision garbage collection status
        Returns:
        the status of the ongoing operation or if none the terminal status of the last operation or Status not available if none.
      • getRevisionGCStatusForRole

        @NotNull
        @Description("Revision garbage collection status for a given role")
        @NotNull CompositeData getRevisionGCStatusForRole​(String role)
        Revision garbage collection status for a given role.
        Returns:
        the status of the ongoing operation or if none the terminal status of the last operation or Status not available if none.
      • checkpoint

        @Deprecated
        @Nullable
        @Nullable String checkpoint​(long lifetime)
        Deprecated.
        Use CheckpointMBean instead
        Creates a new checkpoint of the latest root of the tree. The checkpoint remains valid for at least as long as requested and allows that state of the repository to be retrieved using the returned opaque string reference.
        Parameters:
        lifetime - time (in milliseconds, > 0) that the checkpoint should remain available
        Returns:
        string reference of this checkpoint or null if the checkpoint could not be set.
      • startPropertyIndexAsyncReindex

        @NotNull
        @Description("Initiates a reindex operation for the property indexes marked for reindexing")
        @NotNull CompositeData startPropertyIndexAsyncReindex()
        Initiate a reindex operation for the property indexes marked for reindexing
        Returns:
        the status of the operation right after it was initiated
      • getPropertyIndexAsyncReindexStatus

        @NotNull
        @Description("Asynchronous Property Index reindexing status")
        @NotNull CompositeData getPropertyIndexAsyncReindexStatus()
        Asynchronous Property Index reindexing status
        Returns:
        the status of the ongoing operation or if none the terminal status of the last operation or Status not available if none.
      • refreshAllSessions

        @NotNull
        @Description("Refresh all currently open sessions")
        @NotNull TabularData refreshAllSessions()
        Refresh all currently open sessions. Warning: this operation might be disruptive to the owner of the affected sessions