ignite-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mateusz <parzo...@gmail.com>
Subject Transactional adding to IgniteQueue and IgniteSet
Date Wed, 20 Jul 2016 07:01:28 GMT
Hello Ignite Users,

in
https://apacheignite.readme.io/docs/queue-and-set#collection-configuration
is stated, that the underlying cache for IgniteQueue can be transactional.
Since the underlying cache is an implementation detail, I expected the
IgniteQueue, configured with a transactional underlying cache, to be
transactional itself. Unfortunately, this is not the case. 

I've added a test also using a IgniteCache as comparison (where a
modification is rolled back) to the IgniteQueue (where a modification is not
rolled back).

@Test
public void transactionalAddToQueueCanBeRolledBack() throws Exception {
	// given
	Ignite ignite = Ignition.start();

	CacheConfiguration<Integer, String> cacheConfig = new
CacheConfiguration<>();
	cacheConfig.setName("cache" + System.currentTimeMillis());
	cacheConfig.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
	IgniteCache<Integer, String> cache = ignite.getOrCreateCache(cacheConfig);

	CollectionConfiguration queueConfig = new CollectionConfiguration();
	queueConfig.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
	IgniteQueue<String> queue = ignite.queue("queue" +
System.currentTimeMillis(), 0, queueConfig);

	// when
	Transaction txStart =
ignite.transactions().txStart(TransactionConcurrency.PESSIMISTIC,
			TransactionIsolation.SERIALIZABLE);
	cache.put(1, "foo");
	queue.add("foo");
	txStart.rollback();

	// then
	assertEquals(0, cache.size());
	assertEquals(0, queue.size()); // AssertionError: expected: <0> but was:
<1>
}

The same happens using IgniteSet.

Is the adding supposed to be transactional in this case?

Kind regards
Mateusz




--
View this message in context: http://apache-ignite-users.70518.x6.nabble.com/Transactional-adding-to-IgniteQueue-and-IgniteSet-tp6410.html
Sent from the Apache Ignite Users mailing list archive at Nabble.com.

Mime
View raw message