Hi Liviu , I have mapped a domain in AWS route53 primary-clsuter.xyz.com to mongodb primary cluster connection string .
Now my primary cluster goes down so my secondary cluster becomes primary . I have updated the connection string against the domain in route53 . Now *primary-cluster.xzy.com <http://primary-cluster.xzy.com>* is pointed to the new primary custer connection string . While creating a connection from the console through the mongo shell it's getting connected . But opensips is not able to switch the connecting string somehow . still it's trying to connect to the previous primary connection string . It seems like opensips has cached the connection string and is trying to connect to the same even after I have updated the string from the backend . Once I restart the opensips service everything starts working and the connection string was updated to the latest primary cluster connection string . How will I manage this ? *Thanks & Regards* *Sasmita Panda* *Senior Network Testing and Software Engineer* *3CLogic , ph:07827611765* On Tue, Aug 23, 2022 at 3:31 PM Liviu Chircu <[email protected]> wrote: > On 22.08.2022 08:44, Sasmita Panda wrote: > > > > When I am configuring 2 connectionstrings here , that means > > 1. Opensips will always honor the 1st one as primary and 2nd one as > > secondary ? > > > > 2. If the 1st one will get down and 2nd one becomes primary , what > > will happen to opensips ? Will that keep the 2nd one as primary > > automatically or I have to switch the domain in the config ? > > > > 3. How does opensips decide which one is primary and which is secondary ? > > > > Please help me out . I am stuck in the middle of something here . > > Hi Sasmita, > > This has more to do with the libmongoc library behavior, rather than > OpenSIPS. First, the multi-host replica set syntax is part of the > MongoDB connection string syntax[1], so everything that you can read on > the Mongo website also applies to the "cachedb_mongodb" module. > > 1. This means that once you include the "replicaSet=rs0" component, the > library will automatically establish who is the PRIMARY node on each > query. If the PRIMARY should ever change (either due to system failure, > manual switch, etc.), the library will be able to switch to the new > PRIMARY, whichever that may become (imagine you have a 5-node replica set). > > 2. no need to change the config string. The library will always know > which is the PRIMARY (writer) node. > > 3. I cannot say... I image the library will connect to each node and run > an "isMaster()"[2] command? I suggest you do an ngrep or even a PCAP > capture - that should give you more info on libmongoc behavior. > > [1]: https://www.mongodb.com/docs/v5.2/reference/connection-string/ > [2]: https://www.mongodb.com/docs/v4.2/reference/command/isMaster/ > > Best regards, > > -- > Liviu Chircu > www.twitter.com/liviuchircu | www.opensips-solutions.com > OpenSIPS Summit 2022 Athens, Sep 27-30 | www.opensips.org/events > >
_______________________________________________ Users mailing list [email protected] http://lists.opensips.org/cgi-bin/mailman/listinfo/users
