Ilya Shishkov created IGNITE-26492:
--------------------------------------

             Summary: Duplicated interceptor invocation with cache store
                 Key: IGNITE-26492
                 URL: https://issues.apache.org/jira/browse/IGNITE-26492
             Project: Ignite
          Issue Type: Task
            Reporter: Ilya Shishkov


When cache store is used, {{CacheInterceptor#onBeforePut}} will be invoked 
twice on transaction coordinator.
Problem is actual for transactional caches and it does not matter whether tx 
coordinator is primary or backup.

Example stacktraces:
{code}
        
org.apache.ignite.cache.store.DuplicateInterceptorInvocationTest$TestInterceptor.onBeforePut(DuplicateInterceptorInvocationTest.java:140)
        
org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter.batchStoreCommit(IgniteTxAdapter.java:1471)
        
org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:548)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.localFinish(GridNearTxLocal.java:3175)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.doFinish(GridNearTxFinishFuture.java:453)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.finish(GridNearTxFinishFuture.java:404)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.lambda$commitNearTxLocalAsync$5ce2d6ce$1(GridNearTxLocal.java:3454)
        
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener$$$capture(GridFutureAdapter.java:474)
        
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java)
{code}

{code}
        
org.apache.ignite.cache.store.DuplicateInterceptorInvocationTest$TestInterceptor.onBeforePut(DuplicateInterceptorInvocationTest.java:140)
        
org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerSet(GridCacheMapEntry.java:1058)
        
org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.userCommit(IgniteTxLocalAdapter.java:696)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.localFinish(GridNearTxLocal.java:3175)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.doFinish(GridNearTxFinishFuture.java:453)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxFinishFuture.finish(GridNearTxFinishFuture.java:404)
        
org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.lambda$commitNearTxLocalAsync$5ce2d6ce$1(GridNearTxLocal.java:3454)
        
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener$$$capture(GridFutureAdapter.java:474)
        
org.apache.ignite.internal.util.future.GridFutureAdapter.notifyListener(GridFutureAdapter.java)
{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to