use of org.apache.ignite.failure.NoOpFailureHandler in project ignite by apache.
the class PageMemoryImplTest method createPageMemory.
/**
* @param throttlingPlc Throttling Policy.
* @throws Exception If creating mock failed.
*/
private PageMemoryImpl createPageMemory(int maxSize, PageMemoryImpl.ThrottlingPolicy throttlingPlc, IgnitePageStoreManager mgr, PageStoreWriter replaceWriter, @Nullable IgniteInClosure<FullPageId> cpBufChecker) throws Exception {
long[] sizes = new long[5];
for (int i = 0; i < sizes.length; i++) sizes[i] = maxSize * MB / 4;
sizes[4] = maxSize * MB / 4;
DirectMemoryProvider provider = new UnsafeMemoryProvider(log);
IgniteConfiguration igniteCfg = new IgniteConfiguration();
igniteCfg.setDataStorageConfiguration(new DataStorageConfiguration());
igniteCfg.setFailureHandler(new NoOpFailureHandler());
igniteCfg.setEncryptionSpi(new NoopEncryptionSpi());
igniteCfg.setMetricExporterSpi(new NoopMetricExporterSpi());
igniteCfg.setSystemViewExporterSpi(new JmxSystemViewExporterSpi());
igniteCfg.setEventStorageSpi(new NoopEventStorageSpi());
GridTestKernalContext kernalCtx = new GridTestKernalContext(new GridTestLog4jLogger(), igniteCfg);
kernalCtx.add(new IgnitePluginProcessor(kernalCtx, igniteCfg, Collections.<PluginProvider>emptyList()));
kernalCtx.add(new GridInternalSubscriptionProcessor(kernalCtx));
kernalCtx.add(new PerformanceStatisticsProcessor(kernalCtx));
kernalCtx.add(new GridEncryptionManager(kernalCtx));
kernalCtx.add(new GridMetricManager(kernalCtx));
kernalCtx.add(new GridSystemViewManager(kernalCtx));
kernalCtx.add(new GridEventStorageManager(kernalCtx));
FailureProcessor failureProc = new FailureProcessor(kernalCtx);
failureProc.start();
kernalCtx.add(failureProc);
GridCacheSharedContext<Object, Object> sharedCtx = new GridCacheSharedContext<>(kernalCtx, null, null, null, mgr, new NoOpWALManager(), null, new IgniteCacheDatabaseSharedManager(), null, null, null, null, null, null, null, null, null, null, null, null, null);
CheckpointProgressImpl cl0 = Mockito.mock(CheckpointProgressImpl.class);
IgniteOutClosure<CheckpointProgress> noThrottle = Mockito.mock(IgniteOutClosure.class);
Mockito.when(noThrottle.apply()).thenReturn(cl0);
Mockito.when(cl0.currentCheckpointPagesCount()).thenReturn(1_000_000);
Mockito.when(cl0.evictedPagesCounter()).thenReturn(new AtomicInteger(0));
Mockito.when(cl0.syncedPagesCounter()).thenReturn(new AtomicInteger(1_000_000));
Mockito.when(cl0.writtenPagesCounter()).thenReturn(new AtomicInteger(1_000_000));
PageMemoryImpl mem = cpBufChecker == null ? new PageMemoryImpl(provider, sizes, sharedCtx, sharedCtx.pageStore(), PAGE_SIZE, replaceWriter, new GridInClosure3X<Long, FullPageId, PageMemoryEx>() {
@Override
public void applyx(Long page, FullPageId fullId, PageMemoryEx pageMem) {
}
}, () -> true, new DataRegionMetricsImpl(igniteCfg.getDataStorageConfiguration().getDefaultDataRegionConfiguration(), kernalCtx), throttlingPlc, noThrottle) : new PageMemoryImpl(provider, sizes, sharedCtx, sharedCtx.pageStore(), PAGE_SIZE, replaceWriter, new GridInClosure3X<Long, FullPageId, PageMemoryEx>() {
@Override
public void applyx(Long page, FullPageId fullId, PageMemoryEx pageMem) {
}
}, () -> true, new DataRegionMetricsImpl(igniteCfg.getDataStorageConfiguration().getDefaultDataRegionConfiguration(), kernalCtx), throttlingPlc, noThrottle) {
@Override
public FullPageId pullPageFromCpBuffer() {
FullPageId pageId = super.pullPageFromCpBuffer();
cpBufChecker.apply(pageId);
return pageId;
}
};
mem.metrics().enableMetrics();
mem.start();
return mem;
}
use of org.apache.ignite.failure.NoOpFailureHandler in project ignite by apache.
the class GridCacheDhtPreloadMultiThreadedSelfTest method getConfiguration.
/**
* {@inheritDoc}
*/
@Override
protected IgniteConfiguration getConfiguration(String igniteInstanceName) throws Exception {
IgniteConfiguration cfg = loadConfiguration("modules/core/src/test/config/spring-multicache.xml");
cfg.setGridLogger(getTestResources().getLogger());
cfg.setIgniteInstanceName(igniteInstanceName);
cfg.setFailureHandler(new NoOpFailureHandler());
for (CacheConfiguration cCfg : cfg.getCacheConfiguration()) {
if (cCfg.getCacheMode() == CacheMode.PARTITIONED) {
cCfg.setAffinity(new RendezvousAffinityFunction(2048, null));
cCfg.setBackups(1);
}
}
return cfg;
}
use of org.apache.ignite.failure.NoOpFailureHandler 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());
if (in.readBoolean())
cfg.setAuthenticationEnabled(in.readBoolean());
if (in.readBoolean())
cfg.setMvccVacuumFrequency(in.readLong());
if (in.readBoolean())
cfg.setMvccVacuumThreadCount(in.readInt());
if (in.readBoolean())
cfg.setSystemWorkerBlockedTimeout(in.readLong());
if (in.readBoolean())
cfg.setSqlQueryHistorySize(in.readInt());
if (in.readBoolean())
cfg.setPeerClassLoadingEnabled(in.readBoolean());
if (in.readBoolean())
cfg.setAsyncContinuationExecutor(getAsyncContinuationExecutor(in.readInt()));
int sqlSchemasCnt = in.readInt();
if (sqlSchemasCnt >= 0) {
String[] sqlSchemas = new String[sqlSchemasCnt];
for (int i = 0; i < sqlSchemasCnt; i++) sqlSchemas[i] = in.readString();
cfg.setSqlSchemas(sqlSchemas);
}
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);
readEncryptionConfiguration(in, cfg);
if (in.readBoolean()) {
TcpCommunicationSpi comm = new TcpCommunicationSpi();
comm.setAckSendThreshold(in.readInt());
comm.setConnectionsPerNode(in.readInt());
comm.setConnectTimeout(in.readLong());
comm.setDirectBuffer(in.readBoolean());
comm.setDirectSendBuffer(in.readBoolean());
comm.setFilterReachableAddresses(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.setSelectorSpins(in.readLong());
comm.setSharedMemoryPort(in.readInt());
comm.setSlowClientQueueLimit(in.readInt());
comm.setSocketReceiveBuffer(in.readInt());
comm.setSocketSendBuffer(in.readInt());
comm.setSocketWriteTimeout(in.readLong());
comm.setTcpNoDelay(in.readBoolean());
comm.setUnacknowledgedMessagesBufferSize(in.readInt());
comm.setUsePairedConnections(in.readBoolean());
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());
tx.setTxTimeoutOnPartitionMapExchange(in.readLong());
tx.setDeadlockTimeout(in.readLong());
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));
if (in.readBoolean()) {
switch(in.readByte()) {
case 0:
cfg.setFailureHandler(new NoOpFailureHandler());
break;
case 1:
cfg.setFailureHandler(new StopNodeFailureHandler());
break;
case 2:
cfg.setFailureHandler(new StopNodeOrHaltFailureHandler(in.readBoolean(), in.readLong()));
break;
}
}
int execCfgCnt = in.readInt();
if (execCfgCnt > 0) {
ExecutorConfiguration[] execCfgs = new ExecutorConfiguration[execCfgCnt];
for (int i = 0; i < execCfgCnt; i++) {
execCfgs[i] = new ExecutorConfiguration().setName(in.readString()).setSize(in.readInt());
}
cfg.setExecutorConfiguration(execCfgs);
}
readPluginConfiguration(cfg, in);
readLocalEventListeners(cfg, in);
}
use of org.apache.ignite.failure.NoOpFailureHandler 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.writeBoolean(true);
w.writeBoolean(cfg.isAuthenticationEnabled());
w.writeBoolean(true);
w.writeLong(cfg.getMvccVacuumFrequency());
w.writeBoolean(true);
w.writeInt(cfg.getMvccVacuumThreadCount());
if (cfg.getSystemWorkerBlockedTimeout() != null) {
w.writeBoolean(true);
w.writeLong(cfg.getSystemWorkerBlockedTimeout());
} else {
w.writeBoolean(false);
}
w.writeBoolean(true);
w.writeInt(cfg.getSqlQueryHistorySize());
w.writeBoolean(true);
w.writeBoolean(cfg.isPeerClassLoadingEnabled());
w.writeBoolean(true);
w.writeInt(getAsyncContinuationExecutorMode(cfg.getAsyncContinuationExecutor()));
if (cfg.getSqlSchemas() == null)
w.writeInt(0);
else {
w.writeInt(cfg.getSqlSchemas().length);
for (String schema : cfg.getSqlSchemas()) w.writeString(schema);
}
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());
writeEncryptionConfiguration(w, cfg.getEncryptionSpi());
CommunicationSpi comm = cfg.getCommunicationSpi();
if (comm instanceof TcpCommunicationSpi) {
w.writeBoolean(true);
TcpCommunicationSpi tcp = (TcpCommunicationSpi) comm;
w.writeInt(tcp.getAckSendThreshold());
w.writeInt(tcp.getConnectionsPerNode());
w.writeLong(tcp.getConnectTimeout());
w.writeBoolean(tcp.isDirectBuffer());
w.writeBoolean(tcp.isDirectSendBuffer());
w.writeBoolean(tcp.isFilterReachableAddresses());
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.writeLong(tcp.getSelectorSpins());
w.writeInt(tcp.getSharedMemoryPort());
w.writeInt(tcp.getSlowClientQueueLimit());
w.writeInt(tcp.getSocketReceiveBuffer());
w.writeInt(tcp.getSocketSendBuffer());
w.writeLong(tcp.getSocketWriteTimeout());
w.writeBoolean(tcp.isTcpNoDelay());
w.writeInt(tcp.getUnacknowledgedMessagesBufferSize());
w.writeBoolean(tcp.isUsePairedConnections());
} 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());
w.writeLong(tx.getTxTimeoutOnPartitionMapExchange());
w.writeLong(tx.getDeadlockTimeout());
} 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());
FailureHandler failureHnd = cfg.getFailureHandler();
if (failureHnd instanceof NoOpFailureHandler) {
w.writeBoolean(true);
w.writeByte((byte) 0);
} else if (failureHnd instanceof StopNodeFailureHandler) {
w.writeBoolean(true);
w.writeByte((byte) 1);
} else if (failureHnd instanceof StopNodeOrHaltFailureHandler) {
w.writeBoolean(true);
w.writeByte((byte) 2);
w.writeBoolean(((StopNodeOrHaltFailureHandler) failureHnd).tryStop());
w.writeLong(((StopNodeOrHaltFailureHandler) failureHnd).timeout());
} else
w.writeBoolean(false);
ExecutorConfiguration[] execCfgs = cfg.getExecutorConfiguration();
if (execCfgs != null) {
w.writeInt(execCfgs.length);
for (ExecutorConfiguration execCfg : execCfgs) {
w.writeString(execCfg.getName());
w.writeInt(execCfg.getSize());
}
} else
w.writeInt(0);
w.writeString(cfg.getIgniteHome());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getInit());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getMax());
}
use of org.apache.ignite.failure.NoOpFailureHandler in project ignite by apache.
the class ConfigVariationsFactory method getConfiguration.
/**
* {@inheritDoc}
*/
@Override
public IgniteConfiguration getConfiguration(String igniteInstanceName, IgniteConfiguration srcCfg) {
IgniteConfiguration cfg = new IgniteConfiguration();
cfg.setFailureHandler(new NoOpFailureHandler());
if (srcCfg != null)
copyDefaultsFromSource(cfg, srcCfg);
if (igniteParams == null)
return cfg;
for (int i = 0; i < igniteCfgVariation.length; i++) {
int var = igniteCfgVariation[i];
ConfigParameter<IgniteConfiguration> cfgC = igniteParams[i][var];
if (cfgC != null)
cfgC.apply(cfg);
}
return cfg;
}
Aggregations