Hi, + (errmsg("BaseSnapshot cant't be setup at point %X/%X", + (uint32) (lsn >> 32), (uint32) lsn), + errdetail("Top transaction is running.")));
Did you mean this errdetail: Top transaction is not running. Cheers On Sat, Feb 13, 2021 at 12:34 PM Ranier Vilela <ranier...@gmail.com> wrote: > > Em sáb., 13 de fev. de 2021 às 01:07, Zhihong Yu <z...@yugabyte.com> > escreveu: > >> Hi, >> How about the following patch ? >> >> ReorderBufferSetBaseSnapshot() can return a bool to indicate whether the >> base snapshot is set up. >> >> For the call by SnapBuildCommitTxn(), it seems xid is top transaction. So >> the return value doesn't need to be checked. >> > IMO anything else is better than PANIC. > Anyway, if all fails, reporting an error can contribute to checking where. > > Attached a patch suggestion v2. > 1. SnapBuildProcessChange returns a result of > ReorderBufferSetBaseSnapshot, so the caller can act accordingly. > 2. SnapBuildCommitTxn can't ignore a result > from ReorderBufferSetBaseSnapshot, even if it never fails. > > regards, > Ranier Vilela >