Sequencer sharding in Postgres - Onboard new sequencer?

Hi team,

I’m trying to do a Sequencer sharding to scale out my domain.
As such, I have first already setup my domain with: a domain-manager, sequencer, mediator.

Then I’ve run below command to onboard a new sequencer:

mydomainmanager.setup.onboard_new_sequencer(sequencer1, sequencer2)

However, I got below message error messages:

ERROR c.d.c.c.EnterpriseConsoleEnvironment - Request failed for sequencer2.
GrpcClientError: INVALID_ARGUMENT/Given snapshot must contain sequencer member
Request: Initialize(mydomainmanager::1220412830db…,Seq(
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:18.084184Z,
validFrom = 2022-09-17T16:37:18.084184Z,
validUntil = 2022-09-17T16:37:18.084184Z,
op = Add,
mapping = NamespaceDelegation(1220412830db…, SigningPublicKey(id = 1220412830db…, format = Tink, scheme = Ed25519), true)
),
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:18.084184Z,
validFrom = 2022-09-17T16:37:18.084184Z,
validUntil = 2022-09-17T16:37:18.084184Z,
op = Replace,
mapping = DomainParametersChange(
mydomainmanager::1220412830db…,
DynamicDomainParameters(
participant response timeout = 30s,
mediator reaction timeout = 30s,
transfer exclusivity timeout = 1m,
topology change delay = 0.25s,
ledger time record time tolerance = 1m
)
)
),
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:18.084184Z,
validFrom = 2022-09-17T16:37:18.084184Z,
validUntil = 2022-09-17T16:37:18.084184Z,
op = Add,
mapping = OwnerToKeyMapping(DOM::mydomainmanager::1220412830db…, SigningPublicKey(id = 1220698e6e47…, format = Tink, scheme = Ed25519))
),
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:18.084184Z,
validFrom = 2022-09-17T16:37:18.084184Z,
validUntil = 2022-09-17T16:37:18.084184Z,
op = Add,
mapping = OwnerToKeyMapping(SEQ::mydomainmanager::1220412830db…, SigningPublicKey(id = 1220c6adca54…, format = Tink, scheme = Ed25519))
),
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:18.084184Z,
validFrom = 2022-09-17T16:37:18.084184Z,
validUntil = 2022-09-17T16:37:18.084184Z,
op = Add,
mapping = OwnerToKeyMapping(MED::mydomainmanager::1220412830db…, SigningPublicKey(id = 1220f0d367da…, format = Tink, scheme = Ed25519))
),
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:19.073700Z,
validFrom = 2022-09-17T16:37:19.323700Z,
validUntil = 2022-09-17T16:37:19.323700Z,
op = Add,
mapping = MediatorDomainState(Both, mydomainmanager::1220412830db…, MED::mydomainmanager::1220412830db…)
),
StoredTopologyTransaction(
sequenced = 2022-09-17T16:37:39.992770Z,
validFrom = 2022-09-17T16:37:40.242770Z,
validUntil = 2022-09-17T16:37:40.242770Z,
op = Add,
mapping = OwnerToKeyMapping(SEQ::mydomainmanager::1220412830db…, SigningPublicKey(id = 1220ad8e47c7…, format = Tink, scheme = Ed25519))
)
),StaticDomainParameters(1m,1000000,10485760,true,Set(Ed25519, ECDSA-P256, ECDSA-P384),Set(ECIES-P256_HMAC256_AES128-GCM),Set(AES128-GCM),Set(Sha256),Set(Tink),3.0.0),Some(SequencerSnapshot(0001-01-01T00:00:00Z,Map(),SequencerPruningStatus(0001-01-01T00:00:00Z,0001-01-01T00:00:00Z,Vector()),None)))
Trailers: Metadata(content-type=application/grpc)
Command SetupAdministration$Setup.onboard_new_sequencer invoked from cmd3.sc:1
com.digitalasset.canton.console.CommandFailure: Command execution failed.

To shard sequencer in Canton with postgres, is below command correct:

mydomainmanager.setup.onboard_new_sequencer(sequencer1, sequencer2)

Or it requires another way ?

Thanks for your assistance,
Jean-Paul

Hi @jaypeeda,

Please note that his command is not supported by the Database sequencers. (“Do not use this for database sequencers.”) Are you trying to use it in conjunction with Database sequencers?

Kind Regards,
Mate

1 Like

Thanks Mate!

I’m trying to shard sequencer to determine whether it can increase performance of a canton setup.