The OpenEdge Replication model is based on After-Image block replication, not real-time replication. Transaction notes cannot be applied by the Replication Agent (RPLA) before they have been transferred over the network layers from the source to the target machine. This means that AI Transactions (AI Notes) are written to the current AI buffer (-aibuff in shared memory). Those AI buffers are flushed to disk when they become full or when -Mf expires after a transaction end. In other words, only once the aifbuffer is flushed does it goto RPLS-Q to then process to target. Until then target is not aware of it.
So considering the source database is using a -Mf of 3 seconds (by default), that's always going to effect a delay after transaction end. The AI buffer after a one record update for example, isn't going to be anywhere near filled. The additional 10 seconds observed (3 - 13 seconds between source updates and target seeing that update) are then accounted in either the network between the source and target machines or the under performant target database running on the target machine.
In a typical production scenario, transaction activity would be such that the ai buffers are being continually flushed and providing the target RPLA is listening and able to keep up, those completed transactions will be readable as the interleaved transactions and frequent transaction end notes are received by the agent. |