Under certain circumstances it was seen that Adapters would "miss" events. How can this be avoided?
Release : 8.35
Component : CA Business Service Insight
All of these missed events happened when
1) The Adapter is defined with a non-unique KeyField - in the examples seen, it was just the timestamp, but each time had over 100 events (one for each resource in the query).
2) The Adapters Listener was intermittently unavailable, so data read from the SQL Source backed up in send.txt until it hit the 10000 event limit.
We stop collecting once the send.txt is full, but then start from the next value of the KeyField. If the key is non-unique, and the limit is hit part-way through a given set of rows for that key, then others are missed.
The solution here is to create the Primary Key for the Adapter SQL query to be unique for the incoming data, even if this requires a compound (multi-column) key. Once this is performed, there are no missed rows.
Further information on ensuring Event Singularity can be found in the documentation.