Packages

object party_migration extends Helpful

party migration commands!

The following group contains a set of party migration commands. These commands can be used to migrate a party from one node to another. The commands come with some limitations / caveats / capabilities:

- If the party is not managed by the source participant, then the appropriate topology state needs to be manually prepared before running any of the steps. - In theory, we don't need to migrate the party off the origin node. This means we can support parties on multiple participants. However, when the parties are re-enabled, we need to ensure that they are re-enabled synchronously on all participants. This can currently not be guaranteed / enforced. Therefore, this operation is quite brittle.

Annotations
@Summary(s = "Commands useful to migrate parties from one participant to another", flag = FeatureFlag.Repair) @Group(name = "Party Migration")
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. party_migration
  2. Helpful
  3. AnyRef
  4. 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 clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  8. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  9. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  10. 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"))
  11. def help()(implicit consoleEnvironment: ConsoleEnvironment): Unit
    Definition Classes
    Helpful
  12. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  13. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  14. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  16. def step1_store_acs(sourceParticipant: ParticipantReference, parties: Set[PartyId], partiesOffboarding: Boolean, targetFile: String)(implicit env: ConsoleEnvironment): Unit
    Annotations
    @Summary(s = "Step 1 of party migration: Download the ACS on the source participant", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """On the source participant, download the contract set to a file which must be shipped to the target participant.
    |The domain must be quiet during party migration such that no contracts are added until all steps have been completed."""
    )
  17. def step2_import_acs(targetParticipant: ParticipantReference, parties: Set[PartyId], sourceFile: String, ignoreAcsCheck: Boolean = false)(implicit env: ConsoleEnvironment): Unit
    Annotations
    @Summary(s = "Step 2 of party migration: Import the contract state to the target node", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """Import the active contract set into the target participant for the given party-id.
    |The domain must be quiet during party migration such that no contracts are added until all steps have been completed."""
    )
  18. def step3_delegate_party_to_target_node(owningParticipant: ParticipantReference, parties: Set[PartyId], targetParticipantId: ParticipantId, targetPermission: ParticipantPermission = ParticipantPermission.Submission)(implicit env: ConsoleEnvironment): Unit
    Annotations
    @Summary(s = "Step 3 of party migration: Add a delegation to the target participant", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """On the participant node that controls the party (owningParticipant), permission the party for the target participant.
    |This will add a corresponding FROM party to participant topology transaction.
    |The domain must be quiet during party migration such that no contracts are added until all steps have been completed."""
    )
  19. def step4_enable_party_on_target(targetParticipant: ParticipantReference, parties: Set[PartyId], permission: ParticipantPermission = ParticipantPermission.Submission)(implicit env: ConsoleEnvironment): Unit
    Annotations
    @Summary(s = "Step 4 of party migration: Enable party on target participant", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """On the target participant node, accept the hosting of the parties.
    |This will add a corresponding TO party to participant topology transaction.
    |The domain must be quiet during party migration such that no contracts are added until all steps have been completed."""
    )
  20. def step5_remove_party_delegation_from_source(owningParticipant: ParticipantReference, parties: Set[PartyId], sourceParticipantId: ParticipantId): Unit
    Annotations
    @Summary(s = "Step 5 of party migration: Remove delegation of party to source participant", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """If the party should be migrated off a participant node, remove the delegation to it.
    |The domain must be quiet during party migration such that no contracts are added until all steps have been completed."""
    )
  21. def step6_cleanup_source(sourceParticipant: ParticipantReference, sourceFile: String, offboardedParties: Set[PartyId], batchSize: Int = 1000): Unit
    Annotations
    @Summary(s = "Step 6 of party migration: Optionally remove contract data from source", flag = console.this.Help.Summary.<init>$default$2) @Description(s = """If the parties should be migrated off a participant node, use this step to remove all contracts from the source participant.""")
  22. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  23. def toString(): String
    Definition Classes
    AnyRef → Any
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  26. 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
    Deprecated

Inherited from Helpful

Inherited from AnyRef

Inherited from Any

Ungrouped