c

com.digitalasset.canton.console.commands

LocalCommitmentsAdministrationGroup

class LocalCommitmentsAdministrationGroup extends CommitmentsAdministrationGroup

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. LocalCommitmentsAdministrationGroup
  2. CommitmentsAdministrationGroup
  3. NoTracing
  4. Helpful
  5. FeatureFlagFilter
  6. NamedLogging
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new LocalCommitmentsAdministrationGroup(runner: AdminCommandRunner with BaseInspection[ParticipantNode], consoleEnvironment: ConsoleEnvironment, loggerFactory: NamedLoggerFactory)

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. def add_config_distinguished_slow_counter_participants(counterParticipantsDistinguished: Seq[ParticipantId], synchronizers: Seq[SynchronizerId]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Add additional distinguished counter participants to already existing slow counter participant configuration.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The configuration can be extended by adding additional counter participants to existing synchronizers.
    | if a given synchronizer is not already configured then it will be ignored without error.
    |"""
    )
  5. def add_participant_to_individual_metrics(individualMetrics: Seq[ParticipantId], synchronizers: Seq[SynchronizerId]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Add additional individual metrics participants to already existing slow counter participant configuration.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The configuration can be extended by adding additional counter participants to existing synchronizers.
    | if a given synchronizer is not already configured then it will be ignored without error.
    |"""
    )
  6. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  7. def buffered(synchronizerAlias: SynchronizerAlias, endAtOrBefore: Instant): Iterable[AcsCommitment]
  8. def cantonConfig: CantonConfig
    Attributes
    protected
    Definition Classes
    FeatureFlagFilter
  9. def check[T](flag: FeatureFlag)(command: => T): T
    Attributes
    protected
    Definition Classes
    FeatureFlagFilter
  10. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
  11. def computed(synchronizerAlias: SynchronizerAlias, start: Instant, end: Instant, counterParticipant: Option[ParticipantId] = None): Iterable[(CommitmentPeriod, ParticipantId, HashedCommitmentType)]
    Annotations
    @Summary(s = "Lookup ACS commitments locally computed as part of the reconciliation protocol", flag = console.this.Help.Summary.<init>$default$2)
  12. val consoleEnvironment: ConsoleEnvironment
  13. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  15. implicit def errorLoggingContext(implicit traceContext: TraceContext): ErrorLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  16. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  17. def get_config_for_slow_counter_participant(synchronizers: Seq[SynchronizerId], counterParticipants: Seq[ParticipantId]): Seq[SlowCounterParticipantSynchronizerConfig]
  18. def get_config_for_slow_counter_participants(synchronizers: Seq[SynchronizerId]): Seq[SlowCounterParticipantSynchronizerConfig]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Lists for the given synchronizers the configuration of metrics for slow counter-participants (i.e., that" +
    "are behind in sending commitments)"
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """Lists the following config per synchronizer. If `synchronizers` is empty, the command lists config for all
    synchronizers:
    "| - The participants in the distinguished group, which have two metrics:
    the maximum number of intervals that a participant is behind, and the number of participants that are behind
    by at least `thresholdDistinguished` reconciliation intervals
    | - The participants not in the distinguished group, which have two metrics: the maximum number of intervals that a participant
    | is behind, and the number of participants that are behind by at least `thresholdDefault` reconciliation intervals
    | - Parameters `thresholdDistinguished` and `thresholdDefault`
    | - The participants in `individualMetrics`, which have individual metrics per participant showing how many
    reconciliation intervals that participant is behind"""
    )
  19. def get_intervals_behind_for_counter_participants(counterParticipants: Seq[ParticipantId], synchronizers: Seq[SynchronizerId], threshold: Option[NonNegativeInt]): Seq[CounterParticipantInfo]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Lists for every participant and synchronizer the number of intervals that the participant is behind in sending commitments" +
    "if that participant is behind by at least threshold intervals."
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """If `counterParticipants` is empty, the command considers all counter-participants.
    |If `synchronizers` is empty, the command considers all synchronizers.
    |If `threshold` is not set, the command considers 0.
    |For counter-participant that never sent a commitment, the output shows they are
    |behind by MaxInt"""
    )
  20. def get_wait_commitments_config_from(synchronizers: Seq[SynchronizerId], counterParticipants: Seq[ParticipantId]): (Seq[NoWaitCommitments], Seq[WaitCommitments])
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Retrieves the latest (i.e., w.r.t. the query execution time) configuration of waiting for commitments from counter-participants.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The configuration for waiting for commitments from counter-participants is returned as two sets:
    |a set of ignored counter-participants, the synchronizers and the timestamp, and a set of not-ignored
    |counter-participants and the synchronizers.
    |Filters by the specified counter-participants and synchronizers. If the counter-participant and / or
    |synchronizers are empty, it considers all synchronizers and participants known to the participant, regardless of
    |whether they share contracts with the participant.
    |Even if some participants may not be connected to some synchronizers at the time the query executes, the response still
    |includes them if they are known to the participant or specified in the arguments."""
    )
  21. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @IntrinsicCandidate() @native()
  22. 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"))
  23. def help()(implicit consoleEnvironment: ConsoleEnvironment): Unit
    Definition Classes
    Helpful
  24. def inspect_commitment_contracts(contracts: Seq[LfContractId], timestamp: CantonTimestamp, expectedSynchronizerId: SynchronizerId, downloadPayload: Boolean = false, timeout: NonNegativeDuration = timeouts.unbounded): Seq[CommitmentInspectContract]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Download states of contracts and contract payloads necessary for commitment inspection and reconciliation", flag = FeatureFlag.Preview) @Description(s = """ Returns the contract states (created, assigned, unassigned, archived, unknown) of the given contracts on
    | all synchronizers the participant knows from the beginning of time until the present time on each synchronizer.
    | The command returns best-effort the contract changes available. Specifically, it does not fail if the ACS
    | and/or reassignment state has been pruned during the time interval, or if parts of the time interval
    | are ahead of the clean ACS state.
    | Optionally returns the contract payload if requested and available.
    | The arguments are:
    | - contracts: The contract ids whose state and payload we want to fetch
    | - timestamp: The timestamp when some counter-participants reported the given contracts as active on the
    | expected synchronizer.
    | - expectedSynchronizerId: The synchronizer that the contracts are expected to be active on
    | - downloadPayload: If true, the payload of the contracts is also downloaded
    | - timeout: Time limit for the grpc call to complete
    """
    )
  25. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  26. def lastComputedAndSent(synchronizerAlias: SynchronizerAlias): Option[CantonTimestampSecond]
  27. def logger: TracedLogger
    Attributes
    protected
    Definition Classes
    NamedLogging
  28. val loggerFactory: NamedLoggerFactory
  29. def lookup_received_acs_commitments(synchronizerTimeRanges: Seq[SynchronizerTimeRange], counterParticipants: Seq[ParticipantId], commitmentState: Seq[ReceivedCmtState], verboseMode: Boolean): Map[SynchronizerId, Seq[ReceivedAcsCmt]]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "List the counter-participants of a participant and the ACS commitments received from them together with" +
    "the commitment state."
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """Optional filtering through the arguments:
    | synchronizerTimeRanges: Lists commitments received on the given synchronizers whose period overlaps with any of the given
    | time ranges per synchronizer.
    | If the list is empty, considers all synchronizers the participant is connected to.
    | For synchronizers with an empty time range, considers the latest period the participant knows of for that synchronizer.
    | Synchronizers can appear multiple times in the list with various time ranges, in which case we consider the
    | union of the time ranges.
    |counterParticipants: Lists commitments received only from the given counter-participants. If a counter-participant
    | is not a counter-participant on some synchronizer, no commitments appear in the reply from that counter-participant
    | on that synchronizer.
    |commitmentState: Lists commitments that are in one of the given states. By default considers all states:
    | - MATCH: the remote commitment matches the local commitment
    | - MISMATCH: the remote commitment does not match the local commitment
    | - BUFFERED: the remote commitment is buffered because the corresponding local commitment has not been computed yet
    | - OUTSTANDING: we expect a remote commitment that has not yet been received
    |verboseMode: If false, the reply does not contain the commitment bytes. If true, the reply contains:
    | - In case of a mismatch, the reply contains both the received and the locally computed commitment that do not match.
    | - In case of outstanding, the reply does not contain any commitment.
    | - In all other cases (match and buffered), the reply contains the received commitment.
    """
    )
  30. def lookup_sent_acs_commitments(synchronizerTimeRanges: Seq[SynchronizerTimeRange], counterParticipants: Seq[ParticipantId], commitmentState: Seq[SentCmtState], verboseMode: Boolean): Map[SynchronizerId, Seq[SentAcsCmt]]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "List the counter-participants of a participant and the ACS commitments that the participant computed and sent to" +
    "them, together with the commitment state."
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """Optional filtering through the arguments:
    | synchronizerTimeRanges: Lists commitments received on the given synchronizers whose period overlap with any of the
    | given time ranges per synchronizer.
    | If the list is empty, considers all synchronizers the participant is connected to.
    | For synchronizers with an empty time range, considers the latest period the participant knows of for that synchronizer.
    | Synchronizers can appear multiple times in the list with various time ranges, in which case we consider the
    | union of the time ranges.
    |counterParticipants: Lists commitments sent only to the given counter-participants. If a counter-participant
    | is not a counter-participant on some synchronizer, no commitments appear in the reply for that counter-participant
    | on that synchronizer.
    |commitmentState: Lists sent commitments that are in one of the given states. By default considers all states:
    | - MATCH: the local commitment matches the remote commitment
    | - MISMATCH: the local commitment does not match the remote commitment
    | - NOT_COMPARED: the local commitment has been computed and sent but no corresponding remote commitment has
    | been received
    |verboseMode: If false, the reply does not contain the commitment bytes. If true, the reply contains:
    | - In case of a mismatch, the reply contains both the received and the locally computed commitment that
    | do not match.
    | - In all other cases (match and not compared), the reply contains the sent commitment.
    """
    )
  31. implicit def namedLoggingContext(implicit traceContext: TraceContext): NamedLoggingContext
    Attributes
    protected
    Definition Classes
    NamedLogging
  32. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  33. def noTracingLogger: Logger
    Attributes
    protected
    Definition Classes
    NamedLogging
  34. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  35. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @IntrinsicCandidate() @native()
  36. def open_commitment(commitment: HashedCommitmentType, synchronizerId: SynchronizerId, timestamp: CantonTimestamp, counterParticipant: ParticipantId, timeout: NonNegativeDuration = timeouts.unbounded): Seq[CommitmentContractMetadata]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Opens a commitment by retrieving the metadata of active contracts shared with the counter-participant.", flag = FeatureFlag.Preview) @Description(s = """ Retrieves the contract ids and the reassignment counters of the shared active contracts at the given timestamp
    | and on the given synchronizer.
    | Returns an error if the participant cannot retrieve the data for the given commitment anymore.
    | The arguments are:
    | - commitment: The commitment to be opened
    | - synchronizerId: The synchronizer for which the commitment was computed
    | - timestamp: The timestamp of the commitment. Needs to correspond to a commitment tick.
    | - counterParticipant: The counter participant to whom we previously sent the commitment
    | - timeout: Time limit for the grpc call to complete
    """
    )
  37. def outstanding(synchronizerAlias: SynchronizerAlias, start: Instant, end: Instant, counterParticipant: Option[ParticipantId] = None): Iterable[(CommitmentPeriod, ParticipantId, CommitmentPeriodState)]
  38. def received(synchronizerAlias: SynchronizerAlias, start: Instant, end: Instant, counterParticipant: Option[ParticipantId] = None): Iterable[SignedProtocolMessage[AcsCommitment]]
    Annotations
    @Summary(s = "Lookup ACS commitments received from other participants as part of the reconciliation protocol", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The arguments are:
    - synchronizerAlias: the alias of the synchronizer
    - start: lowest time exclusive
    - end: highest time inclusive
    - counterParticipant: optionally filter by counter participant
    """
    )
  39. def reinitialize_commitments(synchronizerIds: Seq[SynchronizerId], counterParticipants: Seq[ParticipantId], partyIds: Seq[PartyId], timeout: NonNegativeDuration): Seq[CommitmentReinitializationInfo]
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Reinitializes commitments from the current ACS. Filtering is possible by synchronizers, counter-participants" +
    "and stakeholder groups."
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """The command is useful if the participant's commitments got corrupted due to a bug. The command reinitializes the
    |commitments for the given synchronizers and counter-participants, and containing contracts with stakeholders
    |including the given parties.
    |If `synchronizers` is empty, the command considers all synchronizers.
    |If `counterParticipants` is empty, the command considers all counter-participants.
    |If `partyIds` is empty, the command considers all stakeholder groups.
    |`timeout` specifies how long the commands waits for the reinitialization to complete. Granularities smaller than
    |a second are ignored. Past this timeout, the operator can query the status of the reinitialization using
    |`commitment_reinitialization_status`. The command returns a sequence pairs of synchronizer IDs and the
    |reinitialization status for each synchronizer: either the ACS timestamp of the reinitialization, or an error
    |message if reinitialization failed."""
    )
  40. def remove_config_for_slow_counter_participants(counterParticipantsDistinguished: Seq[ParticipantId], synchronizers: Seq[SynchronizerId]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "removes existing configurations from synchronizers and distinguished counter participants.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The configurations can be removed from distinguished counter participant and synchronizers
    | use empty sequences correlates to selecting all, so removing all distinguished participants
    | from a synchronizer can be done with Seq.empty for 'counterParticipantsDistinguished' and Seq(SynchronizerId) for synchronizers.
    | Leaving both sequences empty clears all configs on all synchronizers.
    |"""
    )
  41. def remove_participant_from_individual_metrics(individualMetrics: Seq[ParticipantId], synchronizers: Seq[SynchronizerId]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "removes existing configurations from synchronizers and individual metrics participants.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """The configurations can be removed from individual metrics counter participant and synchronizers
    | use empty sequences correlates to selecting all, so removing all individual metrics participants
    | from a synchronizer can be done with Seq.empty for 'individualMetrics' and Seq(SynchronizerId) for synchronizers.
    | Leaving both sequences empty clears all configs on all synchronizers.
    |"""
    )
  42. def set_config_for_slow_counter_participants(configs: Seq[SlowCounterParticipantSynchronizerConfig]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Configure metrics for slow counter-participants (i.e., that are behind in sending commitments) and" +
    "configure thresholds for when a counter-participant is deemed slow."
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """The configurations are per synchronizer or set of synchronizers and concern the following metrics
    |issued per synchronizer:
    | - The maximum number of intervals that a distinguished participant falls
    | behind. All participants that are not in the distinguished or the individual group are automatically part of the default group
    | - The maximum number of intervals that a participant in the default groups falls behind
    | - The number of participants in the distinguished group that are behind by at least `thresholdDistinguished`
    | reconciliation intervals.
    | - The number of participants not in the distinguished or the individual group that are behind by at least `thresholdDefault`
    | reconciliation intervals.
    | - Separate metric for each participant in `individualMetrics` argument tracking how many intervals that
    |participant is behind"""
    )
  43. def set_no_wait_commitments_from(counterParticipants: Seq[ParticipantId], synchronizerIds: Seq[SynchronizerId]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Disable waiting for commitments from the given counter-participants.", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """Disabling waiting for commitments disregards these counter-participants w.r.t. pruning,
    |which gives up non-repudiation for those counter-participants, but increases pruning resilience
    |to failures and slowdowns of those counter-participants and/or the network.
    |If the participant set is empty, the command does nothing."""
    )
  44. def set_wait_commitments_from(counterParticipants: Seq[ParticipantId], synchronizerIds: Seq[SynchronizerId]): Unit
    Definition Classes
    CommitmentsAdministrationGroup
    Annotations
    @Summary(s = "Enable waiting for commitments from the given counter-participants. " +
    "Waiting for commitments from all counter-participants is the default behavior; explicitly enabling waiting" +
    "for commitments is only necessary if it was previously disabled."
    , flag = console.this.Help.Summary.<init>$default$2)
    @Description(s = """Enables waiting for commitments, which blocks pruning at offsets where commitments from these counter-participants
    |are missing.
    |If the participant set is empty or the synchronizer set is empty, the command does nothing."""
    )
  45. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    AnyRef → Any
  47. implicit def traceContext: TraceContext
    Attributes
    protected
    Definition Classes
    NoTracing
  48. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  49. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  50. 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

    (Since version 9)

Inherited from NoTracing

Inherited from Helpful

Inherited from FeatureFlagFilter

Inherited from NamedLogging

Inherited from AnyRef

Inherited from Any

Ungrouped