I have to come up with a “event dupe check” system that handles race conditions where two requests come in at the same time. Obviously this can be solved with lightweight transactions (if not exists), however I am concerned that there may be costs/issues hidden to me for doing significant amounts of LWT such as locks or other contention issues. If it comes down to pure time and operations, after doing some analysis with tracing, it appears that is actually cheaper (total time and operations wise) to simply do one LWT than implement a check/write/double check and or correct style reconciliation system.
Are there hidden costs to LWT (paxos) that are not represented in the total time and number of operations? For example, are there some under-the-hood locks that could cause contention issues when processing significant quantities of LWT under load? Wayne