Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • event a1 at t → Forwarded and saved in the store
  • event a2 at t+8s → Not forwarded, we don't update the store
  • event a3 at t+11s → This is a duplicate of a2 (i.e. within the deduplicationInterval) which has not been forwarded, we will forward it as if there was never an event a2

Similarly, for out-of-order records

  • event a1 at t → Forwarded and saved in the store
  • event a2 at t-8s → Not forwarded, we don't update the store
  • event a3 at t-11s → Forwarded (see section Late events)


Deduplication interval boundaries

...

  • Drop late records
    • Advantage: The late record may be a duplicate of a previously forwarded purged record, in this case we won't forward it twice
    • Drawback: The record could be a non-duplicate, in this case we should have forwarded it
  • Forward late records *if no duplicate found in the store*
    • Advantage: Non-duplicate records are forwarded
    • Drawback: The record may be a duplicate of a previously forwarded purged record.

...

  • event k1 @t=10s → Forwarded    
  • event k2 @t=20s → Forwarded    
  • event k1 @t=9s → Dropped           (late event, but its duplicate @t=10s still exist in the store)

...