public void TestAllConfigurationProperties() { var cfg = new IgniteConfiguration(GetCustomConfig()); using (var ignite = Ignition.Start(cfg)) { var resCfg = ignite.GetConfiguration(); var disco = (TcpDiscoverySpi)cfg.DiscoverySpi; var resDisco = (TcpDiscoverySpi)resCfg.DiscoverySpi; Assert.AreEqual(disco.NetworkTimeout, resDisco.NetworkTimeout); Assert.AreEqual(disco.AckTimeout, resDisco.AckTimeout); Assert.AreEqual(disco.MaxAckTimeout, resDisco.MaxAckTimeout); Assert.AreEqual(disco.SocketTimeout, resDisco.SocketTimeout); Assert.AreEqual(disco.JoinTimeout, resDisco.JoinTimeout); Assert.AreEqual(disco.LocalAddress, resDisco.LocalAddress); Assert.AreEqual(disco.LocalPort, resDisco.LocalPort); Assert.AreEqual(disco.LocalPortRange, resDisco.LocalPortRange); Assert.AreEqual(disco.ReconnectCount, resDisco.ReconnectCount); Assert.AreEqual(disco.StatisticsPrintFrequency, resDisco.StatisticsPrintFrequency); Assert.AreEqual(disco.ThreadPriority, resDisco.ThreadPriority); Assert.AreEqual(disco.TopologyHistorySize, resDisco.TopologyHistorySize); var ip = (TcpDiscoveryStaticIpFinder)disco.IpFinder; var resIp = (TcpDiscoveryStaticIpFinder)resDisco.IpFinder; // There can be extra IPv6 endpoints Assert.AreEqual(ip.Endpoints, resIp.Endpoints.Take(2).Select(x => x.Trim('/')).ToArray()); Assert.AreEqual(cfg.IgniteInstanceName, resCfg.IgniteInstanceName); Assert.AreEqual(cfg.IgniteHome, resCfg.IgniteHome); Assert.AreEqual(cfg.IncludedEventTypes, resCfg.IncludedEventTypes); Assert.AreEqual(cfg.MetricsExpireTime, resCfg.MetricsExpireTime); Assert.AreEqual(cfg.MetricsHistorySize, resCfg.MetricsHistorySize); Assert.AreEqual(cfg.MetricsLogFrequency, resCfg.MetricsLogFrequency); Assert.AreEqual(cfg.MetricsUpdateFrequency, resCfg.MetricsUpdateFrequency); Assert.AreEqual(cfg.NetworkSendRetryCount, resCfg.NetworkSendRetryCount); Assert.AreEqual(cfg.NetworkTimeout, resCfg.NetworkTimeout); Assert.AreEqual(cfg.NetworkSendRetryDelay, resCfg.NetworkSendRetryDelay); Assert.AreEqual(cfg.WorkDirectory.Trim(Path.DirectorySeparatorChar), resCfg.WorkDirectory.Trim(Path.DirectorySeparatorChar)); Assert.AreEqual(cfg.JvmClasspath, resCfg.JvmClasspath); Assert.AreEqual(cfg.JvmOptions, resCfg.JvmOptions); Assert.AreEqual(cfg.JvmDllPath, resCfg.JvmDllPath); Assert.AreEqual(cfg.Localhost, resCfg.Localhost); Assert.AreEqual(cfg.IsDaemon, resCfg.IsDaemon); Assert.AreEqual(IgniteConfiguration.DefaultIsLateAffinityAssignment, resCfg.IsLateAffinityAssignment); Assert.AreEqual(cfg.UserAttributes, resCfg.UserAttributes); var atm = cfg.AtomicConfiguration; var resAtm = resCfg.AtomicConfiguration; Assert.AreEqual(atm.AtomicSequenceReserveSize, resAtm.AtomicSequenceReserveSize); Assert.AreEqual(atm.Backups, resAtm.Backups); Assert.AreEqual(atm.CacheMode, resAtm.CacheMode); var tx = cfg.TransactionConfiguration; var resTx = resCfg.TransactionConfiguration; Assert.AreEqual(tx.DefaultTimeout, resTx.DefaultTimeout); Assert.AreEqual(tx.DefaultTransactionConcurrency, resTx.DefaultTransactionConcurrency); Assert.AreEqual(tx.DefaultTransactionIsolation, resTx.DefaultTransactionIsolation); Assert.AreEqual(tx.PessimisticTransactionLogLinger, resTx.PessimisticTransactionLogLinger); Assert.AreEqual(tx.PessimisticTransactionLogSize, resTx.PessimisticTransactionLogSize); var com = (TcpCommunicationSpi)cfg.CommunicationSpi; var resCom = (TcpCommunicationSpi)resCfg.CommunicationSpi; Assert.AreEqual(com.AckSendThreshold, resCom.AckSendThreshold); Assert.AreEqual(com.ConnectTimeout, resCom.ConnectTimeout); Assert.AreEqual(com.DirectBuffer, resCom.DirectBuffer); Assert.AreEqual(com.DirectSendBuffer, resCom.DirectSendBuffer); Assert.AreEqual(com.IdleConnectionTimeout, resCom.IdleConnectionTimeout); Assert.AreEqual(com.LocalAddress, resCom.LocalAddress); Assert.AreEqual(com.LocalPort, resCom.LocalPort); Assert.AreEqual(com.LocalPortRange, resCom.LocalPortRange); Assert.AreEqual(com.MaxConnectTimeout, resCom.MaxConnectTimeout); Assert.AreEqual(com.MessageQueueLimit, resCom.MessageQueueLimit); Assert.AreEqual(com.ReconnectCount, resCom.ReconnectCount); Assert.AreEqual(com.SelectorsCount, resCom.SelectorsCount); Assert.AreEqual(com.SlowClientQueueLimit, resCom.SlowClientQueueLimit); Assert.AreEqual(com.SocketReceiveBufferSize, resCom.SocketReceiveBufferSize); Assert.AreEqual(com.SocketSendBufferSize, resCom.SocketSendBufferSize); Assert.AreEqual(com.TcpNoDelay, resCom.TcpNoDelay); Assert.AreEqual(com.UnacknowledgedMessagesBufferSize, resCom.UnacknowledgedMessagesBufferSize); Assert.AreEqual(cfg.FailureDetectionTimeout, resCfg.FailureDetectionTimeout); Assert.AreEqual(cfg.ClientFailureDetectionTimeout, resCfg.ClientFailureDetectionTimeout); Assert.AreEqual(cfg.LongQueryWarningTimeout, resCfg.LongQueryWarningTimeout); Assert.AreEqual(cfg.PublicThreadPoolSize, resCfg.PublicThreadPoolSize); Assert.AreEqual(cfg.StripedThreadPoolSize, resCfg.StripedThreadPoolSize); Assert.AreEqual(cfg.ServiceThreadPoolSize, resCfg.ServiceThreadPoolSize); Assert.AreEqual(cfg.SystemThreadPoolSize, resCfg.SystemThreadPoolSize); Assert.AreEqual(cfg.AsyncCallbackThreadPoolSize, resCfg.AsyncCallbackThreadPoolSize); Assert.AreEqual(cfg.ManagementThreadPoolSize, resCfg.ManagementThreadPoolSize); Assert.AreEqual(cfg.DataStreamerThreadPoolSize, resCfg.DataStreamerThreadPoolSize); Assert.AreEqual(cfg.UtilityCacheThreadPoolSize, resCfg.UtilityCacheThreadPoolSize); Assert.AreEqual(cfg.QueryThreadPoolSize, resCfg.QueryThreadPoolSize); Assert.AreEqual(cfg.ConsistentId, resCfg.ConsistentId); var binCfg = cfg.BinaryConfiguration; Assert.IsFalse(binCfg.CompactFooter); var typ = binCfg.TypeConfigurations.Single(); Assert.AreEqual("myType", typ.TypeName); Assert.IsTrue(typ.IsEnum); Assert.AreEqual("affKey", typ.AffinityKeyFieldName); Assert.AreEqual(false, typ.KeepDeserialized); Assert.IsNotNull(resCfg.PluginConfigurations); Assert.AreEqual(cfg.PluginConfigurations, resCfg.PluginConfigurations); var eventCfg = cfg.EventStorageSpi as MemoryEventStorageSpi; var resEventCfg = resCfg.EventStorageSpi as MemoryEventStorageSpi; Assert.IsNotNull(eventCfg); Assert.IsNotNull(resEventCfg); Assert.AreEqual(eventCfg.ExpirationTimeout, resEventCfg.ExpirationTimeout); Assert.AreEqual(eventCfg.MaxEventCount, resEventCfg.MaxEventCount); var sql = cfg.SqlConnectorConfiguration; var resSql = resCfg.SqlConnectorConfiguration; Assert.AreEqual(sql.Host, resSql.Host); Assert.AreEqual(sql.Port, resSql.Port); Assert.AreEqual(sql.PortRange, resSql.PortRange); Assert.AreEqual(sql.MaxOpenCursorsPerConnection, resSql.MaxOpenCursorsPerConnection); Assert.AreEqual(sql.SocketReceiveBufferSize, resSql.SocketReceiveBufferSize); Assert.AreEqual(sql.SocketSendBufferSize, resSql.SocketSendBufferSize); Assert.AreEqual(sql.TcpNoDelay, resSql.TcpNoDelay); Assert.AreEqual(sql.ThreadPoolSize, resSql.ThreadPoolSize); AssertExtensions.ReflectionEqual(cfg.DataStorageConfiguration, resCfg.DataStorageConfiguration); } }