Skip to content

Commit ae8d6ee

Browse files
authored
[ci] Remove check for dar upload during party migration #1016
1 parent df2961f commit ae8d6ee

File tree

3 files changed

+9
-37
lines changed

3 files changed

+9
-37
lines changed

apps/common/src/main/scala/org/lfdecentralizedtrust/splice/setup/ParticipantPartyMigrator.scala

Lines changed: 8 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,33 @@ package org.lfdecentralizedtrust.splice.setup
55

66
import cats.data.EitherT
77
import cats.implicits.catsSyntaxOptionId
8-
import org.lfdecentralizedtrust.splice.environment.{
9-
BaseLedgerConnection,
10-
DarResource,
11-
ParticipantAdminConnection,
12-
RetryFor,
13-
RetryProvider,
14-
}
15-
import org.lfdecentralizedtrust.splice.identities.NodeIdentitiesDump
168
import com.digitalasset.canton.SynchronizerAlias
179
import com.digitalasset.canton.config.RequireTypes.PositiveInt
1810
import com.digitalasset.canton.logging.{NamedLoggerFactory, NamedLogging}
19-
import com.digitalasset.canton.topology.{ParticipantId, PartyId, SynchronizerId, UniqueIdentifier}
2011
import com.digitalasset.canton.topology.store.TopologyStoreId
2112
import com.digitalasset.canton.topology.transaction.{
2213
HostingParticipant,
2314
ParticipantPermission,
2415
PartyToParticipant,
2516
TopologyChangeOp,
2617
}
18+
import com.digitalasset.canton.topology.{ParticipantId, PartyId, SynchronizerId, UniqueIdentifier}
2719
import com.digitalasset.canton.tracing.TraceContext
2820
import com.google.protobuf.ByteString
2921
import io.grpc.Status
22+
import org.lfdecentralizedtrust.splice.environment.{
23+
BaseLedgerConnection,
24+
ParticipantAdminConnection,
25+
RetryFor,
26+
}
27+
import org.lfdecentralizedtrust.splice.identities.NodeIdentitiesDump
3028

3129
import scala.concurrent.{ExecutionContextExecutor, Future}
3230

3331
class ParticipantPartyMigrator(
3432
connection: BaseLedgerConnection,
3533
participantAdminConnection: ParticipantAdminConnection,
3634
decentralizedSynchronizerAlias: SynchronizerAlias,
37-
retryProvider: RetryProvider,
3835
override val loggerFactory: NamedLoggerFactory,
3936
)(implicit
4037
ec: ExecutionContextExecutor,
@@ -47,7 +44,6 @@ class ParticipantPartyMigrator(
4744
ledgerApiUser: String,
4845
synchronizerAlias: SynchronizerAlias,
4946
getAcsSnapshot: PartyId => Future[ByteString],
50-
requiredDars: Seq[DarResource] = Seq.empty,
5147
overridePartiesToMigrate: Option[Seq[PartyId]],
5248
): Future[Unit] = {
5349
for {
@@ -97,7 +93,7 @@ class ParticipantPartyMigrator(
9793
case None =>
9894
logger.info(s"Importing ACS for party ids $partiesToMigrateFinal from scan")
9995
for {
100-
_ <- importAcs(partiesToMigrateFinal, getAcsSnapshot, requiredDars)
96+
_ <- importAcs(partiesToMigrateFinal, getAcsSnapshot)
10197
_ <- connection.ensureUserHasPrimaryParty(ledgerApiUser, validatorPartyId)
10298
} yield ()
10399
}
@@ -343,25 +339,8 @@ class ParticipantPartyMigrator(
343339
private def importAcs(
344340
partyIds: Seq[PartyId],
345341
getAcsSnapshot: PartyId => Future[ByteString],
346-
requiredDars: Seq[DarResource],
347342
): Future[Unit] = {
348343
for {
349-
// dars are uploaded async during the init phase
350-
_ <- retryProvider.waitUntil(
351-
RetryFor.WaitingOnInitDependency,
352-
"dars_uploaded",
353-
"Required dars are uploaded",
354-
participantAdminConnection.listDars().map { dars =>
355-
val availablePackageIds = dars.map(_.mainPackageId)
356-
if (!requiredDars.forall(dar => availablePackageIds.contains(dar.packageId)))
357-
throw Status.FAILED_PRECONDITION
358-
.withDescription(
359-
s"Required dars $requiredDars are not yet available"
360-
)
361-
.asRuntimeException()
362-
},
363-
logger,
364-
)
365344
_ <- participantAdminConnection.disconnectFromAllDomains()
366345
_ <- Future.traverse(partyIds) { partyId =>
367346
for {

apps/validator/src/main/scala/org/lfdecentralizedtrust/splice/validator/ValidatorApp.scala

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -134,9 +134,6 @@ class ValidatorApp(
134134
override def packagesForJsonDecoding =
135135
super.packagesForJsonDecoding ++ DarResources.wallet.all ++ DarResources.amuletNameService.all ++ DarResources.dsoGovernance.all
136136

137-
def packagesForUploading =
138-
super.packagesForJsonDecoding ++ DarResources.wallet.all ++ DarResources.amuletNameService.all
139-
140137
override def preInitializeBeforeLedgerConnection()(implicit
141138
traceContext: TraceContext
142139
): Future[Unit] = for {
@@ -298,7 +295,6 @@ class ValidatorApp(
298295
connection,
299296
participantAdminConnection,
300297
config.domains.global.alias,
301-
retryProvider,
302298
loggerFactory,
303299
)
304300
appInitStep("Migrating party data") {
@@ -319,10 +315,6 @@ class ValidatorApp(
319315
logger,
320316
retryProvider,
321317
),
322-
Seq(
323-
DarResources.amulet.bootstrap,
324-
DarResources.amuletNameService.bootstrap,
325-
),
326318
partiesToMigrate.map(_.map(party => PartyId.tryFromProtoPrimitive(party))),
327319
)
328320
} yield ()

docs/src/release_notes.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ Release Notes
1515

1616
- Expose token-standard endpoints on the validator scan-proxy. The paths are the normal token standard path with a ``/api/validator/v0/scan-proxy`` prefix.
1717
- Fix a bug where transfers using transfer pre-approvals (both through the wallet UI and automatic via sweeps) were broken until the DARs released in 0.4.0 are effective.
18+
- Fix a bug that requires the latest dars to be uploaded when `re-onboarding a validator and recovering the balances of all the users <https://dev.global.canton.network.digitalasset.com/validator_operator/validator_disaster_recovery.html#re-onboard-a-validator-and-recover-balances-of-all-users-it-hosts>`_
1819

1920
- Sequencer
2021

0 commit comments

Comments
 (0)