use of org.apache.ignite.configuration.TransactionConfiguration in project ignite by apache.
the class PlatformTransactions method processOutStream.
/**
* {@inheritDoc}
*/
@Override
public void processOutStream(int type, BinaryRawWriterEx writer) throws IgniteCheckedException {
switch(type) {
case OP_CACHE_CONFIG_PARAMETERS:
TransactionConfiguration txCfg = platformCtx.kernalContext().config().getTransactionConfiguration();
writer.writeInt(txCfg.getDefaultTxConcurrency().ordinal());
writer.writeInt(txCfg.getDefaultTxIsolation().ordinal());
writer.writeLong(txCfg.getDefaultTxTimeout());
break;
case OP_METRICS:
TransactionMetrics metrics = txs.metrics();
writer.writeTimestamp(new Timestamp(metrics.commitTime()));
writer.writeTimestamp(new Timestamp(metrics.rollbackTime()));
writer.writeInt(metrics.txCommits());
writer.writeInt(metrics.txRollbacks());
break;
default:
super.processOutStream(type, writer);
}
}
use of org.apache.ignite.configuration.TransactionConfiguration in project ignite by apache.
the class PlatformConfigurationUtils method readIgniteConfiguration.
/**
* Reads Ignite configuration.
* @param in Reader.
* @param cfg Configuration.
*/
@SuppressWarnings("deprecation")
public static void readIgniteConfiguration(BinaryRawReaderEx in, IgniteConfiguration cfg) {
if (in.readBoolean())
cfg.setClientMode(in.readBoolean());
int[] evtTypes = in.readIntArray();
if (evtTypes != null)
cfg.setIncludeEventTypes(evtTypes);
if (in.readBoolean())
cfg.setMetricsExpireTime(in.readLong());
if (in.readBoolean())
cfg.setMetricsHistorySize(in.readInt());
if (in.readBoolean())
cfg.setMetricsLogFrequency(in.readLong());
if (in.readBoolean())
cfg.setMetricsUpdateFrequency(in.readLong());
if (in.readBoolean())
cfg.setNetworkSendRetryCount(in.readInt());
if (in.readBoolean())
cfg.setNetworkSendRetryDelay(in.readLong());
if (in.readBoolean())
cfg.setNetworkTimeout(in.readLong());
String workDir = in.readString();
if (workDir != null)
cfg.setWorkDirectory(workDir);
String locHost = in.readString();
if (locHost != null)
cfg.setLocalHost(locHost);
if (in.readBoolean())
cfg.setDaemon(in.readBoolean());
if (in.readBoolean())
cfg.setFailureDetectionTimeout(in.readLong());
if (in.readBoolean())
cfg.setClientFailureDetectionTimeout(in.readLong());
if (in.readBoolean())
cfg.setLongQueryWarningTimeout(in.readLong());
if (in.readBoolean())
cfg.setActiveOnStart(in.readBoolean());
Object consId = in.readObjectDetached();
if (consId instanceof Serializable) {
cfg.setConsistentId((Serializable) consId);
} else if (consId != null) {
throw new IgniteException("IgniteConfiguration.ConsistentId should be Serializable.");
}
// Thread pools.
if (in.readBoolean())
cfg.setPublicThreadPoolSize(in.readInt());
if (in.readBoolean())
cfg.setStripedPoolSize(in.readInt());
if (in.readBoolean())
cfg.setServiceThreadPoolSize(in.readInt());
if (in.readBoolean())
cfg.setSystemThreadPoolSize(in.readInt());
if (in.readBoolean())
cfg.setAsyncCallbackPoolSize(in.readInt());
if (in.readBoolean())
cfg.setManagementThreadPoolSize(in.readInt());
if (in.readBoolean())
cfg.setDataStreamerThreadPoolSize(in.readInt());
if (in.readBoolean())
cfg.setUtilityCachePoolSize(in.readInt());
if (in.readBoolean())
cfg.setQueryThreadPoolSize(in.readInt());
readCacheConfigurations(in, cfg);
readDiscoveryConfiguration(in, cfg);
if (in.readBoolean()) {
TcpCommunicationSpi comm = new TcpCommunicationSpi();
comm.setAckSendThreshold(in.readInt());
comm.setConnectTimeout(in.readLong());
comm.setDirectBuffer(in.readBoolean());
comm.setDirectSendBuffer(in.readBoolean());
comm.setIdleConnectionTimeout(in.readLong());
comm.setLocalAddress(in.readString());
comm.setLocalPort(in.readInt());
comm.setLocalPortRange(in.readInt());
comm.setMaxConnectTimeout(in.readLong());
comm.setMessageQueueLimit(in.readInt());
comm.setReconnectCount(in.readInt());
comm.setSelectorsCount(in.readInt());
comm.setSlowClientQueueLimit(in.readInt());
comm.setSocketReceiveBuffer(in.readInt());
comm.setSocketSendBuffer(in.readInt());
comm.setTcpNoDelay(in.readBoolean());
comm.setUnacknowledgedMessagesBufferSize(in.readInt());
cfg.setCommunicationSpi(comm);
}
if (in.readBoolean()) {
// binary config is present
if (cfg.getBinaryConfiguration() == null)
cfg.setBinaryConfiguration(new BinaryConfiguration());
if (// compact footer is set
in.readBoolean())
cfg.getBinaryConfiguration().setCompactFooter(in.readBoolean());
if (in.readBoolean()) {
// Simple name mapper.
cfg.getBinaryConfiguration().setNameMapper(new BinaryBasicNameMapper(true));
}
}
int attrCnt = in.readInt();
if (attrCnt > 0) {
Map<String, Object> attrs = new HashMap<>(attrCnt);
for (int i = 0; i < attrCnt; i++) attrs.put(in.readString(), in.readObject());
cfg.setUserAttributes(attrs);
}
if (in.readBoolean()) {
AtomicConfiguration atomic = new AtomicConfiguration();
atomic.setAtomicSequenceReserveSize(in.readInt());
atomic.setBackups(in.readInt());
atomic.setCacheMode(CacheMode.fromOrdinal(in.readInt()));
cfg.setAtomicConfiguration(atomic);
}
if (in.readBoolean()) {
TransactionConfiguration tx = new TransactionConfiguration();
tx.setPessimisticTxLogSize(in.readInt());
tx.setDefaultTxConcurrency(TransactionConcurrency.fromOrdinal(in.readInt()));
tx.setDefaultTxIsolation(TransactionIsolation.fromOrdinal(in.readInt()));
tx.setDefaultTxTimeout(in.readLong());
tx.setPessimisticTxLogLinger(in.readInt());
cfg.setTransactionConfiguration(tx);
}
switch(in.readByte()) {
case 1:
cfg.setEventStorageSpi(new NoopEventStorageSpi());
break;
case 2:
cfg.setEventStorageSpi(new MemoryEventStorageSpi().setExpireCount(in.readLong()).setExpireAgeMs(in.readLong()));
break;
}
if (in.readBoolean())
cfg.setMemoryConfiguration(readMemoryConfiguration(in));
if (in.readBoolean())
cfg.setSqlConnectorConfiguration(readSqlConnectorConfiguration(in));
if (in.readBoolean())
cfg.setClientConnectorConfiguration(readClientConnectorConfiguration(in));
if (// ClientConnectorConfigurationEnabled override
!in.readBoolean())
cfg.setClientConnectorConfiguration(null);
if (in.readBoolean())
cfg.setPersistentStoreConfiguration(readPersistentStoreConfiguration(in));
if (in.readBoolean())
cfg.setDataStorageConfiguration(readDataStorageConfiguration(in));
if (in.readBoolean())
cfg.setSslContextFactory(readSslContextFactory(in));
readPluginConfiguration(cfg, in);
readLocalEventListeners(cfg, in);
}
use of org.apache.ignite.configuration.TransactionConfiguration in project ignite by apache.
the class PlatformConfigurationUtils method writeIgniteConfiguration.
/**
* Writes Ignite configuration.
*
* @param w Writer.
* @param cfg Configuration.
*/
@SuppressWarnings("deprecation")
public static void writeIgniteConfiguration(BinaryRawWriter w, IgniteConfiguration cfg) {
assert w != null;
assert cfg != null;
w.writeBoolean(true);
w.writeBoolean(cfg.isClientMode());
w.writeIntArray(cfg.getIncludeEventTypes());
w.writeBoolean(true);
w.writeLong(cfg.getMetricsExpireTime());
w.writeBoolean(true);
w.writeInt(cfg.getMetricsHistorySize());
w.writeBoolean(true);
w.writeLong(cfg.getMetricsLogFrequency());
w.writeBoolean(true);
w.writeLong(cfg.getMetricsUpdateFrequency());
w.writeBoolean(true);
w.writeInt(cfg.getNetworkSendRetryCount());
w.writeBoolean(true);
w.writeLong(cfg.getNetworkSendRetryDelay());
w.writeBoolean(true);
w.writeLong(cfg.getNetworkTimeout());
w.writeString(cfg.getWorkDirectory());
w.writeString(cfg.getLocalHost());
w.writeBoolean(true);
w.writeBoolean(cfg.isDaemon());
w.writeBoolean(true);
w.writeLong(cfg.getFailureDetectionTimeout());
w.writeBoolean(true);
w.writeLong(cfg.getClientFailureDetectionTimeout());
w.writeBoolean(true);
w.writeLong(cfg.getLongQueryWarningTimeout());
w.writeBoolean(true);
w.writeBoolean(cfg.isActiveOnStart());
w.writeObject(cfg.getConsistentId());
// Thread pools.
w.writeBoolean(true);
w.writeInt(cfg.getPublicThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getStripedPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getServiceThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getSystemThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getAsyncCallbackPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getManagementThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getDataStreamerThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getUtilityCacheThreadPoolSize());
w.writeBoolean(true);
w.writeInt(cfg.getQueryThreadPoolSize());
CacheConfiguration[] cacheCfg = cfg.getCacheConfiguration();
if (cacheCfg != null) {
w.writeInt(cacheCfg.length);
for (CacheConfiguration ccfg : cacheCfg) writeCacheConfiguration(w, ccfg);
} else
w.writeInt(0);
writeDiscoveryConfiguration(w, cfg.getDiscoverySpi());
CommunicationSpi comm = cfg.getCommunicationSpi();
if (comm instanceof TcpCommunicationSpi) {
w.writeBoolean(true);
TcpCommunicationSpi tcp = (TcpCommunicationSpi) comm;
w.writeInt(tcp.getAckSendThreshold());
w.writeLong(tcp.getConnectTimeout());
w.writeBoolean(tcp.isDirectBuffer());
w.writeBoolean(tcp.isDirectSendBuffer());
w.writeLong(tcp.getIdleConnectionTimeout());
w.writeString(tcp.getLocalAddress());
w.writeInt(tcp.getLocalPort());
w.writeInt(tcp.getLocalPortRange());
w.writeLong(tcp.getMaxConnectTimeout());
w.writeInt(tcp.getMessageQueueLimit());
w.writeInt(tcp.getReconnectCount());
w.writeInt(tcp.getSelectorsCount());
w.writeInt(tcp.getSlowClientQueueLimit());
w.writeInt(tcp.getSocketReceiveBuffer());
w.writeInt(tcp.getSocketSendBuffer());
w.writeBoolean(tcp.isTcpNoDelay());
w.writeInt(tcp.getUnacknowledgedMessagesBufferSize());
} else
w.writeBoolean(false);
BinaryConfiguration bc = cfg.getBinaryConfiguration();
if (bc != null) {
// binary config exists
w.writeBoolean(true);
// compact footer is set
w.writeBoolean(true);
w.writeBoolean(bc.isCompactFooter());
w.writeBoolean(bc.getNameMapper() instanceof BinaryBasicNameMapper && ((BinaryBasicNameMapper) (bc.getNameMapper())).isSimpleName());
} else
w.writeBoolean(false);
Map<String, ?> attrs = cfg.getUserAttributes();
if (attrs != null) {
w.writeInt(attrs.size());
for (Map.Entry<String, ?> e : attrs.entrySet()) {
w.writeString(e.getKey());
w.writeObject(e.getValue());
}
} else
w.writeInt(0);
AtomicConfiguration atomic = cfg.getAtomicConfiguration();
if (atomic != null) {
w.writeBoolean(true);
w.writeInt(atomic.getAtomicSequenceReserveSize());
w.writeInt(atomic.getBackups());
writeEnumInt(w, atomic.getCacheMode(), AtomicConfiguration.DFLT_CACHE_MODE);
} else
w.writeBoolean(false);
TransactionConfiguration tx = cfg.getTransactionConfiguration();
if (tx != null) {
w.writeBoolean(true);
w.writeInt(tx.getPessimisticTxLogSize());
writeEnumInt(w, tx.getDefaultTxConcurrency(), TransactionConfiguration.DFLT_TX_CONCURRENCY);
writeEnumInt(w, tx.getDefaultTxIsolation(), TransactionConfiguration.DFLT_TX_ISOLATION);
w.writeLong(tx.getDefaultTxTimeout());
w.writeInt(tx.getPessimisticTxLogLinger());
} else
w.writeBoolean(false);
EventStorageSpi evtStorageSpi = cfg.getEventStorageSpi();
if (evtStorageSpi == null)
w.writeByte((byte) 0);
else if (evtStorageSpi instanceof NoopEventStorageSpi)
w.writeByte((byte) 1);
else if (evtStorageSpi instanceof MemoryEventStorageSpi) {
w.writeByte((byte) 2);
w.writeLong(((MemoryEventStorageSpi) evtStorageSpi).getExpireCount());
w.writeLong(((MemoryEventStorageSpi) evtStorageSpi).getExpireAgeMs());
}
writeMemoryConfiguration(w, cfg.getMemoryConfiguration());
writeSqlConnectorConfiguration(w, cfg.getSqlConnectorConfiguration());
writeClientConnectorConfiguration(w, cfg.getClientConnectorConfiguration());
w.writeBoolean(cfg.getClientConnectorConfiguration() != null);
writePersistentStoreConfiguration(w, cfg.getPersistentStoreConfiguration());
writeDataStorageConfiguration(w, cfg.getDataStorageConfiguration());
writeSslContextFactory(w, cfg.getSslContextFactory());
w.writeString(cfg.getIgniteHome());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getInit());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax());
}
use of org.apache.ignite.configuration.TransactionConfiguration in project ignite by apache.
the class IgniteTxConfigCacheSelfTest method getConfiguration.
/**
* {@inheritDoc}
*/
@Override
protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
((TcpDiscoverySpi) cfg.getDiscoverySpi()).setIpFinder(IP_FINDER);
TcpCommunicationSpi commSpi = new TestCommunicationSpi();
cfg.setCommunicationSpi(commSpi);
CacheConfiguration ccfg = new CacheConfiguration(CACHE_NAME);
ccfg.setAtomicityMode(atomicityMode());
ccfg.setBackups(1);
cfg.setCacheConfiguration(ccfg);
final TransactionConfiguration txCfg = new TransactionConfiguration();
txCfg.setDefaultTxTimeout(TX_TIMEOUT);
cfg.setTransactionConfiguration(txCfg);
return cfg;
}
use of org.apache.ignite.configuration.TransactionConfiguration in project ignite by apache.
the class GridCachePartitionedHitsAndMissesSelfTest method getConfiguration.
/**
* {@inheritDoc}
*/
@Override
protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
// DiscoverySpi.
TcpDiscoverySpi disco = new TcpDiscoverySpi();
disco.setIpFinder(IP_FINDER);
cfg.setDiscoverySpi(disco);
// Cache.
cfg.setCacheConfiguration(cacheConfiguration());
TransactionConfiguration tCfg = new TransactionConfiguration();
tCfg.setDefaultTxConcurrency(PESSIMISTIC);
tCfg.setDefaultTxIsolation(REPEATABLE_READ);
cfg.setTransactionConfiguration(tCfg);
return cfg;
}
Aggregations