[ https://issues.apache.org/jira/browse/IGNITE-6380?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16173316#comment-16173316 ]
Anton Vinogradov commented on IGNITE-6380: ------------------------------------------ [~xtern], Simplified reproducer: {noformat} public void test() throws Exception { Ignite ignite = startGrid(); final IgniteCache<Object, Object> cache1 = ignite.getOrCreateCache(new CacheConfiguration<>() .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL) .setName("cache1")); final IgniteCache<Object, Object> cache2 = ignite.getOrCreateCache(new CacheConfiguration<>() .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL) .setName("cache2")); final CountDownLatch latch1 = new CountDownLatch(1); Thread t = new Thread(new Runnable() { @Override public void run() { Lock lock = cache2.lock("fake"); try { lock.lock(); System.out.println("Locked"); latch1.countDown(); Thread.sleep(1000); cache1.clear(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } finally { lock.unlock(); } } }); t.start(); try { latch1.await(); } catch (InterruptedException e) { e.printStackTrace(); } ignite.getOrCreateCache(new CacheConfiguration<>() .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL) .setName("cache3")); System.out.println("No deadlock"); } {noformat} > Exception should be thrown on cache creation attempt inside transaction > ----------------------------------------------------------------------- > > Key: IGNITE-6380 > URL: https://issues.apache.org/jira/browse/IGNITE-6380 > Project: Ignite > Issue Type: Improvement > Reporter: Yakov Zhdanov > Assignee: Pavel Pereslegin > Labels: newbie, usability > > Exception should be thrown on cache creation attempt inside transaction to > prevent deadlocks since cache start triggers exchange and exchange cannot > finish until all txs are finished. > We need to check if thread owns a tx before starting cache and if it does > then IllegalStateException should be thrown. -- This message was sent by Atlassian JIRA (v6.4.14#64029)