object pruning extends PruningSchedulerAdministration[EnterpriseSequencerAdministrationServiceStub] with Helpful
- Annotations
- @Summary(s = "Pruning of the sequencer", flag = console.this.Help.Summary.<init>$default$2)
Linear Supertypes
Ordering
- Alphabetic
- By Inheritance
Inherited
- pruning
- PruningSchedulerAdministration
- Helpful
- AnyRef
- Any
- Hide All
- Show All
Visibility
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clear_schedule(): Unit
- Definition Classes
- PruningSchedulerAdministration
- Annotations
- @Summary(s = "Deactivate automatic pruning.", flag = console.this.Help.Summary.<init>$default$2)
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- val consoleEnvironment: ConsoleEnvironment
- Attributes
- protected
- Definition Classes
- PruningSchedulerAdministration
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- 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.
|""")
- 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")
- 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")
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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.
""")
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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"))
- def help()(implicit consoleEnvironment: ConsoleEnvironment): Unit
- Definition Classes
- Helpful
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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.""")
- val loggerFactory: NamedLoggerFactory
- Attributes
- protected
- Definition Classes
- PruningSchedulerAdministration
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- 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.
|""")
- 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.""")
- 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")
- 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.
""")
- 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.
""")
- 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.
""")
- 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.
""")
- 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
|""")
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])