# Sequencer sharding in Postgres - Onboard new sequencer?

**URL:** <https://forum.canton.network/t/sequencer-sharding-in-postgres-onboard-new-sequencer/5236>\
**Category:** App Development\
**Tags:** canton\
**Created:** [September 17, 2022, 4:45pm UTC](https://forum.canton.network/t/sequencer-sharding-in-postgres-onboard-new-sequencer/5236 "2022-09-17T16:45:25Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![jaypeeda](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/jaypeeda/32/6967_2.png) [@jaypeeda](https://forum.canton.network/u/jaypeeda)\
**Post date:** [September 17, 2022, 4:45pm UTC](https://forum.canton.network/t/sequencer-sharding-in-postgres-onboard-new-sequencer/5236/1 "2022-09-17T16:45:25Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Mate\_Varga](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/mate_varga/32/2308_2.png) [@Mate\_Varga](https://forum.canton.network/u/Mate_Varga)\
**Post date:** [September 19, 2022, 11:56am UTC](https://forum.canton.network/t/sequencer-sharding-in-postgres-onboard-new-sequencer/5236/2 "2022-09-19T11:56:54Z")

</div>

Hi @jaypeeda,

Please note that his command is not supported by the Database sequencers. (“[Do not use this for database sequencers.](https://docs.daml.com/canton/usermanual/console.html#setup-onboard-new-sequencer)”) Are you trying to use it in conjunction with Database sequencers?

Kind Regards,  
Mate

---

<div class="post-metadata">

**Author:** ![jaypeeda](https://yyz2.discourse-cdn.com/flex034/user_avatar/forum.canton.network/jaypeeda/32/6967_2.png) [@jaypeeda](https://forum.canton.network/u/jaypeeda)\
**Post date:** [September 20, 2022, 9:00am UTC](https://forum.canton.network/t/sequencer-sharding-in-postgres-onboard-new-sequencer/5236/3 "2022-09-20T09:00:22Z")

</div>

Thanks Mate!

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