| We recently saw a minor bug get past the sync e2e tests in pdbext because the initial sync path enqueues commands in stockpile when the initial command submission errors. This caused errors in the command ingestion of initial sync to be ignored because the commands were stored in PDB via the normal command ingestion path. We should add a test which checks that the initial sync path is working correctly without needing to enqueue commands after a failure. The process-or-enqueue-command func is what controls command submission for the initial sync and blocking sync paths. We might be able to redef the make-durable-enqueue-command func to throw an error if called and then arrange a test which needs to transfer records during initial sync. Something along these lines should give us a test which will pop if we break the initial sync path. The initial-sync test can be used as an example of how to arrange the testing macros so there is data which needs to be transferred during an initial sync. |