Hi, Running some tests with transactions and non-transactional puts I have ran into a situation that I did not expect.
The observation was that a Geode transaction would not always detect conflicting changes done by a simultaneous non-transactional put. According to my tests, conflicting changes done by puts were detected most of the times by the transaction, but some other times they were not, depending on the moment at which the put occurred with respect to the transaction. The Geode documentation does not provide a lot of detail about how transactions work although I found the following piece of information in the Geode 1.6 documentation ([1]) that seemed to confirm what I experienced in my tests: "If other, non-transactional sources update the keys the transaction is modifying, the changes may intermingle with this transaction’s changes. The other sources can include distributions from remote members, loading activities, and other direct cache modification calls from the same member. When this happens, after your commit finishes, the cache state may not be what you expected." Could someone please confirm that what this information states is true currently in Geode? If that is true, do you have any suggestion about how to avoid it (i.e. if one client uses transactions, all clients should use transactions too so that puts do not overwrite sometimes the writes of transactions)? Also, could someone please tell why this information about how transactions work was removed from the Geode documentation? Thanks in advance, Alberto G. [1] https://geode.apache.org/docs/guide/16/developing/transactions/how_cache_transactions_work.html#topic_fls_1j1_wk