On Fri, Jun 11, 2021 at 2:23 AM Jeff Davis <pg...@j-davis.com> wrote: > * The comment acknowledges that a user might expect an error in that > case; but doesn't really address why the user would expect an error, > and why it's OK to violate that expectation.
This code was written by Andres, so he'd be the best person to comment on it, but it seems to me that the comment does explain this, and that it's basically the same explanation as what Amit said. If the client doesn't have to do anything for a certain range of WAL and just acknowledges it, it would under your proposal have to also durably record that it had chosen to do nothing, which might cause extra fsyncs, potentially lots of extra fsyncs if this happens frequently e.g. because most tables are filtered out and the replicated ones are only modified occasionally. I'm not sure that it would be a good trade-off to have a tighter sanity check at the expense of adding that overhead. -- Robert Haas EDB: http://www.enterprisedb.com