/** {@inheritDoc} */ @Override public void writeExternal(ObjectOutput out) throws IOException { writeExternalMeta(out); out.writeObject(xidVer); out.writeBoolean(invalidate); out.writeLong(timeout); out.writeLong(threadId); out.writeLong(startTime); U.writeUuid(out, nodeId); out.write(isolation.ordinal()); out.write(concurrency.ordinal()); out.write(state().ordinal()); }
/** * */ @Test public void testPrepareOnUnstableTopology() throws Exception { for (TransactionIsolation isolation : TransactionIsolation.values()) { doPrepareOnUnstableTopology(4, false, isolation, 0); doPrepareOnUnstableTopology(4, true, isolation, 0); doPrepareOnUnstableTopology(4, false, isolation, TimeUnit.DAYS.toMillis(1)); doPrepareOnUnstableTopology(4, true, isolation, TimeUnit.DAYS.toMillis(1)); } }
/** {@inheritDoc} */ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException { dfltConcurrency = TransactionConcurrency.fromOrdinal(in.readByte()); dfltIsolation = TransactionIsolation.fromOrdinal(in.readByte()); dfltTimeout = in.readLong(); pessimisticTxLogLinger = in.readInt(); pessimisticTxLogSize = in.readInt(); txMgrFactory = U.readString(in); }
/** */ protected GridCacheAbstractLoadTest() { Properties props = new Properties(); try { props.load(new FileReader(GridTestUtils.resolveIgnitePath( "modules/tests/config/cache-load.properties"))); } catch (IOException e) { throw new RuntimeException(e); } tx = Boolean.valueOf(props.getProperty("transactions")); operationsPerTx = Integer.valueOf(props.getProperty("operations.per.tx")); isolation = TransactionIsolation.valueOf(props.getProperty("isolation")); concurrency = TransactionConcurrency.valueOf(props.getProperty("concurrency")); threads = Integer.valueOf(props.getProperty("threads")); writeRatio = Double.valueOf(props.getProperty("write.ratio")); testDuration = Long.valueOf(props.getProperty("duration")); valSize = Integer.valueOf(props.getProperty("value.size")); }
/** * Tests timeouts in all tx configurations. * * @throws Exception If failed. */ @Test public void testSimple() throws Exception { for (TransactionConcurrency concurrency : TransactionConcurrency.values()) for (TransactionIsolation isolation : TransactionIsolation.values()) { for (int op = 0; op < 4; op++) testSimple0(concurrency, isolation, op); } }
@Override public void write(BinaryRawWriterEx writer, Transaction tx) { writer.writeLong(registerTx(tx)); writer.writeInt(tx.concurrency().ordinal()); writer.writeInt(tx.isolation().ordinal()); writer.writeLong(tx.timeout()); } });
/** {@inheritDoc} */ @Override public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException { readExternalMeta(in); xidVer = (GridCacheVersion)in.readObject(); invalidate = in.readBoolean(); timeout = in.readLong(); threadId = in.readLong(); startTime = in.readLong(); nodeId = U.readUuid(in); isolation = TransactionIsolation.fromOrdinal(in.read()); concurrency = TransactionConcurrency.fromOrdinal(in.read()); state = TransactionState.fromOrdinal(in.read()); }
/** * @throws Exception If failed. */ @Test public void testCause() throws Exception { startGrids(1); for (TransactionIsolation isolation : TransactionIsolation.values()) { testCauseObject(1, 2, 1000, isolation, true); testCauseObject(1, 2, 1000, isolation, false); } }
writer.writeInt(txCfg.getDefaultTxIsolation().ordinal()); writer.writeLong(txCfg.getDefaultTxTimeout()); writer.writeLong(txCfg.getTxTimeoutOnPartitionMapExchange());
/** {@inheritDoc} */ @Override protected void readExternalData(byte protoVer, ObjectInput in) throws IOException, ClassNotFoundException { xid = U.readGridUuid(in); duration = in.readLong(); isolation = TransactionIsolation.fromOrdinal(in.readByte()); concurrency = TransactionConcurrency.fromOrdinal(in.readByte()); timeout = in.readLong(); lb = U.readString(in); primaryNodes = U.readCollection(in); state = TransactionState.fromOrdinal(in.readByte()); size = in.readInt(); if (protoVer >= V2) { nearXid = U.readGridUuid(in); masterNodeIds = U.readCollection(in); startTime = in.readLong(); } if (protoVer >= V3) { long topVer = in.readLong(); int minorTopVer = in.readInt(); if (topVer != -1) this.topVer = new AffinityTopologyVersion(topVer, minorTopVer); } }
@Override public void applyx(Ignite ignite, final IgniteCache<Integer, Integer> cache) throws Exception { for (TransactionIsolation isolation : TransactionIsolation.values()) { final Transaction tx = ignite.transactions().txStart(OPTIMISTIC, isolation); cache.put(1, 1); try { tx.resume(); fail("Exception must be thrown"); } catch (Throwable e) { assertTrue(X.hasCause(e, IgniteException.class)); assertFalse(X.hasCause(e, AssertionError.class)); } tx.close(); assertFalse(cache.containsKey(1)); } } });
if (!writer.writeByte("isolation", isolation != null ? (byte)isolation.ordinal() : -1)) return false;
/** {@inheritDoc} */ @Override public void processInStreamOutStream(int type, BinaryRawReaderEx reader, BinaryRawWriterEx writer) throws IgniteCheckedException { switch (type) { case OP_START: { TransactionConcurrency txConcurrency = TransactionConcurrency.fromOrdinal(reader.readInt()); assert txConcurrency != null; TransactionIsolation txIsolation = TransactionIsolation.fromOrdinal(reader.readInt()); assert txIsolation != null; Transaction tx = txs.txStart(txConcurrency, txIsolation, reader.readLong(), reader.readInt()); long id = registerTx(tx); writer.writeLong(id); return; } } super.processInStreamOutStream(type, reader, writer); }
/** */ private void executeWithAllTxCaches(final TestClosure clo) throws Exception { for (CacheConfiguration ccfg : cacheConfigurations()) { if (ccfg.getAtomicityMode() == CacheAtomicityMode.TRANSACTIONAL) { for (TransactionConcurrency con : TransactionConcurrency.values()) { for (TransactionIsolation iso : TransactionIsolation.values()) executeForCache(ccfg, clo, con, iso); } } } }
if (!writer.writeByte("isolation", isolation != null ? (byte)isolation.ordinal() : -1)) return false;
return false; isolation = TransactionIsolation.fromOrdinal(isolationOrd);
/** * @throws Exception If failed. */ @Test public void testCauseSeveralNodes() throws Exception { startGrids(2); for (TransactionIsolation isolation : TransactionIsolation.values()) { testCauseObject(2, 2, 1500, isolation, true); testCauseObject(2, 2, 1500, isolation, false); } }
if (!writer.writeByte("isolation", isolation != null ? (byte)isolation.ordinal() : -1)) return false;
return false; isolation = TransactionIsolation.fromOrdinal(isolationOrd);