On a single server, concurrent access to an individual bean is controlled via locking of the bean itself. There is no need to invalidate the cache, because while one transaction has the bean locked, it is not readable by other transactions.
Thanks for the reply.
So, does that mean that when you have cache invalidation option on, even in a single-server mode, the cache will be invalidated. I thought that there would be a distinction made between a cache on a remote server and cache on a local server. i.e., in a single-server mode, since the cache is local, it would not be invalidated. In other words, this would be just like the commit A option without cache invalidation. I tried to validate this with some load tests but they were not that conclusive. Let me know if I am wrong with my assumption.