You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ag...@apache.org on 2017/04/12 07:34:06 UTC
[35/57] [abbrv] ignite git commit: Merge branch 'master' into
ignite-3477-master
Merge branch 'master' into ignite-3477-master
# Conflicts:
# modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
# modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
# modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
# modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
# modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
# modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
# modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
# modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/2210635a
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/2210635a
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/2210635a
Branch: refs/heads/ignite-3477-debug
Commit: 2210635aea0a39da7b3c9f699cbc268ef6eeece7
Parents: a68045f edfa353
Author: Pavel Tupitsyn <pt...@apache.org>
Authored: Tue Apr 11 12:57:38 2017 +0300
Committer: Pavel Tupitsyn <pt...@apache.org>
Committed: Tue Apr 11 12:57:38 2017 +0300
----------------------------------------------------------------------
DEVNOTES.txt | 3 -
assembly/dependencies-fabric-lgpl.xml | 3 -
assembly/dependencies-fabric.xml | 3 -
assembly/dependencies-schema-import.xml | 57 -
assembly/release-base.xml | 2 -
assembly/release-fabric-base.xml | 9 -
assembly/release-schema-import.xml | 50 -
bin/ignite-schema-import.bat | 110 -
bin/ignite-schema-import.sh | 87 -
examples/README-LGPL.txt | 4 +-
examples/README.txt | 2 -
examples/pom-standalone-lgpl.xml | 1 -
examples/pom-standalone.xml | 1 -
examples/pom.xml | 1 -
examples/schema-import/README.txt | 38 -
examples/schema-import/bin/db-init.sql | 28 -
examples/schema-import/bin/h2-server.bat | 80 -
examples/schema-import/bin/h2-server.sh | 66 -
.../schema-import/bin/schema-import.properties | 28 -
examples/schema-import/pom-standalone.xml | 90 -
examples/schema-import/pom.xml | 101 -
.../org/apache/ignite/schema/CacheConfig.java | 36 -
.../java/org/apache/ignite/schema/Demo.java | 134 --
.../java/org/apache/ignite/schema/DemoNode.java | 38 -
.../ignite/schema/H2DataSourceFactory.java | 35 -
.../java/org/apache/ignite/schema/Person.java | 44 -
.../org/apache/ignite/schema/PersonKey.java | 37 -
.../JettyRestProcessorAbstractSelfTest.java | 3 +-
.../org/apache/ignite/IgniteFileSystem.java | 26 +-
.../configuration/FileSystemConfiguration.java | 6 +-
.../configuration/IgniteConfiguration.java | 4 +-
.../configuration/NearCacheConfiguration.java | 56 +-
.../ignite/internal/IgniteEventsImpl.java | 8 +-
.../org/apache/ignite/internal/IgnitionEx.java | 4 +-
.../binary/builder/BinaryObjectBuilderImpl.java | 36 +-
.../eventstorage/GridEventStorageManager.java | 12 +-
.../processors/cache/GridCacheAtomicFuture.java | 2 +-
.../processors/cache/GridCacheMvccManager.java | 84 +-
.../cache/GridDeferredAckMessageSender.java | 11 +-
.../GridDhtAtomicAbstractUpdateFuture.java | 4 +-
.../GridNearAtomicAbstractUpdateFuture.java | 2 +-
.../GridNearAtomicSingleUpdateFuture.java | 21 +-
.../dht/atomic/GridNearAtomicUpdateFuture.java | 23 +-
.../cache/transactions/IgniteTxManager.java | 2 +-
.../internal/processors/igfs/IgfsAsyncImpl.java | 8 +-
.../internal/processors/igfs/IgfsImpl.java | 20 +-
.../utils/PlatformConfigurationUtils.java | 28 +
.../org/apache/ignite/internal/util/F0.java | 196 +-
.../ignite/internal/util/lang/GridFunc.java | 620 +----
.../visor/igfs/VisorIgfsFormatTask.java | 2 +-
.../visor/node/VisorIgfsConfiguration.java | 2 +-
.../deployment/local/LocalDeploymentSpi.java | 5 +-
.../spi/eventstorage/NoopEventStorageSpi.java | 53 +
.../test/config/store/jdbc/ignite-jdbc-type.xml | 2 +-
.../cache/store/jdbc/model/Organization.java | 2 -
.../cache/store/jdbc/model/OrganizationKey.java | 2 -
.../ignite/cache/store/jdbc/model/Person.java | 2 -
.../store/jdbc/model/PersonComplexKey.java | 4 +-
.../cache/store/jdbc/model/PersonKey.java | 2 -
.../ignite/igfs/IgfsEventsAbstractSelfTest.java | 2 +-
.../igfs/IgfsFragmentizerAbstractSelfTest.java | 2 +-
.../ignite/igfs/IgfsFragmentizerSelfTest.java | 2 +-
.../GridEventStorageDefaultExceptionTest.java | 94 +
...faultIgfsSecondaryFileSystemTestAdapter.java | 2 +-
.../igfs/IgfsAbstractBaseSelfTest.java | 2 +-
.../processors/igfs/IgfsAbstractSelfTest.java | 4 +-
...sCachePerBlockLruEvictionPolicySelfTest.java | 2 +-
.../igfs/IgfsMetaManagerSelfTest.java | 2 +-
.../processors/igfs/IgfsMetricsSelfTest.java | 2 +-
.../internal/processors/igfs/IgfsMock.java | 4 +-
.../processors/igfs/IgfsProcessorSelfTest.java | 8 +-
.../processors/igfs/IgfsStreamsSelfTest.java | 2 +-
.../processors/igfs/IgfsTaskSelfTest.java | 2 +-
.../IgfsAbstractRecordResolverSelfTest.java | 2 +-
.../testframework/junits/GridAbstractTest.java | 56 +-
.../testsuites/IgniteComputeGridTestSuite.java | 2 +
.../impl/HadoopTaskExecutionSelfTest.java | 2 +-
...opClientProtocolMultipleServersSelfTest.java | 2 +-
.../client/HadoopClientProtocolSelfTest.java | 2 +-
.../hadoop/impl/igfs/IgfsEventsTestSuite.java | 2 +-
modules/log4j2/pom.xml | 4 +-
.../ignite/logger/log4j2/Log4J2Logger.java | 23 +-
.../Apache.Ignite.Core.Tests/EventsTest.cs | 63 +-
.../IgniteConfigurationSerializerTest.cs | 13 +-
.../IgniteConfigurationTest.cs | 15 +-
.../Apache.Ignite.Core.csproj | 4 +
.../Events/IEventStorageSpi.cs | 33 +
.../Events/MemoryEventStorageSpi.cs | 100 +
.../Events/NoopEventStorageSpi.cs | 27 +
.../Apache.Ignite.Core/IgniteConfiguration.cs | 48 +-
.../IgniteConfigurationSection.xsd | 22 +
.../Plugin/IPluginConfiguration.cs | 4 +-
modules/schema-import-db/README.txt | 4 -
modules/schema-import-db/pom.xml | 55 -
.../apache/ignite/schema/parser/DbColumn.java | 88 -
.../ignite/schema/parser/DbMetadataReader.java | 147 --
.../apache/ignite/schema/parser/DbTable.java | 82 -
.../parser/dialect/DB2MetadataDialect.java | 33 -
.../parser/dialect/DatabaseMetadataDialect.java | 102 -
.../parser/dialect/JdbcMetadataDialect.java | 199 --
.../parser/dialect/MySQLMetadataDialect.java | 82 -
.../parser/dialect/OracleMetadataDialect.java | 360 ---
modules/schema-import/README.txt | 216 --
modules/schema-import/pom.xml | 119 -
.../main/java/media/data_connection_48x48.png | Bin 4443 -> 0 bytes
.../src/main/java/media/error_48x48.png | Bin 4349 -> 0 bytes
.../src/main/java/media/ignite_128x128.png | Bin 4917 -> 0 bytes
.../src/main/java/media/ignite_16x16.png | Bin 608 -> 0 bytes
.../src/main/java/media/ignite_24x24.png | Bin 930 -> 0 bytes
.../src/main/java/media/ignite_32x32.png | Bin 1203 -> 0 bytes
.../src/main/java/media/ignite_48x48.png | Bin 1868 -> 0 bytes
.../src/main/java/media/ignite_64x64.png | Bin 2453 -> 0 bytes
.../src/main/java/media/information_48x48.png | Bin 4102 -> 0 bytes
.../src/main/java/media/question_48x48.png | Bin 3857 -> 0 bytes
.../src/main/java/media/sign_warning_48x48.png | Bin 2988 -> 0 bytes
.../schema-import/src/main/java/media/style.css | 134 --
.../src/main/java/media/text_tree_48x48.png | Bin 2567 -> 0 bytes
.../ignite/schema/generator/CodeGenerator.java | 831 -------
.../ignite/schema/generator/GeneratorUtils.java | 70 -
.../ignite/schema/generator/XmlGenerator.java | 446 ----
.../ignite/schema/model/PojoDescriptor.java | 497 ----
.../apache/ignite/schema/model/PojoField.java | 461 ----
.../ignite/schema/model/SchemaDescriptor.java | 62 -
.../schema/parser/DatabaseMetadataParser.java | 115 -
.../ignite/schema/ui/ConfirmCallable.java | 83 -
.../org/apache/ignite/schema/ui/Controls.java | 697 ------
.../org/apache/ignite/schema/ui/GridPaneEx.java | 180 --
.../org/apache/ignite/schema/ui/MessageBox.java | 274 ---
.../apache/ignite/schema/ui/ModalDialog.java | 50 -
.../ignite/schema/ui/SchemaImportApp.java | 2115 ------------------
.../ignite/schema/ui/TextColumnValidator.java | 32 -
.../schema/test/AbstractSchemaImportTest.java | 181 --
.../test/generator/CodeGeneratorTest.java | 81 -
.../schema/test/generator/XmlGeneratorTest.java | 42 -
.../ignite/schema/test/model/CacheConfig.txt | 409 ----
.../apache/ignite/schema/test/model/Objects.txt | 531 -----
.../ignite/schema/test/model/ObjectsKey.txt | 96 -
.../ignite/schema/test/model/Primitives.txt | 535 -----
.../ignite/schema/test/model/PrimitivesKey.txt | 96 -
.../org/apache/ignite/schema/test/model/Tst.txt | 535 -----
.../apache/ignite/schema/test/model/TstKey.txt | 96 -
.../schema/test/model/ignite-type-metadata.xml | 666 ------
.../test/parser/DbMetadataParserTest.java | 134 --
.../testsuites/IgniteSchemaImportTestSuite.java | 42 -
.../ignite/internal/GridFactorySelfTest.java | 3 +
modules/web-console/web-agent/pom.xml | 12 -
.../ignite/console/agent/db/DbColumn.java | 88 +
.../console/agent/db/DbMetadataReader.java | 142 ++
.../apache/ignite/console/agent/db/DbTable.java | 82 +
.../agent/db/dialect/DB2MetadataDialect.java | 33 +
.../db/dialect/DatabaseMetadataDialect.java | 102 +
.../agent/db/dialect/JdbcMetadataDialect.java | 199 ++
.../agent/db/dialect/MySQLMetadataDialect.java | 82 +
.../agent/db/dialect/OracleMetadataDialect.java | 359 +++
.../agent/handlers/DatabaseListener.java | 20 +-
.../dml/IgniteSqlDeleteFilteredBenchmark.java | 5 +-
.../dml/IgniteSqlUpdateFilteredBenchmark.java | 5 +-
pom.xml | 121 -
158 files changed, 1879 insertions(+), 13246 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/assembly/dependencies-fabric.xml
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/clients/src/test/java/org/apache/ignite/internal/processors/rest/JettyRestProcessorAbstractSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/configuration/IgniteConfiguration.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/configuration/NearCacheConfiguration.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/IgnitionEx.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/managers/eventstorage/GridEventStorageManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicAbstractUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicSingleUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridNearAtomicUpdateFuture.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTxManager.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
----------------------------------------------------------------------
diff --cc modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
index 46a9899,f1ef625..9c67b56
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/platform/utils/PlatformConfigurationUtils.java
@@@ -79,6 -67,11 +79,9 @@@ import org.apache.ignite.spi.discovery.
import org.apache.ignite.spi.discovery.tcp.ipfinder.TcpDiscoveryIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.multicast.TcpDiscoveryMulticastIpFinder;
import org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
+ import org.apache.ignite.spi.eventstorage.EventStorageSpi;
+ import org.apache.ignite.spi.eventstorage.NoopEventStorageSpi;
+ import org.apache.ignite.spi.eventstorage.memory.MemoryEventStorageSpi;
-import org.apache.ignite.spi.swapspace.SwapSpaceSpi;
-import org.apache.ignite.spi.swapspace.file.FileSwapSpaceSpi;
import org.apache.ignite.transactions.TransactionConcurrency;
import org.apache.ignite.transactions.TransactionIsolation;
@@@ -598,6 -654,39 +601,18 @@@ public class PlatformConfigurationUtil
cfg.setTransactionConfiguration(tx);
}
- byte swapType = in.readByte();
-
- switch (swapType) {
- case SWAP_TYP_FILE: {
- FileSwapSpaceSpi swap = new FileSwapSpaceSpi();
-
- swap.setBaseDirectory(in.readString());
- swap.setMaximumSparsity(in.readFloat());
- swap.setMaxWriteQueueSize(in.readInt());
- swap.setReadStripesNumber(in.readInt());
- swap.setWriteBufferSize(in.readInt());
-
- cfg.setSwapSpaceSpi(swap);
-
- break;
- }
-
- default:
- assert swapType == SWAP_TYP_NONE;
- }
-
+ switch (in.readByte()) {
+ case 1:
+ cfg.setEventStorageSpi(new NoopEventStorageSpi());
+ break;
+
+ case 2:
+ cfg.setEventStorageSpi(new MemoryEventStorageSpi()
+ .setExpireCount(in.readLong())
+ .setExpireAgeMs(in.readLong()));
+ break;
+ }
+
readPluginConfiguration(cfg, in);
}
@@@ -1001,6 -1113,36 +1016,19 @@@
else
w.writeBoolean(false);
- SwapSpaceSpi swap = cfg.getSwapSpaceSpi();
-
- if (swap instanceof FileSwapSpaceSpi) {
- w.writeByte(SWAP_TYP_FILE);
-
- FileSwapSpaceSpi fileSwap = (FileSwapSpaceSpi)swap;
-
- w.writeString(fileSwap.getBaseDirectory());
- w.writeFloat(fileSwap.getMaximumSparsity());
- w.writeInt(fileSwap.getMaxWriteQueueSize());
- w.writeInt(fileSwap.getReadStripesNumber());
- w.writeInt(fileSwap.getWriteBufferSize());
- }
- else {
- w.writeByte(SWAP_TYP_NONE);
- }
-
+ EventStorageSpi eventStorageSpi = cfg.getEventStorageSpi();
+
+ if (eventStorageSpi == null) {
+ w.writeByte((byte) 0);
+ } else if (eventStorageSpi instanceof NoopEventStorageSpi) {
+ w.writeByte((byte) 1);
+ } else if (eventStorageSpi instanceof MemoryEventStorageSpi) {
+ w.writeByte((byte) 2);
+
+ w.writeLong(((MemoryEventStorageSpi)eventStorageSpi).getExpireCount());
+ w.writeLong(((MemoryEventStorageSpi)eventStorageSpi).getExpireAgeMs());
+ }
+
w.writeString(cfg.getIgniteHome());
w.writeLong(ManagementFactory.getMemoryMXBean().getHeapMemoryUsage().getInit());
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/main/java/org/apache/ignite/internal/visor/node/VisorIgfsConfiguration.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractBaseSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsAbstractSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsCachePerBlockLruEvictionPolicySelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/test/java/org/apache/ignite/internal/processors/igfs/IgfsProcessorSelfTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/test/java/org/apache/ignite/testframework/junits/GridAbstractTest.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteComputeGridTestSuite.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/EventsTest.cs
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
----------------------------------------------------------------------
diff --cc modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
index 58fda7c,1d39e69..89e0d3d
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationSerializerTest.cs
@@@ -769,7 -794,20 +775,12 @@@ namespace Apache.Ignite.Core.Test
SpringConfigUrl = "test",
Logger = new IgniteNLogLogger(),
FailureDetectionTimeout = TimeSpan.FromMinutes(2),
- PluginConfigurations = new[] {new TestIgnitePluginConfiguration() }
- SwapSpaceSpi = new FileSwapSpaceSpi
- {
- MaximumSparsity = 0.1f,
- MaximumWriteQueueSize = 55,
- WriteBufferSize = 66,
- ReadStripesNumber = 77,
- BaseDirectory = "test"
- },
+ PluginConfigurations = new[] {new TestIgnitePluginConfiguration() },
+ EventStorageSpi = new MemoryEventStorageSpi
+ {
+ ExpirationTimeout = TimeSpan.FromMilliseconds(12345),
+ MaxEventCount = 257
+ }
};
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
----------------------------------------------------------------------
diff --cc modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
index 8358f69,f9f8a61..f642976
--- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/IgniteConfigurationTest.cs
@@@ -80,6 -82,8 +80,7 @@@ namespace Apache.Ignite.Core.Test
CheckDefaultValueAttributes(new LruEvictionPolicy());
CheckDefaultValueAttributes(new AtomicConfiguration());
CheckDefaultValueAttributes(new TransactionConfiguration());
- CheckDefaultValueAttributes(new FileSwapSpaceSpi());
+ CheckDefaultValueAttributes(new MemoryEventStorageSpi());
}
/// <summary>
@@@ -182,8 -194,18 +183,15 @@@
Assert.AreEqual("affKey", typ.AffinityKeyFieldName);
Assert.AreEqual(false, typ.KeepDeserialized);
- CollectionAssert.AreEqual(new[] {"fld1", "fld2"},
- ((BinaryFieldEqualityComparer)typ.EqualityComparer).FieldNames);
-
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);
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
----------------------------------------------------------------------
diff --cc modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
index 1a758ce,6553f1a..b52f968
--- a/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/Apache.Ignite.Core.csproj
@@@ -91,7 -91,12 +91,11 @@@
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
- <Compile Include="Binary\BinaryArrayEqualityComparer.cs" />
<Compile Include="Common\ExceptionFactory.cs" />
+ <Compile Include="Events\IEventStorageSpi.cs" />
+ <Compile Include="Events\MemoryEventStorageSpi.cs" />
+ <Compile Include="Events\NoopEventStorageSpi.cs" />
+ <Compile Include="Impl\Binary\BinaryFieldEqualityComparer.cs" />
<Compile Include="Binary\BinaryReflectiveSerializer.cs" />
<Compile Include="Common\JavaException.cs" />
<Compile Include="DataStructures\Configuration\Package-Info.cs" />
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
----------------------------------------------------------------------
diff --cc modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
index a3f5daf,20e2be8..c40fc6e
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfiguration.cs
@@@ -319,7 -346,36 +320,33 @@@ namespace Apache.Ignite.Cor
else
writer.WriteBoolean(false);
- // Plugins
- // Swap space
- SwapSpaceSerializer.Write(writer, SwapSpaceSpi);
-
+ // Event storage
+ if (EventStorageSpi == null)
+ {
+ writer.WriteByte(0);
+ }
+ else if (EventStorageSpi is NoopEventStorageSpi)
+ {
+ writer.WriteByte(1);
+ }
+ else
+ {
+ var memEventStorage = EventStorageSpi as MemoryEventStorageSpi;
+
+ if (memEventStorage == null)
+ {
+ throw new IgniteException(string.Format(
+ "Unsupported IgniteConfiguration.EventStorageSpi: '{0}'. " +
+ "Supported implementations: '{1}', '{2}'.",
+ EventStorageSpi.GetType(), typeof(NoopEventStorageSpi), typeof(MemoryEventStorageSpi)));
+ }
+
+ writer.WriteByte(2);
+
+ memEventStorage.Write(writer);
+ }
+
+ // Plugins (should be last)
if (PluginConfigurations != null)
{
var pos = writer.Stream.Position;
@@@ -433,6 -508,20 +460,17 @@@
PessimisticTransactionLogLinger = TimeSpan.FromMilliseconds(r.ReadInt())
};
}
+
- // Swap
- SwapSpaceSpi = SwapSpaceSerializer.Read(r);
-
+ // Event storage
+ switch (r.ReadByte())
+ {
+ case 1: EventStorageSpi = new NoopEventStorageSpi();
+ break;
+
+ case 2:
+ EventStorageSpi = MemoryEventStorageSpi.Read(r);
+ break;
+ }
}
/// <summary>
@@@ -867,5 -961,13 +905,13 @@@
/// </summary>
[SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public ICollection<IPluginConfiguration> PluginConfigurations { get; set; }
+
+ /// <summary>
+ /// Gets or sets the event storage interface.
+ /// <para />
- /// Only predefined implementations are supported:
++ /// Only predefined implementations are supported:
+ /// <see cref="NoopEventStorageSpi"/>, <see cref="MemoryEventStorageSpi"/>.
+ /// </summary>
+ public IEventStorageSpi EventStorageSpi { get; set; }
}
}
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
----------------------------------------------------------------------
diff --cc modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
index f041a8f,3691aa0..569925f
--- a/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
+++ b/modules/platforms/dotnet/Apache.Ignite.Core/IgniteConfigurationSection.xsd
@@@ -1139,6 -1171,65 +1139,28 @@@
</xs:attribute>
</xs:complexType>
</xs:element>
- <xs:element name="swapSpaceSpi" minOccurs="0">
- <xs:annotation>
- <xs:documentation>Swap space SPI.</xs:documentation>
- </xs:annotation>
- <xs:complexType>
- <xs:attribute name="type" type="xs:string" use="required">
- <xs:annotation>
- <xs:documentation>Assembly-qualified type name.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="baseDirectory" type="xs:string">
- <xs:annotation>
- <xs:documentation>Base directory.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="maximumSparsity" type="xs:decimal">
- <xs:annotation>
- <xs:documentation>Maximum sparsity. This property defines maximum acceptable wasted file space to whole file size ratio. When this ratio becomes higher than specified number compacting thread starts working.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="maximumWriteQueueSize" type="xs:int">
- <xs:annotation>
- <xs:documentation>Maximum size of the write queue in bytes. If there are more values are waiting to be written to disk then specified size, SPI will block on write operation.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="readStripesNumber" type="xs:int">
- <xs:annotation>
- <xs:documentation>Read stripes number. Defines number of file channels to be used concurrently. Defaults to Environment.ProcessorCount.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- <xs:attribute name="writeBufferSize" type="xs:int">
- <xs:annotation>
- <xs:documentation>Size of the write buffer, in bytes. Write to disk occurs only when this buffer is full.</xs:documentation>
- </xs:annotation>
- </xs:attribute>
- </xs:complexType>
- </xs:element>
+ <xs:element name="eventStorageSpi" minOccurs="0">
+ <xs:annotation>
+ <xs:documentation>Event storage space SPI.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="type" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>Assembly-qualified type name.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="expirationTimeout" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>Expiration timeout for stored events. Negative for unlimited.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="maxEventCount" type="xs:long">
+ <xs:annotation>
+ <xs:documentation>Maximum event count to store.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
<xs:element name="pluginConfigurations" minOccurs="0">
<xs:annotation>
<xs:documentation>Plugin configurations.</xs:documentation>
http://git-wip-us.apache.org/repos/asf/ignite/blob/2210635a/pom.xml
----------------------------------------------------------------------