Packages

object pruning extends PruningSchedulerAdministration[EnterpriseSequencerAdministrationServiceStub] with Helpful

Annotations
@Summary(s = "Pruning of the sequencer", flag = console.this.Help.Summary.<init>$default$2)
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. pruning
  2. PruningSchedulerAdministration
  3. Helpful
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clear_schedule(): Unit
    Definition Classes
    PruningSchedulerAdministration
    Annotations
    @Summary(s = "Deactivate automatic pruning.", flag = console.this.Help.Summary.<init>$default$2)
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  7. val consoleEnvironment: ConsoleEnvironment
    Attributes
    protected
    Definition Classes
    PruningSchedulerAdministration
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. def force_prune(dryRun: Boolean): String
    Annotations
    @Summary(s = "Force remove data from the Sequencer including data that may have not been read by offline clients", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """Will force pruning up until the default retention period by potentially disabling clients
    |that have not yet read data we would like to remove.
    |Disabling these clients will prevent them from ever reconnecting to the Domain so should only be
    |used if the Domain operator is confident they can be permanently ignored.
    |Run with `dryRun = true` to review a description of which clients will be disabled first.
    |Run with `dryRun = false` to disable these clients and perform a forced pruning.
    |"""
    )
  11. def force_prune_at(timestamp: CantonTimestamp, dryRun: Boolean): String
    Annotations
    @Summary(s = "Force removing data from the Sequencer including data that may have not been read by offline clients up until the specified time", flag = console.this.Help.Summary.<init>$default$2) @Description(s = "Similar to the above `force_prune` command but allows specifying the exact time at which to prune")
  12. def force_prune_with_retention_period(retentionPeriod: FiniteDuration, dryRun: Boolean): String
    Annotations
    @Summary(s = "Force removing data from the Sequencer including data that may have not been read by offline clients up until a custom retention period", flag = console.this.Help.Summary.<init>$default$2) @Description(s = "Similar to the above `force_prune` command but allows specifying a custom retention period")
  13. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. def get_schedule(): Option[PruningSchedule]
    Definition Classes
    PruningSchedulerAdministration
    Annotations
    @Summary(s = "Inspect the automatic pruning schedule.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The schedule consists of a "cron" expression and "max_duration" and "retention" durations. The cron string
    |indicates the points in time at which pruning should begin in the GMT time zone, and the maximum duration
    |indicates how long from the start time pruning is allowed to run as long as pruning has not finished pruning
    |up to the specified retention period.
    |Returns `None` if no schedule has been configured via `set_schedule` or if `clear_schedule` has been invoked.
    """
    )
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. def help(methodName: String)(implicit consoleEnvironment: ConsoleEnvironment): Unit
    Definition Classes
    Helpful
    Annotations
    @Summary(s = "Help for specific commands (use help() or help(\"method\") for more information)", flag = console.this.Help.Summary.<init>$default$2) @Topic(t = Seq("Top-level Commands"))
  17. def help()(implicit consoleEnvironment: ConsoleEnvironment): Unit
    Definition Classes
    Helpful
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. def locate_pruning_timestamp(index: PositiveInt = PositiveInt.tryCreate(1)): Option[CantonTimestamp]
    Annotations
    @Summary(s = "Obtain a timestamp at or near the beginning of sequencer state", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """This command provides insight into the current state of sequencer pruning when called with
    |the default value of `index` 1.
    |When pruning the sequencer manually via `prune_at` and with the intent to prune in batches, specify
    |a value such as 1000 to obtain a pruning timestamp that corresponds to the "end" of the batch."""
    )
  20. val loggerFactory: NamedLoggerFactory
    Attributes
    protected
    Definition Classes
    PruningSchedulerAdministration
  21. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  22. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  24. def prune(): String
    Annotations
    @Summary(s = "Remove unnecessary data from the Sequencer up until the default retention point", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """Removes unnecessary data from the Sequencer that is earlier than the default retention period.
    |The default retention period is set in the configuration of the canton processing running this
    |command under `parameters.retention-period-defaults.sequencer`.
    |This pruning command requires that data is read and acknowledged by clients before
    |considering it safe to remove.
    |
    |If no data is being removed it could indicate that clients are not reading or acknowledging data
    |in a timely fashion (typically due to nodes going offline for long periods).
    |You have the option of disabling the members running on these nodes to allow removal of this data,
    |however this will mean that they will be unable to reconnect to the domain in the future.
    |To do this run `force_prune(dryRun = true)` to return a description of which members would be
    |disabled in order to prune the Sequencer.
    |If you are happy to disable the described clients then run `force_prune(dryRun = false)` to
    |permanently remove their unread data.
    |
    |Once offline clients have been disabled you can continue to run `prune` normally.
    |"""
    )
  25. def prune_at(timestamp: CantonTimestamp): String
    Annotations
    @Summary(s = "Remove data that has been read up until the specified time", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """Similar to the above `prune` command but allows specifying the exact time at which to prune.
    |The command will fail if a client has not yet read and acknowledged some data up to the specified time."""
    )
  26. def prune_with_retention_period(retentionPeriod: FiniteDuration): String
    Annotations
    @Summary(s = "Remove data that has been read up until a custom retention period", flag = console.this.Help.Summary.<init>$default$2) @Description(s = "Similar to the above `prune` command but allows specifying a custom retention period")
  27. def set_cron(cron: String): Unit
    Definition Classes
    PruningSchedulerAdministration
    Annotations
    @Summary(s = "Modify the cron used by automatic pruning.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The schedule is specified in cron format and refers to pruning start times in the GMT time zone.
    |This call returns an error if no schedule has been configured via `set_schedule` or if automatic
    |pruning has been disabled via `clear_schedule`. Additionally if at the time of this modification, pruning is
    |actively running, a best effort is made to pause pruning and restart according to the new schedule. This
    |allows for the case that the new schedule no longer allows pruning at the current time.
    """
    )
  28. def set_max_duration(maxDuration: PositiveDurationSeconds): Unit
    Definition Classes
    PruningSchedulerAdministration
    Annotations
    @Summary(s = "Modify the maximum duration used by automatic pruning.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The `maxDuration` is specified as a positive duration and has at most per-second granularity.
    |This call returns an error if no schedule has been configured via `set_schedule` or if automatic
    |pruning has been disabled via `clear_schedule`. Additionally if at the time of this modification, pruning is
    |actively running, a best effort is made to pause pruning and restart according to the new schedule. This
    |allows for the case that the new schedule no longer allows pruning at the current time.
    """
    )
  29. def set_retention(retention: PositiveDurationSeconds): Unit
    Definition Classes
    PruningSchedulerAdministration
    Annotations
    @Summary(s = "Update the pruning retention used by automatic pruning.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The `retention` is specified as a positive duration and has at most per-second granularity.
    |This call returns an error if no schedule has been configured via `set_schedule` or if automatic
    |pruning has been disabled via `clear_schedule`. Additionally if at the time of this update, pruning is
    |actively running, a best effort is made to pause pruning and restart with the newly specified retention.
    |This allows for the case that the new retention mandates retaining more data than previously.
    """
    )
  30. def set_schedule(cron: String, maxDuration: PositiveDurationSeconds, retention: PositiveDurationSeconds): Unit
    Definition Classes
    PruningSchedulerAdministration
    Annotations
    @Summary(s = "Activate automatic pruning according to the specified schedule.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The schedule is specified in cron format and "max_duration" and "retention" durations. The cron string indicates
    |the points in time at which pruning should begin in the GMT time zone, and the maximum duration indicates how
    |long from the start time pruning is allowed to run as long as pruning has not finished pruning up to the
    |specified retention period.
    """
    )
  31. def status(): SequencerPruningStatus
    Annotations
    @Summary(s = "Status of the sequencer and its connected clients", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """Provides a detailed breakdown of information required for pruning:
    | - the current time according to this sequencer instance
    | - domain members that the sequencer supports
    | - for each member when they were registered and whether they are enabled
    | - a list of clients for each member, their last acknowledgement, and whether they are enabled
    |"""
    )
  32. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    AnyRef → Any
  34. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  35. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  36. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Helpful

Inherited from AnyRef

Inherited from Any

Ungrouped