On Thu, Feb 9, 2023 at 10:53 PM Nathan Bossart <nathandbossart@gmail.com> wrote:
> I've been thinking about this, actually. I'm wondering if we could provide
> a list of files to the archiving callback (configurable via a variable in
> ArchiveModuleState), and then have the callback return a list of files that
> are archived. (Or maybe we just put the list of files that need archiving
> in ArchiveModuleState.) The returned list could include files that were
> sent to the callback previously. The archive module would be responsible
> for creating background worker(s) (if desired), dispatching files
> to-be-archived to its background worker(s), and gathering the list of
> archived files to return.
Hmm. So in this design, the archiver doesn't really do the archiving
any more, because the interface makes that impossible. It has to use a
separate background worker process for that, full stop.
I don't think that's a good design. It's fine if some people want to
implement it that way, but it shouldn't be forced by the interface.
--
Robert Haas
EDB: http://www.enterprisedb.com