Search in sources :

Example 36 with TransactionOptions

use of com.hazelcast.transaction.TransactionOptions in project hazelcast by hazelcast.

the class ClientTxnTest method testRollbackOnTimeout.

@Test
public void testRollbackOnTimeout() {
    String name = randomString();
    IQueue<Object> queue = client.getQueue(name);
    queue.offer(randomString());
    TransactionOptions options = new TransactionOptions().setTimeout(3, TimeUnit.SECONDS);
    TransactionContext context = client.newTransactionContext(options);
    context.beginTransaction();
    try {
        context.getQueue(name).take();
        sleepAtLeastSeconds(5);
        context.commitTransaction();
        fail();
    } catch (Exception e) {
        context.rollbackTransaction();
    }
    assertEquals("Queue size should be 1", 1, queue.size());
}
Also used : TransactionOptions(com.hazelcast.transaction.TransactionOptions) TransactionContext(com.hazelcast.transaction.TransactionContext) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test) ParallelTest(com.hazelcast.test.annotation.ParallelTest)

Example 37 with TransactionOptions

use of com.hazelcast.transaction.TransactionOptions in project hazelcast by hazelcast.

the class TransactionContextImpl_backupLogsTest method assertBackupLogCreationNotForced.

public void assertBackupLogCreationNotForced(String serviceName) {
    TransactionOptions options = new TransactionOptions();
    TransactionContextImpl txContext = new TransactionContextImpl(localTxManager, localNodeEngine, options, ownerUuid, false);
    txContext.beginTransaction();
    TransactionalObject result = txContext.getTransactionalObject(serviceName, "foo");
    assertNotNull(result);
    assertNull(remoteTxManager.txBackupLogs.get(txContext.getTxnId()));
}
Also used : TransactionOptions(com.hazelcast.transaction.TransactionOptions) TransactionalObject(com.hazelcast.transaction.TransactionalObject)

Example 38 with TransactionOptions

use of com.hazelcast.transaction.TransactionOptions in project hazelcast by hazelcast.

the class TransactionImpl_OnePhaseTest method setup.

@Before
public void setup() {
    HazelcastInstance hz = createHazelcastInstance();
    operationService = getOperationService(hz);
    logger = mock(ILogger.class);
    txManagerService = mock(TransactionManagerServiceImpl.class);
    txManagerService.commitCount = MwCounter.newMwCounter();
    txManagerService.startCount = MwCounter.newMwCounter();
    txManagerService.rollbackCount = MwCounter.newMwCounter();
    nodeEngine = mock(NodeEngine.class);
    when(nodeEngine.getOperationService()).thenReturn(operationService);
    when(nodeEngine.getLocalMember()).thenReturn(new MemberImpl());
    when(nodeEngine.getLogger(TransactionImpl.class)).thenReturn(logger);
    options = new TransactionOptions().setTransactionType(ONE_PHASE);
}
Also used : NodeEngine(com.hazelcast.spi.NodeEngine) HazelcastInstance(com.hazelcast.core.HazelcastInstance) MemberImpl(com.hazelcast.instance.MemberImpl) TransactionOptions(com.hazelcast.transaction.TransactionOptions) ILogger(com.hazelcast.logging.ILogger) Before(org.junit.Before)

Example 39 with TransactionOptions

use of com.hazelcast.transaction.TransactionOptions in project hazelcast by hazelcast.

the class TransactionImpl_TwoPhaseIntegrationTest method prepare_whenSingleItemAndDurabilityOne_thenNoBackupLog.

// =================== prepare ===========================================
@Test
public void prepare_whenSingleItemAndDurabilityOne_thenNoBackupLog() {
    TransactionOptions options = new TransactionOptions().setTransactionType(TWO_PHASE).setDurability(1);
    TransactionImpl tx = new TransactionImpl(localTxService, localNodeEngine, options, txOwner);
    tx.begin();
    MockTransactionLogRecord record = new MockTransactionLogRecord();
    tx.add(record);
    tx.prepare();
    assertPrepared(tx);
    assertNoBackupLogOnRemote(tx);
    record.assertPrepareCalled().assertCommitNotCalled().assertRollbackNotCalled();
}
Also used : TransactionOptions(com.hazelcast.transaction.TransactionOptions) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Example 40 with TransactionOptions

use of com.hazelcast.transaction.TransactionOptions in project hazelcast by hazelcast.

the class TransactionImpl_TwoPhaseIntegrationTest method rollback_whenMultipleItemsAndDurabilityZero_thenNoBackupLog.

@Test
public void rollback_whenMultipleItemsAndDurabilityZero_thenNoBackupLog() {
    TransactionOptions options = new TransactionOptions().setTransactionType(TWO_PHASE).setDurability(0);
    TransactionImpl tx = new TransactionImpl(localTxService, localNodeEngine, options, txOwner);
    tx.begin();
    MockTransactionLogRecord record1 = new MockTransactionLogRecord();
    tx.add(record1);
    MockTransactionLogRecord record2 = new MockTransactionLogRecord();
    tx.add(record2);
    tx.prepare();
    tx.rollback();
    assertRolledBack(tx);
    assertNoBackupLogOnRemote(tx);
    record1.assertPrepareCalled().assertCommitNotCalled().assertRollbackCalled();
    record2.assertPrepareCalled().assertCommitNotCalled().assertRollbackCalled();
}
Also used : TransactionOptions(com.hazelcast.transaction.TransactionOptions) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

TransactionOptions (com.hazelcast.transaction.TransactionOptions)47 QuickTest (com.hazelcast.test.annotation.QuickTest)36 Test (org.junit.Test)36 TransactionException (com.hazelcast.transaction.TransactionException)18 HazelcastInstance (com.hazelcast.core.HazelcastInstance)15 ParallelTest (com.hazelcast.test.annotation.ParallelTest)14 AssertTask (com.hazelcast.test.AssertTask)9 TestHazelcastInstanceFactory (com.hazelcast.test.TestHazelcastInstanceFactory)9 HazelcastInstanceNotActiveException (com.hazelcast.core.HazelcastInstanceNotActiveException)7 TransactionManagerServiceImpl (com.hazelcast.transaction.impl.TransactionManagerServiceImpl)7 ExecutionException (java.util.concurrent.ExecutionException)7 TargetNotMemberException (com.hazelcast.spi.exception.TargetNotMemberException)6 TransactionContext (com.hazelcast.transaction.TransactionContext)6 Config (com.hazelcast.config.Config)3 NightlyTest (com.hazelcast.test.annotation.NightlyTest)3 MapStoreConfig (com.hazelcast.config.MapStoreConfig)2 TransactionalMap (com.hazelcast.core.TransactionalMap)2 MemberImpl (com.hazelcast.instance.MemberImpl)2 ILogger (com.hazelcast.logging.ILogger)2 Address (com.hazelcast.nio.Address)2