[ 
https://issues.apache.org/jira/browse/IGNITE-14868?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky updated IGNITE-14868:
-------------------------------------
    Attachment: StartTxOnDifferentNodeTest.java

> Failed to get jCache proxy of already started cache within transaction while 
> handling thin client request.
> ----------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-14868
>                 URL: https://issues.apache.org/jira/browse/IGNITE-14868
>             Project: Ignite
>          Issue Type: Bug
>    Affects Versions: 2.10
>            Reporter: Ivan Daschinsky
>            Priority: Major
>         Attachments: StartTxOnDifferentNodeTest.java
>
>
> Description of attached reproducer.
> # Start 2 server nodes
> # Start cache on the first server node (simulate processing of thin client 
> request) 
> # Start tx on the second server node after starting cache on the first node 
> returns (using {{CyclicBarrier}} for example.  Get cache instance by name 
> inside tx block using
> {{org.apache.ignite.Ignite#cache}} (That is the way the 
> {{org.apache.ignite.internal.processors.platform.client.ClientRequestHandler}}
>  works
> # Repeat until failure occurs 
> {code}
> Failure in thread: Thread [id=135, name=tx-thread-2]
> class org.apache.ignite.IgniteException: Cannot start/stop cache within lock 
> or transaction [cacheNames=tx_cache, operation=dynamicStartCache]
>       at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.checkEmptyTransactions(IgniteTxManager.java:2982)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.dynamicStartCache(GridCacheProcessor.java:3487)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.dynamicStartCache(GridCacheProcessor.java:3431)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.publicJCache(GridCacheProcessor.java:4517)
>       at org.apache.ignite.internal.IgniteKernal.cache(IgniteKernal.java:3194)
> {code}
> Actually, PME finished at this time and I'd expect that the cache 's context 
> should be already created
> {code}
> [2021-06-10 10:39:34,072][INFO 
> ][sys-#99%cache.StartTxOnDifferentNodeTest1%][GridCacheProcessor] Finish 
> proxy initialization, cacheName=tx_cache, 
> localNodeId=4cce5a9d-c6a8-44df-936d-f902d4100001
> [2021-06-10 10:39:34,073][INFO 
> ][sys-#99%cache.StartTxOnDifferentNodeTest1%][GridDhtPartitionsExchangeFuture]
>  Completed partition exchange 
> [2021-06-10 10:39:34,075][INFO 
> ][exchange-worker-#98%cache.StartTxOnDifferentNodeTest1%][GridCachePartitionExchangeManager]
>  Skipping rebalancing (nothing scheduled) [top=AffinityTopologyVersion 
> [topVer=2, minorTopVer=4], force=false, evt=DISCOVERY_CUSTOM_EVT, 
> node=284f7bcf-4956-40c2-9df5-de8cac600000]
> Failure in thread: Thread [id=135, name=tx-thread-2]
> class org.apache.ignite.IgniteException: Cannot start/stop cache within lock 
> or transaction [cacheNames=tx_cache, operation=dynamicStartCache]
>       at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxManager.checkEmptyTransactions(IgniteTxManager.java:2982)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.dynamicStartCache(GridCacheProcessor.java:3487)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheProcessor.dynamicStartCache(GridCacheProcessor.java:3431)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to