1. Why do the files holding the spilled transaction data in reorderbuffer.c have a ".snap" suffix?
2. Those files can get quite large. Would it be reasonable to store them in another directory (e.g. pg_replslot_tmp) so that they can be placed on another mount point? It would also simplify the cleanup code.
3. Why are the files in pg_logical/snapshots (which also have a ".snap" extension) stored on disk at all? If I remove them and restart, they get recreated during decoding. The code adds a fair amount of complexity so I assume there's an important reason.