Dear Raj.
Thanks a lot for your tips.
I would like you to please confirm whether you mean I can stop Hiperkitty by just shutting down the Web components instance (actually, a Docker container). Does this mean, therefore, Hiperkitty is to be considered as part of the Web Components?
Just for my information, because I'm afraid that both Core and Hiperkitty share the very same database:
[database] class: mailman.database.postgresql.PostgreSQLDatabase url: postgres://mailman:mailmanpass@database/mailmandb
This is the very same database used by Hyperkitty, so I am afraid that I will have to end up stopping also the Core components, or, anyway, if they cannot access the database "normally" for whatever reason, they will not be delivering the mails to the different distribution lists members and we will have to rely on the external mail servers retries. Could you please confirm this assumption is right?
Once more, I really appreciate you kindly took your time to answer and explain about Mailman architecture. Best regards.
-----"Abhilash Raj" <[1]maxking@asynchronous.in> wrote: -----
Dear all.
My apologies if the answer to this question is obvious, but I am
newbie for 3 version, and to be very honest I haven't had enough time yet to have a deep look into the documentation.
Our customer is currently using PostGRESQL as backend, and we would like to perform some maintenance tasks, namely running vacuum full, or at least trying to rebuild hyperkitty_email primary key related index. We have been asked on the real impact of putting in place such initiative. Though the latter is related to archiving, I haven't found a way to stop just Hyperkitty or Django related processes other than stopping Mailman's core, hence preventing mails addressed to distribution lists from being delivered, could you please confirm if I am correct? You can indeed stop Hyperkitty separate from stopping Core. Depending on how your client installed Mailman, there are two separate
To: [2]eugenio.jordan@esa.int From: "Abhilash Raj" <[3]maxking@asynchronous.in> Date: 08/23/2021 07:31PM Cc: "Mailman users" <[4]mailman-users@mailman3.org> Subject: Re: [MM3-users] Mailman backend maintenance task On Sun, Aug 22, 2021, at 10:54 AM, [5]eugenio.jordan@esa.int wrote: pretty scripts/processes/commands to start and stop Mailman Core and Web components. You should be able to safely stop Hyperkitty, run maintenance and re-start it. Core will continue to function during this duration, sending out emails and such. The archiving will obviously not happen, but it will be queued and Core we retry to archive that, which should succeed whenever HK comes back up.
Regarding the former, as far as I have read, the "mappings" lists -> addresses are stored just in the database, so if we run some kind of procedure or task like vacuum which will lock exclusively tables, or want anyway to have the database stopped for a cold backup or
Mailman willl not work, that is, again the mails addressed to the distribution lists will not be delivered. Will you please confirm
whatever, this
point, too?
Both Core and Web components have separate databases. Although, technically speaking, the database name is passed in through configs and you can pass in the same database name to both and since they use separate table names, there is a good chance it would work. Considering that your client has configured separate databases for both, you can run maintenance for the Web database without affecting any operation of Core (other than archiving). Core stores the mappings and data related to MailingLists. While Hyperkitty also has a partial copy of that data in its database that it needs to maintain the archives, that data can be synchronized with a command and is also done routinely using a cron job. A database backup would be a good idea either way. Hope this helps!
thanks,
Abhilash Raj (maxking)
This message is intended only for the recipient(s) named above. It may contain p roprietary information and/or protected content. Any unauthorised disclosure, use, retention or dissemination is prohibited. If you have received this e-mail in error, please notify the sender immediately. ESA applies appropri ate organisational measures to protect personal data, in case of data privacy queries, please contact the ESA Data Prot ection Officer (dpo@esa.int).
References
- mailto:maxking@asynchronous.in
- mailto:eugenio.jordan@esa.int
- mailto:maxking@asynchronous.in
- mailto:mailman-users@mailman3.org
- mailto:eugenio.jordan@esa.int