Each sign-on attempt is maintained as a separate attribute value to avoid the potential for data loss as a result of replication propagation delay.
If a record of all sign-on attempts was maintained within a single JSON object, the object written on one server would not reflect concurrent attempts made on other servers, and replication would only use what it perceives to be the most recent value rather than attempting to merge the values.
It is possible that information about one or more attempts made around the same time could be lost. This includes the following cases:
- If the server is not configured to collapse information about multiple similar attempts, then it will not record information about multiple similar attempts made within the same millisecond because that would result in duplicate attribute values.
- If the server is configured to collapse information about multiple similar attempts, then
concurrent modifications (especially on different servers) might cause the
additional-attempt-countvalue to be incremented to the same value on each of those servers.Note:
If the concurrent attempts occur within the same millisecond, then only one of them is preserved and any others are lost. If the attempts do not occur within the same millisecond, then you can infer the correct value during internal processing, but there might still be corner cases in which the server loses information about one or more attempts.