[ignite] branch ignite-14953 deleted (was 136234a)
This is an automated email from the ASF dual-hosted git repository. tledkov pushed a change to branch ignite-14953 in repository https://gitbox.apache.org/repos/asf/ignite.git. was 136234a wip This change permanently discards the following revisions: discard 136234a wip discard 995b108 wip discard ab8d2fe wip
[ignite] branch master updated: IGNITE-14753 Fix builds with maven 3.8.1+
This is an automated email from the ASF dual-hosted git repository. ilyak pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git The following commit(s) were added to refs/heads/master by this push: new 218d09a IGNITE-14753 Fix builds with maven 3.8.1+ 218d09a is described below commit 218d09a5b3f2b92d260d84b05fd394fef786f823 Author: Ilya Korol AuthorDate: Thu Jun 24 12:41:38 2021 +0300 IGNITE-14753 Fix builds with maven 3.8.1+ Update versions (migrate from http repositories): - apache parent - jotm (with appropriate test fixes) Fix broken configuration for jar plugin (due to versions upgrade in apache parent): - Remove 'useDefaultManifestFile' option from ignite parent pom - Add classifiers for artifacts in modules/extdata/uri Remove duplicated dependencies declarations in several modules to reduce maven complains - Fixes #9116. Signed-off-by: Ilya Kasnacheev --- modules/azure/pom.xml | 7 --- modules/extdata/uri/pom.xml| 59 +++--- .../HibernateL2CacheTransactionalSelfTest.java | 3 +- .../HibernateL2CacheTransactionalSelfTest.java | 3 +- .../HibernateL2CacheTransactionalSelfTest.java | 3 +- modules/jta/pom.xml| 6 +++ .../cache/GridJtaTransactionManagerSelfTest.java | 3 +- .../cache/jta/AbstractCacheJtaSelfTest.java| 3 +- modules/kubernetes/pom.xml | 7 --- modules/urideploy/pom.xml | 7 --- parent/pom.xml | 7 +-- 11 files changed, 59 insertions(+), 49 deletions(-) diff --git a/modules/azure/pom.xml b/modules/azure/pom.xml index c3951b3..7caa44b 100644 --- a/modules/azure/pom.xml +++ b/modules/azure/pom.xml @@ -242,13 +242,6 @@ ${azure.netty.version} - - -io.netty -netty-transport-native-kqueue -${azure.netty.version} - - io.netty diff --git a/modules/extdata/uri/pom.xml b/modules/extdata/uri/pom.xml index a4fba1e..fad9cc1 100644 --- a/modules/extdata/uri/pom.xml +++ b/modules/extdata/uri/pom.xml @@ -64,7 +64,27 @@ modules/uri-dependency + + +uri +${uri.fn}.jar + +deployfile +plain +${plain.fn}-${plain.clr}.jar + +deployfile +well-signed + ${well-signed.fn}-${well-signed.clr}.jar + +deployfile +bad-signed +${bad-signed.fn}-${bad-signed.clr}.jar + + + + src/main/java @@ -115,36 +135,37 @@ maven-jar-plugin -jar-file +jar-uri compile jar -deployfile - ${basedir}/target/file +${uri.fn} + ${basedir}/target/deploy **/GridUriDeploymentTestTask8.class **/GridUriDeploymentTestWithNameTask8.class - **/GridUriDeploymentTestTask9.class - **/GridUriDeploymentDependency9.class -**/test9.properties -**/spring9.xml -jar-uri +jar-plain compile jar -uri - ${basedir}/target/deploy +${plain.fn} +${plain.clr} + ${basedir}/target/file **/GridUriDeploymentTestTask8.class **/GridUriDeploymentTestWithNameTask8.class + **/GridUriDeploymentTestTask9.class + **/GridUriDeploymentDependency9.class +**/test9.properties +**/spring9.xml @@ -155,7 +176,8 @@ jar -well-signed-deployfile +${well-signed.fn} +${well-signed.clr} ${basedir}/target/file
[ignite-3] 01/02: Simplify row size estimation. Fallback to single vartable format.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 40b85de0f3ffeeeae788a38661d1752cc1bddf0a Author: Andrew Mashenkov AuthorDate: Thu Jun 24 01:16:43 2021 +0300 Simplify row size estimation. Fallback to single vartable format. --- .../internal/schema/marshaller/MarshallerUtil.java | 3 +- .../marshaller/reflection/JavaSerializer.java | 2 +- .../ignite/internal/schema/row/RowAssembler.java | 80 +- .../ignite/internal/table/TupleBuilderImpl.java| 2 +- .../ignite/internal/table/TupleMarshallerImpl.java | 22 +++--- 5 files changed, 28 insertions(+), 81 deletions(-) diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/MarshallerUtil.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/MarshallerUtil.java index 265c3f9..ecf77be 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/MarshallerUtil.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/MarshallerUtil.java @@ -21,7 +21,6 @@ import java.util.BitSet; import java.util.UUID; import org.apache.ignite.internal.schema.InvalidTypeException; import org.apache.ignite.internal.schema.NativeType; -import org.apache.ignite.internal.schema.row.RowAssembler; import org.apache.ignite.internal.util.ObjectFactory; /** @@ -41,7 +40,7 @@ public final class MarshallerUtil { return ((byte[])val).length; case STRING: -return RowAssembler.utf8EncodedLength((CharSequence)val); +return ((CharSequence)val).length() << 1; //RowAssembler.utf8EncodedLength((CharSequence)val); default: throw new InvalidTypeException("Unsupported variable-length type: " + type); diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java index 57b5bdd..2e4f4b3 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java @@ -98,7 +98,7 @@ public class JavaSerializer extends AbstractSerializer { */ private ObjectStatistic collectObjectStats(Columns cols, Marshaller marsh, Object obj) { if (obj == null || !cols.hasVarlengthColumns()) -return new ObjectStatistic(0, 0); +return new ObjectStatistic(0, cols.fixsizeMaxLen()); int cnt = 0; int size = cols.fixsizeMaxLen(); diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java index b639480..d07f621 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java @@ -57,12 +57,6 @@ public class RowAssembler { /** The number of non-null varlen columns in values chunk. */ private final int valVarlenCols; -/** Value null-map size in bytes. */ -private int valNullMapSize; - -/** Value write mode. */ -private final VarTableFormat valWriteMode; - /** Current columns chunk. */ private Columns curCols; @@ -93,9 +87,6 @@ public class RowAssembler { /** Current offset for the next column to be appended. */ protected int curOff; -/** Vartable format helper. */ -private VarTableFormat format; - /** * Calculates encoded string length. * @@ -140,10 +131,8 @@ public class RowAssembler { ) { this(schema, 0, -schema.keyColumns().nullMapSize() > 0, nonNullVarlenKeyCols, 0, -schema.valueColumns().nullMapSize() > 0, nonNullVarlenValCols); } @@ -154,46 +143,15 @@ public class RowAssembler { * * @param schema Row schema. * @param keyDataSize Key payload size. Estimated upper-bound or zero if unknown. - * @param nonNullVarlenKeyCols Number of non-null varlen columns in key chunk. - * @param valDataSize Value data size. Estimated upper-bound or zero if unknown. - * @param nonNullVarlenValCols Number of non-null varlen columns in value chunk. - */ -public RowAssembler( -SchemaDescriptor schema, -int keyDataSize, -int nonNullVarlenKeyCols, -int valDataSize, -int nonNullVarlenValCols -) { -this(schema, -keyDataSize, -schema.keyColumns().nullMapSize() > 0, -nonNullVarlenKeyCols, -valDataSize, -
[ignite-3] 02/02: Minor.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit fae6c3aace4dde9cc49e80fa1373b1a5713c99cb Author: Andrew Mashenkov AuthorDate: Thu Jun 24 12:39:18 2021 +0300 Minor. --- .../marshaller/reflection/JavaSerializer.java | 15 +- .../internal/schema/row/ExpandableByteBuf.java | 9 - .../org/apache/ignite/internal/schema/row/Row.java | 1 - .../ignite/internal/schema/row/RowAssembler.java | 292 ++--- .../ignite/internal/table/TupleMarshallerImpl.java | 99 +++ 5 files changed, 199 insertions(+), 217 deletions(-) diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java index 2e4f4b3..06ac189 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java @@ -85,7 +85,7 @@ public class JavaSerializer extends AbstractSerializer { ObjectStatistic keyStat = collectObjectStats(schema.keyColumns(), keyMarsh, key); ObjectStatistic valStat = collectObjectStats(schema.valueColumns(), valMarsh, val); -return new RowAssembler(schema, keyStat.maxChunkDataSize, keyStat.nonNullCols, valStat.maxChunkDataSize, valStat.nonNullCols); +return new RowAssembler(schema, keyStat.nonNullColsSize, keyStat.nonNullCols, valStat.nonNullColsSize, valStat.nonNullCols); } /** @@ -98,10 +98,10 @@ public class JavaSerializer extends AbstractSerializer { */ private ObjectStatistic collectObjectStats(Columns cols, Marshaller marsh, Object obj) { if (obj == null || !cols.hasVarlengthColumns()) -return new ObjectStatistic(0, cols.fixsizeMaxLen()); +return ObjectStatistic.ZERO_VARLEN_STATISTICS; int cnt = 0; -int size = cols.fixsizeMaxLen(); +int size = 0; for (int i = cols.firstVarlengthColumn(); i < cols.length(); i++) { final Object val = marsh.value(obj, i); @@ -138,16 +138,19 @@ public class JavaSerializer extends AbstractSerializer { * Object statistic. */ private static class ObjectStatistic { +/** Cached zero statistics. */ +static final ObjectStatistic ZERO_VARLEN_STATISTICS = new ObjectStatistic(0,0); + /** Non-null columns of varlen type. */ int nonNullCols; /** Length of all non-null columns of varlen types. */ -int maxChunkDataSize; +int nonNullColsSize; /** Constructor. */ -ObjectStatistic(int nonNullCols, int maxRowSize) { +ObjectStatistic(int nonNullCols, int nonNullColsSize) { this.nonNullCols = nonNullCols; -this.maxChunkDataSize = maxRowSize; +this.nonNullColsSize = nonNullColsSize; } } } diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java index 74f5099..159153e 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java @@ -280,13 +280,4 @@ public class ExpandableByteBuf { buf.position(oldPos); buf.order(ByteOrder.LITTLE_ENDIAN); } - -/** - * Unwrap to ByteBuffer. - * - * @return internal buffer. - */ -ByteBuffer unwrap() { -return buf; -} } diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java index c9e27d5..8e2553e 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java @@ -55,7 +55,6 @@ public class Row implements BinaryRow { this.row = row; this.schema = schema; - } /** diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java index d07f621..76ded31 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/RowAssembler.java @@ -34,8 +34,6 @@ import org.apache.ignite.internal.schema.NativeTypeSpec; import org.apache.ignite.internal.schema.NativeTypes; import org.apache.ignite.internal.schema.SchemaDescriptor; -import static org.apache.ignite.internal.schema.Bi
[ignite-3] branch ignite-14743-compaction created (now fae6c3a)
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git. at fae6c3a Minor. This branch includes the following new commits: new 40b85de Simplify row size estimation. Fallback to single vartable format. new fae6c3a Minor. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite-3] branch ignite-14743-row-formats created (now 4d31cb3)
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-14743-row-formats in repository https://gitbox.apache.org/repos/asf/ignite-3.git. at 4d31cb3 Minor. This branch includes the following new commits: new 28f2f46 Merge branch 'main' into ignite-14743-row-formats new 4d31cb3 Minor. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference.
[ignite-3] 01/02: Merge branch 'main' into ignite-14743-row-formats
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-row-formats in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 28f2f467f7b9fd6c8d74d10aeda99384f397fad4 Merge: 6284c34 972672f Author: Andrew Mashenkov AuthorDate: Thu Jun 24 01:42:02 2021 +0300 Merge branch 'main' into ignite-14743-row-formats .../ignite/internal/affinity/AffinityManager.java |8 +- .../internal/affinity/AffinityManagerTest.java | 37 +- .../affinity/TestConfigurationStorage.java | 10 +- .../network/NetworkConfigurationSchema.java|2 +- .../schemas/rest/RestConfigurationSchema.java |2 +- .../schemas/runner/ClusterConfigurationSchema.java |2 +- .../schemas/runner/NodeConfigurationSchema.java|2 +- .../schemas/table/TablesConfigurationSchema.java |2 +- .../main/java/org/apache/ignite/table/Table.java |8 + .../ignite/internal/baseline/BaselineManager.java |2 +- .../internal/processors/query/calcite/Stubs.java |6 - .../query/calcite/exec/AbstractIndexScan.java | 107 + .../query/calcite/exec/ArrayRowHandler.java| 77 + .../calcite/exec/ExecutionCancelledException.java} |8 +- .../query/calcite/exec/ExecutionContext.java | 292 +++ .../query/calcite/exec/PlannerHelper.java | 229 ++ .../query/calcite/exec/QueryTaskExecutor.java} | 35 +- .../query/calcite/exec/QueryTaskExecutorImpl.java | 95 + .../processors/query/calcite/exec/RowHandler.java | 73 + .../query/calcite/exec/RuntimeHashIndex.java | 113 + .../query/calcite/exec/RuntimeIndex.java} | 12 +- .../query/calcite/exec/RuntimeTreeIndex.java | 196 ++ .../query/calcite/exec/TableFunctionScan.java | 48 + .../processors/query/calcite/exec/TreeIndex.java} | 17 +- .../query/calcite/exec/exp/CallImplementor.java| 42 + .../query/calcite/exec/exp/ConverterUtils.java | 460 .../query/calcite/exec/exp/ExpressionFactory.java | 125 + .../calcite/exec/exp/ExpressionFactoryImpl.java| 509 .../calcite/exec/exp/IgniteBuiltInMethod.java | 45 + .../query/calcite/exec/exp/IgniteSqlFunctions.java | 154 ++ .../calcite/exec/exp/ImplementableFunction.java} | 34 +- .../query/calcite/exec/exp/NotNullImplementor.java | 43 + .../exec/exp/ReflectiveCallNotNullImplementor.java | 82 + .../query/calcite/exec/exp/RexImpTable.java| 2574 .../query/calcite/exec/exp/RexToLixTranslator.java | 1312 ++ .../processors/query/calcite/exec/exp/Scalar.java} | 10 +- .../query/calcite/exec/exp/agg/Accumulator.java} | 27 +- .../calcite/exec/exp/agg/AccumulatorWrapper.java} | 19 +- .../query/calcite/exec/exp/agg/Accumulators.java | 1068 .../calcite/exec/exp/agg/AccumulatorsFactory.java | 330 +++ .../query/calcite/exec/exp/agg/AggregateType.java} | 17 +- .../query/calcite/exec/exp/agg/GroupKey.java | 101 + .../query/calcite/exec/rel/AbstractNode.java | 202 ++ .../query/calcite/exec/rel/AbstractSetOpNode.java | 367 +++ .../exec/rel/CorrelatedNestedLoopJoinNode.java | 479 .../query/calcite/exec/rel/Downstream.java}| 31 +- .../query/calcite/exec/rel/FilterNode.java | 145 ++ .../query/calcite/exec/rel/HashAggregateNode.java | 372 +++ .../query/calcite/exec/rel/IndexSpoolNode.java | 205 ++ .../query/calcite/exec/rel/IntersectNode.java | 118 + .../query/calcite/exec/rel/LimitNode.java | 132 + .../query/calcite/exec/rel/Mailbox.java} | 25 +- .../query/calcite/exec/rel/MergeJoinNode.java | 1134 + .../query/calcite/exec/rel/MinusNode.java | 102 + .../query/calcite/exec/rel/NestedLoopJoinNode.java | 812 ++ .../processors/query/calcite/exec/rel/Node.java| 81 + .../query/calcite/exec/rel/ProjectNode.java| 84 + .../query/calcite/exec/rel/RootNode.java | 283 +++ .../query/calcite/exec/rel/ScanNode.java | 130 + .../query/calcite/exec/rel/SingleNode.java}| 28 +- .../query/calcite/exec/rel/SortAggregateNode.java | 316 +++ .../query/calcite/exec/rel/SortNode.java | 148 ++ .../query/calcite/exec/rel/TableSpoolNode.java | 160 ++ .../query/calcite/exec/rel/UnionAllNode.java | 97 + .../calcite/metadata/FragmentDescription.java | 75 + .../calcite/metadata/cost/IgniteCostFactory.java |4 +- .../calcite/prepare/ddl/ColumnDefinition.java |2 +- .../processors/query/calcite/util/Commons.java | 27 +- .../query/calcite/util/FilteringIterator.java | 79 + .../query/calcite/util/IgniteMethod.java | 25 + .../processors/query/calcite/util/RexUtils.java|8 +- .../calcite/util/StripedThreadPoolExecutor.java| 226 ++ .../query/calcite/util/TransformingIterator.java} | 33 +- .../processors/query/calcite/util/TypeUtils.java
[ignite-3] 02/02: Minor.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-row-formats in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 4d31cb3dd2d37d6c8be17e6dcd5c59c5a29a8971 Author: Andrew Mashenkov AuthorDate: Thu Jun 24 15:11:38 2021 +0300 Minor. --- .../schema/marshaller/reflection/JavaSerializer.java| 13 - .../org/apache/ignite/internal/schema/row/ChunkFormat.java | 4 +--- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java index 57b5bdd..6b5f252 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java @@ -85,7 +85,7 @@ public class JavaSerializer extends AbstractSerializer { ObjectStatistic keyStat = collectObjectStats(schema.keyColumns(), keyMarsh, key); ObjectStatistic valStat = collectObjectStats(schema.valueColumns(), valMarsh, val); -return new RowAssembler(schema, keyStat.maxChunkDataSize, keyStat.nonNullCols, valStat.maxChunkDataSize, valStat.nonNullCols); +return new RowAssembler(schema, keyStat.nonNullColsSize, keyStat.nonNullCols, valStat.nonNullColsSize, valStat.nonNullCols); } /** @@ -98,7 +98,7 @@ public class JavaSerializer extends AbstractSerializer { */ private ObjectStatistic collectObjectStats(Columns cols, Marshaller marsh, Object obj) { if (obj == null || !cols.hasVarlengthColumns()) -return new ObjectStatistic(0, 0); +return ObjectStatistic.ZERO_VARLEN_STATISTICS; int cnt = 0; int size = cols.fixsizeMaxLen(); @@ -138,16 +138,19 @@ public class JavaSerializer extends AbstractSerializer { * Object statistic. */ private static class ObjectStatistic { +/** Cached zero statistics. */ +static final ObjectStatistic ZERO_VARLEN_STATISTICS = new ObjectStatistic(0,0); + /** Non-null columns of varlen type. */ int nonNullCols; /** Length of all non-null columns of varlen types. */ -int maxChunkDataSize; +int nonNullColsSize; /** Constructor. */ -ObjectStatistic(int nonNullCols, int maxRowSize) { +ObjectStatistic(int nonNullCols, int nonNullColsSize) { this.nonNullCols = nonNullCols; -this.maxChunkDataSize = maxRowSize; +this.nonNullColsSize = nonNullColsSize; } } } diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java index ba2588c..e18156f 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java @@ -149,9 +149,7 @@ abstract class ChunkFormat { * @return Chunk formatter regarding the provided flags. */ private static ChunkFormat fromFlags(byte chunkFlags) { -final int mode = chunkFlags & FORMAT_CODE_MASK; - -switch (mode) { +switch (chunkFlags & FORMAT_CODE_MASK) { case 1: return TINY; case 2:
[ignite-3] branch ignite-14743-row-formats updated (4d31cb3 -> 0b79ebf)
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-14743-row-formats in repository https://gitbox.apache.org/repos/asf/ignite-3.git. discard 4d31cb3 Minor. new 0b79ebf Minor. This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (4d31cb3) \ N -- N -- N refs/heads/ignite-14743-row-formats (0b79ebf) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../ignite/internal/schema/marshaller/reflection/JavaSerializer.java | 5 + .../main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-)
[ignite-3] 01/01: Minor.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-row-formats in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 0b79ebfa289e288ec99d30c136d0955bacc28efa Author: Andrew Mashenkov AuthorDate: Thu Jun 24 15:11:38 2021 +0300 Minor. --- .../internal/schema/marshaller/reflection/JavaSerializer.java | 10 +- .../org/apache/ignite/internal/schema/row/ChunkFormat.java | 4 +--- .../org/apache/ignite/internal/schema/row/ChunkWriter.java | 4 ++-- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java index 57b5bdd..c32f01a 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/marshaller/reflection/JavaSerializer.java @@ -85,7 +85,7 @@ public class JavaSerializer extends AbstractSerializer { ObjectStatistic keyStat = collectObjectStats(schema.keyColumns(), keyMarsh, key); ObjectStatistic valStat = collectObjectStats(schema.valueColumns(), valMarsh, val); -return new RowAssembler(schema, keyStat.maxChunkDataSize, keyStat.nonNullCols, valStat.maxChunkDataSize, valStat.nonNullCols); +return new RowAssembler(schema, keyStat.nonNullColsSize, keyStat.nonNullCols, valStat.nonNullColsSize, valStat.nonNullCols); } /** @@ -98,7 +98,7 @@ public class JavaSerializer extends AbstractSerializer { */ private ObjectStatistic collectObjectStats(Columns cols, Marshaller marsh, Object obj) { if (obj == null || !cols.hasVarlengthColumns()) -return new ObjectStatistic(0, 0); +return new ObjectStatistic(0,cols.fixsizeMaxLen()); int cnt = 0; int size = cols.fixsizeMaxLen(); @@ -142,12 +142,12 @@ public class JavaSerializer extends AbstractSerializer { int nonNullCols; /** Length of all non-null columns of varlen types. */ -int maxChunkDataSize; +int nonNullColsSize; /** Constructor. */ -ObjectStatistic(int nonNullCols, int maxRowSize) { +ObjectStatistic(int nonNullCols, int nonNullColsSize) { this.nonNullCols = nonNullCols; -this.maxChunkDataSize = maxRowSize; +this.nonNullColsSize = nonNullColsSize; } } } diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java index ba2588c..e18156f 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkFormat.java @@ -149,9 +149,7 @@ abstract class ChunkFormat { * @return Chunk formatter regarding the provided flags. */ private static ChunkFormat fromFlags(byte chunkFlags) { -final int mode = chunkFlags & FORMAT_CODE_MASK; - -switch (mode) { +switch (chunkFlags & FORMAT_CODE_MASK) { case 1: return TINY; case 2: diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java index 56f1f3c..6249d3d 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ChunkWriter.java @@ -262,8 +262,8 @@ class ChunkWriter { protected void setNull(int colIdx) { assert (flags & ChunkFormat.OMIT_NULL_MAP_FLAG) == 0 : "Null-map is omitted."; -int byteInMap = colIdx / 8; -int bitInByte = colIdx % 8; +int byteInMap = colIdx >> 3; +int bitInByte = colIdx & 7; buf.ensureCapacity(nullmapOff() + byteInMap + 1);
[ignite] branch ignite-ducktape updated (73c5b2d -> fdc1b2e)
This is an automated email from the ASF dual-hosted git repository. ivandasch pushed a change to branch ignite-ducktape in repository https://gitbox.apache.org/repos/asf/ignite.git. from 73c5b2d IGNITE-14780 Thin client test should use versions from globals (#9147) add fdc1b2e IGNITE-14477 Add test for rebalance with persistence - Fixes #9142. No new revisions were added by this update. Summary of changes: .../tests/rebalance/DataGenerationApplication.java | 51 +--- .../ignitetest/services/utils/control_utility.py | 2 +- .../ignitetest/services/utils/ignite_aware.py | 39 ++- .../utils/ignite_configuration/data_storage.py | 1 + .../services/utils/templates/datastorage_macro.j2 | 3 + .../tests/ignitetest/tests/rebalance/__init__.py | 175 --- .../ignitetest/tests/rebalance/in_memory_test.py | 72 ++--- .../ignitetest/tests/rebalance/persistent_test.py | 246 .../tests/ignitetest/tests/rebalance/util.py | 324 + .../tests/ignitetest/tests/suites/fast_suite.yml | 1 + 10 files changed, 646 insertions(+), 268 deletions(-) create mode 100644 modules/ducktests/tests/ignitetest/tests/rebalance/persistent_test.py create mode 100644 modules/ducktests/tests/ignitetest/tests/rebalance/util.py
[ignite-3] branch ignite-14743-compaction updated: Add compaction.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git The following commit(s) were added to refs/heads/ignite-14743-compaction by this push: new d789c59 Add compaction. d789c59 is described below commit d789c595d7ddcfb3ff13a42aa14cdc858a1b0f0a Author: Andrew Mashenkov AuthorDate: Thu Jun 24 19:32:05 2021 +0300 Add compaction. --- .../ignite/internal/schema/ByteBufferRow.java | 4 +- .../internal/schema/row/ExpandableByteBuf.java | 28 ++ .../org/apache/ignite/internal/schema/row/Row.java | 26 ++--- .../ignite/internal/schema/row/RowAssembler.java | 77 ++ .../ignite/internal/schema/row/VarTableFormat.java | 87 ++-- .../schema/RowAssemblerAdvancedSchemaTest.java | 17 ++-- .../schema/RowAssemblerSimpleSchemaTest.java | 111 +++-- 7 files changed, 167 insertions(+), 183 deletions(-) diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java index 6ae8889..6041aa3 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java @@ -78,12 +78,12 @@ public class ByteBufferRow implements BinaryRow { /** {@inheritDoc} */ @Override public byte readByte(int off) { -return (byte)(buf.get(off) & 0xFF); +return buf.get(off); } /** {@inheritDoc} */ @Override public short readShort(int off) { -return (short)(buf.getShort(off) & 0x); +return buf.getShort(off); } /** {@inheritDoc} */ diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java index 159153e..19d9f44 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java @@ -235,6 +235,16 @@ public class ExpandableByteBuf { } /** + * Reads {@code short} value from buffer. + * + * @param off Buffer offset. + * @return Value. + */ +public short getShort(int off) { +return buf.getShort(off); +} + +/** * @return The byte array of all bytes written to this array, including gaps. */ public byte[] toArray() { @@ -280,4 +290,22 @@ public class ExpandableByteBuf { buf.position(oldPos); buf.order(ByteOrder.LITTLE_ENDIAN); } + +/** + * Compact array. + * + * @param srcOff Source offset. + * @param dstOff Destination offset. + * @param len Length. + */ +void shift(int srcOff, int dstOff, int len) { +assert srcOff > dstOff; + +System.arraycopy(arr, srcOff, arr, dstOff, len); +Arrays.fill(arr, dstOff + len, srcOff + len, (byte)0); + +this.len -= (srcOff - dstOff); +buf = ByteBuffer.wrap(arr); +buf.order(ByteOrder.LITTLE_ENDIAN); +} } diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java index 8e2553e..8a9b5d7 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java @@ -370,7 +370,7 @@ public class Row implements BinaryRow { int nullMapLen = (flags & VarTableFormat.OMIT_NULL_MAP_FLAG) == 0 ? cols.nullMapSize() : 0; VarTableFormat format = (flags & VarTableFormat.OMIT_VARTBL_FLAG) == 0 ? VarTableFormat.fromFlags(flags) : null; -if (nullMapLen > 0 && isNull(chunkBaseOff + BinaryRow.CHUNK_LEN_FLD_SIZE, colIdx)) +if (nullMapLen > 0 && isNull(chunkBaseOff, colIdx)) return -1; int dataOffset = varTableOffset(chunkBaseOff, nullMapLen); @@ -409,9 +409,9 @@ public class Row implements BinaryRow { if (hasNullmap) { // Fold offset based on the whole map bytes in the schema for (int i = 0; i < colByteIdx; i++) -colOff += cols.foldFixedLength(i, row.readByte(nullMapOffset(chunkBaseOff) + i)); +colOff += cols.foldFixedLength(i, Byte.toUnsignedInt(row.readByte(nullMapOffset(chunkBaseOff) + i))); -colOff += cols.foldFixedLength(colByteIdx, row.readByte(nullMapOffset(chunkBaseOff) + colByteIdx) | mask); +colOff += cols.foldFixedLength(colByteIdx, Byte.toUnsignedInt(row.readByte(nullMapOffset(chunkBaseOff) + colByteIdx)) | mask); } else { for (int i = 0; i < colByteIdx; i++) @@ -525,31 +525,17 @@ p
[ignite-3] branch ignite-14743-compaction updated (d789c59 -> f8cdbd8)
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git. discard d789c59 Add compaction. new f8cdbd8 Add compaction. This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (d789c59) \ N -- N -- N refs/heads/ignite-14743-compaction (f8cdbd8) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 1 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../internal/schema/row/ExpandableByteBuf.java | 11 ++--- .../ignite/internal/schema/row/RowAssembler.java | 46 +++- .../ignite/internal/schema/row/VarTableFormat.java | 49 ++ 3 files changed, 60 insertions(+), 46 deletions(-)
[ignite-3] 01/01: Add compaction.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit f8cdbd8c7f17524a3a1e942c8f36a60a73174477 Author: Andrew Mashenkov AuthorDate: Thu Jun 24 19:32:05 2021 +0300 Add compaction. --- .../ignite/internal/schema/ByteBufferRow.java | 4 +- .../internal/schema/row/ExpandableByteBuf.java | 29 + .../org/apache/ignite/internal/schema/row/Row.java | 26 ++--- .../ignite/internal/schema/row/RowAssembler.java | 41 +++ .../ignite/internal/schema/row/VarTableFormat.java | 118 + .../schema/RowAssemblerAdvancedSchemaTest.java | 17 ++- .../schema/RowAssemblerSimpleSchemaTest.java | 111 +-- 7 files changed, 172 insertions(+), 174 deletions(-) diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java index 6ae8889..6041aa3 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/ByteBufferRow.java @@ -78,12 +78,12 @@ public class ByteBufferRow implements BinaryRow { /** {@inheritDoc} */ @Override public byte readByte(int off) { -return (byte)(buf.get(off) & 0xFF); +return buf.get(off); } /** {@inheritDoc} */ @Override public short readShort(int off) { -return (short)(buf.getShort(off) & 0x); +return buf.getShort(off); } /** {@inheritDoc} */ diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java index 159153e..72cae54 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/ExpandableByteBuf.java @@ -235,6 +235,16 @@ public class ExpandableByteBuf { } /** + * Reads {@code short} value from buffer. + * + * @param off Buffer offset. + * @return Value. + */ +public short getShort(int off) { +return buf.getShort(off); +} + +/** * @return The byte array of all bytes written to this array, including gaps. */ public byte[] toArray() { @@ -280,4 +290,23 @@ public class ExpandableByteBuf { buf.position(oldPos); buf.order(ByteOrder.LITTLE_ENDIAN); } + +/** + * Compact array. + * + * @param srcOff Source offset. + * @param dstOff Destination offset. + */ +void shift(int srcOff, int dstOff) { +assert srcOff > dstOff; + +final int shift = srcOff - dstOff; + +System.arraycopy(arr, srcOff, arr, dstOff, len - srcOff); +Arrays.fill(arr, len - shift, len, (byte)0); + +len -= shift; +buf = ByteBuffer.wrap(arr); +buf.order(ByteOrder.LITTLE_ENDIAN); +} } diff --git a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java index 8e2553e..8a9b5d7 100644 --- a/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java +++ b/modules/schema/src/main/java/org/apache/ignite/internal/schema/row/Row.java @@ -370,7 +370,7 @@ public class Row implements BinaryRow { int nullMapLen = (flags & VarTableFormat.OMIT_NULL_MAP_FLAG) == 0 ? cols.nullMapSize() : 0; VarTableFormat format = (flags & VarTableFormat.OMIT_VARTBL_FLAG) == 0 ? VarTableFormat.fromFlags(flags) : null; -if (nullMapLen > 0 && isNull(chunkBaseOff + BinaryRow.CHUNK_LEN_FLD_SIZE, colIdx)) +if (nullMapLen > 0 && isNull(chunkBaseOff, colIdx)) return -1; int dataOffset = varTableOffset(chunkBaseOff, nullMapLen); @@ -409,9 +409,9 @@ public class Row implements BinaryRow { if (hasNullmap) { // Fold offset based on the whole map bytes in the schema for (int i = 0; i < colByteIdx; i++) -colOff += cols.foldFixedLength(i, row.readByte(nullMapOffset(chunkBaseOff) + i)); +colOff += cols.foldFixedLength(i, Byte.toUnsignedInt(row.readByte(nullMapOffset(chunkBaseOff) + i))); -colOff += cols.foldFixedLength(colByteIdx, row.readByte(nullMapOffset(chunkBaseOff) + colByteIdx) | mask); +colOff += cols.foldFixedLength(colByteIdx, Byte.toUnsignedInt(row.readByte(nullMapOffset(chunkBaseOff) + colByteIdx)) | mask); } else { for (int i = 0; i < colByteIdx; i++) @@ -525,31 +525,17 @@ public class Row implements BinaryRow { } /** - * @param baseOff Chunk base offset. - * @param nullMapLen Null-map length. - * @param format V
[ignite-3] branch ignite-14743-compaction updated: Add benchmark.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-14743-compaction in repository https://gitbox.apache.org/repos/asf/ignite-3.git The following commit(s) were added to refs/heads/ignite-14743-compaction by this push: new b06f467 Add benchmark. b06f467 is described below commit b06f4676a4706860c2d466e6b55cff5639a53def Author: Andrew Mashenkov AuthorDate: Thu Jun 24 22:11:52 2021 +0300 Add benchmark. --- .../benchmarks/TupleMarshallerBenchmarkTest.java | 163 + 1 file changed, 163 insertions(+) diff --git a/modules/table/src/test/java/org/apache/ignite/internal/benchmarks/TupleMarshallerBenchmarkTest.java b/modules/table/src/test/java/org/apache/ignite/internal/benchmarks/TupleMarshallerBenchmarkTest.java new file mode 100644 index 000..53546b6 --- /dev/null +++ b/modules/table/src/test/java/org/apache/ignite/internal/benchmarks/TupleMarshallerBenchmarkTest.java @@ -0,0 +1,163 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.internal.benchmarks; + +import java.util.Random; +import java.util.UUID; +import java.util.concurrent.TimeUnit; +import java.util.function.Supplier; +import java.util.stream.IntStream; +import org.apache.ignite.internal.schema.Column; +import org.apache.ignite.internal.schema.Columns; +import org.apache.ignite.internal.schema.SchemaDescriptor; +import org.apache.ignite.internal.schema.SchemaRegistry; +import org.apache.ignite.internal.schema.marshaller.TupleMarshaller; +import org.apache.ignite.internal.schema.row.Row; +import org.apache.ignite.internal.table.TupleBuilderImpl; +import org.apache.ignite.internal.table.TupleMarshallerImpl; +import org.apache.ignite.table.Tuple; +import org.openjdk.jmh.annotations.Benchmark; +import org.openjdk.jmh.annotations.BenchmarkMode; +import org.openjdk.jmh.annotations.Fork; +import org.openjdk.jmh.annotations.Measurement; +import org.openjdk.jmh.annotations.Mode; +import org.openjdk.jmh.annotations.OutputTimeUnit; +import org.openjdk.jmh.annotations.Param; +import org.openjdk.jmh.annotations.Scope; +import org.openjdk.jmh.annotations.Setup; +import org.openjdk.jmh.annotations.State; +import org.openjdk.jmh.annotations.Warmup; +import org.openjdk.jmh.infra.Blackhole; +import org.openjdk.jmh.runner.Runner; +import org.openjdk.jmh.runner.RunnerException; +import org.openjdk.jmh.runner.options.Options; +import org.openjdk.jmh.runner.options.OptionsBuilder; + +import static org.apache.ignite.internal.schema.NativeTypes.BYTES; +import static org.apache.ignite.internal.schema.NativeTypes.LONG; + +/** + * Serializer benchmark. + */ +@State(Scope.Benchmark) +@Warmup(iterations = 1, time = 15, timeUnit = TimeUnit.SECONDS) +@Measurement(iterations = 1, time = 30, timeUnit = TimeUnit.SECONDS) +@BenchmarkMode({Mode.Throughput, Mode.AverageTime}) +@OutputTimeUnit(TimeUnit.MICROSECONDS) +@Fork(jvmArgs = "-Djava.lang.invoke.stringConcat=BC_SB" /* Workaround for Java 9+ */, value = 1) +public class TupleMarshallerBenchmarkTest { +/** Random. */ +private Random rnd = new Random(); + +/** Tuple marshaller. */ +private TupleMarshaller marshaller; + +/** Object fields count. */ +@Param({"1", "10", "100"}) +public int fieldsCount; + +/** Nullable cols. */ +@Param({"true", "false"}) +public boolean nullable; + +/** Fixed length. */ +@Param({"true", "false"}) +public boolean fixedLen; + +/** Schema descriptor. */ +private SchemaDescriptor schema; + +private Object[] vals; + +/** + * Runner. + */ +public static void main(String[] args) throws RunnerException { +Options opt = new OptionsBuilder() +.include(TupleMarshallerBenchmarkTest.class.getSimpleName()) +.build(); + +new Runner(opt).run(); +} + +/** + * + */ +@Setup +public void init() { +long seed = System.currentTimeMillis(); + +rnd = new Random(seed); + +schema = new SchemaDescriptor( +UUID.randomUUID(), +42, +new Column[] {new Column("key", LONG, false)}, +IntStream.range(0, fieldsCount).boxed() +
[ignite-3] branch ignite-14951 updated (a6d01e5 -> b774e5b)
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-14951 in repository https://gitbox.apache.org/repos/asf/ignite-3.git. from a6d01e5 Styles. add b774e5b Styles. No new revisions were added by this update. Summary of changes: .../ignite/internal/schema/AssemblyException.java | 34 -- .../org/apache/ignite/internal/schema/Column.java | 20 ++--- .../internal/schema/InvalidTypeException.java | 34 -- .../ignite/internal/schema/SchemaException.java| 17 --- .../schema/SchemaModificationException.java| 3 ++ .../schema/registry/SchemaRegistryException.java | 34 -- 6 files changed, 13 insertions(+), 129 deletions(-)
[ignite-3] branch main updated: IGNITE-14890 Using SLF4J log format. Fixes #175
This is an automated email from the ASF dual-hosted git repository. sk0x50 pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/ignite-3.git The following commit(s) were added to refs/heads/main by this push: new 2ef376c IGNITE-14890 Using SLF4J log format. Fixes #175 2ef376c is described below commit 2ef376c720b8e6dc0fa43605abd74c9767a2702d Author: Vladislav Pyatkov AuthorDate: Fri Jun 25 01:58:53 2021 +0300 IGNITE-14890 Using SLF4J log format. Fixes #175 Signed-off-by: Slava Koptilin --- .../affinity/RendezvousAffinityFunctionTest.java | 2 +- .../org/apache/ignite/internal/util/ByteUtils.java | 5 +- .../apache/ignite/internal/util/IgniteUtils.java | 1 + .../java/org/apache/ignite/lang/IgniteLogger.java | 179 +++-- .../apache/ignite/lang/LoggerMessageHelper.java| 443 + .../tostring/IgniteToStringBuilderSelfTest.java| 4 +- .../org/apache/ignite/lang/LoggerHelperTest.java | 299 ++ .../network/scalecube/ITNodeRestartsTest.java | 8 +- .../internal/network/netty/ConnectionManager.java | 2 +- .../ScaleCubeDirectMarshallerTransport.java| 6 +- .../raft/client/service/RaftGroupServiceTest.java | 4 +- .../raft/server/ITJRaftCounterServerTest.java | 6 +- .../raft/server/ITSimpleCounterServerTest.java | 2 +- .../internal/raft/server/impl/RaftServerImpl.java | 4 +- .../apache/ignite/internal/app/IgnitionImpl.java | 9 +- .../marshaller/asm/AsmSerializerGenerator.java | 8 +- .../ignite/distributed/ITDistributedTableTest.java | 4 +- 17 files changed, 926 insertions(+), 60 deletions(-) diff --git a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/RendezvousAffinityFunctionTest.java b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/RendezvousAffinityFunctionTest.java index 1881da0..e51fd40 100644 --- a/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/RendezvousAffinityFunctionTest.java +++ b/modules/affinity/src/test/java/org/apache/ignite/internal/affinity/RendezvousAffinityFunctionTest.java @@ -130,7 +130,7 @@ public class RendezvousAffinityFunctionTest { assertNotNull(assignment); -LOG.info("Assignment is serialized successfully [bytes=" + assignmentBytes.length + ']'); +LOG.info("Assignment is serialized successfully [bytes={}]", assignmentBytes.length); List> deserializedAssignment = (List>)ByteUtils.fromBytes(assignmentBytes); diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/ByteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/ByteUtils.java index 6412df4..dd4da72 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/ByteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/ByteUtils.java @@ -22,6 +22,7 @@ import java.io.ByteArrayOutputStream; import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import org.apache.ignite.lang.IgniteLogger; +import org.apache.ignite.lang.LoggerMessageHelper; /** * Utility class provides various method for manipulating with bytes. @@ -118,7 +119,9 @@ public class ByteUtils { } } catch (Exception e) { -LOG.warn("Could not serialize a class [cls=" + obj.getClass().getName() + "]", e); +LOG.warn(() -> +LoggerMessageHelper.format("Could not serialize a class [cls={}]", obj.getClass().getName()), +e); return null; } diff --git a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java index 796edd1..0b61103 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java @@ -309,6 +309,7 @@ public class IgniteUtils { * * @param clsName Class name. * @param ldr Class loader. + * @param clsFilter Predicate to filter class names. * @return Class. * @throws ClassNotFoundException If class not found. */ diff --git a/modules/core/src/main/java/org/apache/ignite/lang/IgniteLogger.java b/modules/core/src/main/java/org/apache/ignite/lang/IgniteLogger.java index b99b005..a81ba46 100644 --- a/modules/core/src/main/java/org/apache/ignite/lang/IgniteLogger.java +++ b/modules/core/src/main/java/org/apache/ignite/lang/IgniteLogger.java @@ -17,15 +17,11 @@ package org.apache.ignite.lang; +import java.lang.System.Logger.Level; import java.util.Objects; +import java.util.function.Supplier; import org.jetbrains.annotations.NotNull; -import static java.lang.System.Logger.Level.DEBUG; -import static java.lang.System.Logger.Level.ERROR; -import static java.lang.System.Logger.Level.INFO; -import static java.lang.System.Logger.Level.TRACE; -import static java
[ignite-3] 02/07: IGNITE-14993 - Choose available port out of a range
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 1f6acbbf1612c32c702b32bbe0a0e03dba6168ef Author: Valentin Kulichenko AuthorDate: Thu Jun 24 14:15:00 2021 -0700 IGNITE-14993 - Choose available port out of a range --- .../ignite/network/internal/netty/ConnectionManager.java | 2 ++ .../apache/ignite/network/internal/netty/NettyServer.java | 14 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/modules/network/src/main/java/org/apache/ignite/network/internal/netty/ConnectionManager.java b/modules/network/src/main/java/org/apache/ignite/network/internal/netty/ConnectionManager.java index 3b3f94c..b2f4a10 100644 --- a/modules/network/src/main/java/org/apache/ignite/network/internal/netty/ConnectionManager.java +++ b/modules/network/src/main/java/org/apache/ignite/network/internal/netty/ConnectionManager.java @@ -94,6 +94,8 @@ public class ConnectionManager { public void start() throws IgniteInternalException { try { server.start().join(); + +LOG.info("Connection created [address=" + server.address() + ']'); } catch (CompletionException e) { Throwable cause = e.getCause(); diff --git a/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java b/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java index feb99ed..2a458a5 100644 --- a/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java +++ b/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java @@ -25,6 +25,7 @@ import java.util.function.BiConsumer; import java.util.function.Consumer; import java.util.function.Function; import io.netty.bootstrap.ServerBootstrap; +import io.netty.channel.Channel; import io.netty.channel.ChannelInitializer; import io.netty.channel.ChannelOption; import io.netty.channel.ServerChannel; @@ -171,7 +172,18 @@ public class NettyServer { */ .childOption(ChannelOption.SO_KEEPALIVE, true); -serverStartFuture = NettyUtils.toChannelCompletableFuture(bootstrap.bind(port)) +CompletableFuture bindFuture = NettyUtils.toChannelCompletableFuture(bootstrap.bind(port)); + +for (int i = 1; i < PORT_RANGE; i++) { +int port0 = port + i; + +bindFuture = bindFuture +.thenApply(CompletableFuture::completedFuture) +.exceptionally(err -> NettyUtils.toChannelCompletableFuture(bootstrap.bind(port0))) +.thenCompose(Function.identity()); +} + +serverStartFuture = bindFuture .handle((channel, err) -> { synchronized (startStopLock) { CompletableFuture workerCloseFuture = serverCloseFuture;
[ignite-3] 03/07: IGNITE-14994 - Topology snapshot print out
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 9b314004ae561f9f0b009907f9bcc2eb44b65e81 Author: Valentin Kulichenko AuthorDate: Thu Jun 24 14:17:05 2021 -0700 IGNITE-14994 - Topology snapshot print out --- .../main/java/org/apache/ignite/network/ClusterNode.java | 2 ++ .../network/scalecube/ScaleCubeTopologyService.java | 16 2 files changed, 18 insertions(+) diff --git a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java index 2573a08..4a48908 100644 --- a/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java +++ b/modules/network-api/src/main/java/org/apache/ignite/network/ClusterNode.java @@ -18,6 +18,7 @@ package org.apache.ignite.network; import java.io.Serializable; import java.util.Objects; +import org.apache.ignite.internal.tostring.IgniteToStringExclude; import org.apache.ignite.internal.tostring.S; /** @@ -37,6 +38,7 @@ public class ClusterNode implements Serializable { private final int port; /** Node address in host:port format (lazily evaluated) */ +@IgniteToStringExclude private String address; /** diff --git a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java index 4f41fd0..352469f 100644 --- a/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java +++ b/modules/network/src/main/java/org/apache/ignite/network/scalecube/ScaleCubeTopologyService.java @@ -22,6 +22,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; import io.scalecube.cluster.Member; import io.scalecube.cluster.membership.MembershipEvent; +import org.apache.ignite.lang.IgniteLogger; import org.apache.ignite.network.AbstractTopologyService; import org.apache.ignite.network.ClusterNode; import org.apache.ignite.network.TopologyEventHandler; @@ -31,6 +32,9 @@ import org.apache.ignite.network.TopologyService; * Implementation of {@link TopologyService} based on ScaleCube. */ final class ScaleCubeTopologyService extends AbstractTopologyService { +/** Logger. */ +private static final IgniteLogger LOG = IgniteLogger.forClass(ScaleCubeTopologyService.class); + /** Local member node. */ private ClusterNode localMember; @@ -56,14 +60,26 @@ final class ScaleCubeTopologyService extends AbstractTopologyService { if (event.isAdded()) { members.put(member.address(), member); +LOG.info("Node joined: " + member); + fireAppearedEvent(member); } else if (event.isRemoved()) { members.compute(member.address(), // Ignore stale remove event. (k, v) -> v.id().equals(member.id()) ? null : v); +LOG.info("Node left: " + member); + fireDisappearedEvent(member); } + +StringBuilder snapshotMsg = new StringBuilder("Topology snapshot [nodes=").append(members.size()).append("]\n"); + +for (ClusterNode node : members.values()) { +snapshotMsg.append(" ^-- ").append(node).append('\n'); +} + +LOG.info(snapshotMsg.toString().trim()); } /**
[ignite-3] 07/07: IGNITE-14996 - Updated examples structure
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit a3146514b18d3c7bf6522fb423d6cc262257531c Author: Valentin Kulichenko AuthorDate: Thu Jun 24 20:25:23 2021 -0700 IGNITE-14996 - Updated examples structure --- assembly/assembly.xml | 1 + examples/README.md | 21 .../main/resources => config}/ignite-config.json | 2 +- .../example/table/KeyValueBinaryViewExample.java | 21 +++- .../apache/ignite/example/table/TableExample.java | 124 - 5 files changed, 110 insertions(+), 59 deletions(-) diff --git a/assembly/assembly.xml b/assembly/assembly.xml index d5d256b..04a7975 100644 --- a/assembly/assembly.xml +++ b/assembly/assembly.xml @@ -69,6 +69,7 @@ examples /examples +config/** src/** diff --git a/examples/README.md b/examples/README.md new file mode 100644 index 000..8e1b30b --- /dev/null +++ b/examples/README.md @@ -0,0 +1,21 @@ +# Apache Ignite 3 Examples + +This project contains code examples for Apache Ignite 3. + +Examples are shipped as a separate Maven project, so to start running you simply need +to import provided `pom.xml` file into your favourite IDE. + +The following examples are included: +* `TableExample` - demonstrates the usage of the `org.apache.ignite.table.Table` API +* `KeyValueBinaryViewExample` - demonstrates the usage of the `org.apache.ignite.table.KeyValueBinaryView` API + +To run an example, do the following: +1. Import the examples project into you IDE. +2. (optional) Run one or more standalone nodes using the CLI tool: +``` +ignite node start --config=$IGNITE_HOME/examples/config/ignite-config.json node-1 +ignite node start --config=$IGNITE_HOME/examples/config/ignite-config.json node-2 +... +ignite node start --config=$IGNITE_HOME/examples/config/ignite-config.json node-n +``` +3. Run the preferred example in the IDE. diff --git a/examples/src/main/resources/ignite-config.json b/examples/config/ignite-config.json similarity index 81% rename from examples/src/main/resources/ignite-config.json rename to examples/config/ignite-config.json index 785d27c..d09db83 100644 --- a/examples/src/main/resources/ignite-config.json +++ b/examples/config/ignite-config.json @@ -1,7 +1,7 @@ { "node": { "metastorageNodes": [ -"node0" +"node-0", "node-1", "node-2" ] }, "network": { diff --git a/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java b/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java index b8e7610..28f6888 100644 --- a/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java +++ b/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java @@ -25,11 +25,26 @@ import org.apache.ignite.table.KeyValueBinaryView; import org.apache.ignite.table.Table; import org.apache.ignite.table.Tuple; +/** + * This example demonstrates the usage of the {@link KeyValueBinaryView} API. + * + * To run the example, do the following: + * + * Import the examples project into you IDE. + * + * (optional) Run one or more standalone nodes using the CLI tool: + * {@code ignite node start --config=$IGNITE_HOME/examples/config/ignite-config.json node-1} + * {@code ignite node start --config=$IGNITE_HOME/examples/config/ignite-config.json node-2} + * {@code ...} +* {@code ignite node start --config=$IGNITE_HOME/examples/config/ignite-config.json node-n} + * + * Run the example in the IDE. + * + */ public class KeyValueBinaryViewExample { public static void main(String[] args) throws Exception { -String config = Files.readString(Path.of(ClassLoader.getSystemResource("ignite-config.json").toURI())); - -Ignite ignite = IgnitionManager.start("node0", config); +Ignite ignite = IgnitionManager.start("node-0", +Files.readString(Path.of("config/ignite-config.json"))); //- // diff --git a/examples/src/main/java/org/apache/ignite/example/table/TableExample.java b/examples/src/main/java/org/apache/ignite/example/table/TableExample.java index 222d772..e97c5fe 100644 --- a/examples/src/main/java/org/apache/ignite/example/table/TableExample.java +++ b/examples/src/main/java/org/apache/ignite/example/table/TableExample.java @@ -24,72 +24,86 @@ import org.apache.ignite.app.IgnitionManager; import org.apache.ignite.table.Table; import org.apache.ignite.table.Tuple; +/** + * This example demonstrates the usage of the {@link Table} API. + * + * To run the exam
[ignite-3] 06/07: IGNITE-14993 - Choose available port out of a range
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit d26631c1602bc6198d4d03775c060a82eedb305f Author: Valentin Kulichenko AuthorDate: Thu Jun 24 14:29:36 2021 -0700 IGNITE-14993 - Choose available port out of a range --- .../java/org/apache/ignite/network/internal/netty/NettyServer.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java b/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java index 2a458a5..a229d41 100644 --- a/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java +++ b/modules/network/src/main/java/org/apache/ignite/network/internal/netty/NettyServer.java @@ -43,6 +43,9 @@ import org.jetbrains.annotations.TestOnly; * Netty server channel wrapper. */ public class NettyServer { +/** Port range. */ +private static final int PORT_RANGE = 100; + /** A lock for start and stop operations. */ private final Object startStopLock = new Object();
[ignite-3] branch ignite-3.0.0-alpha2 updated (2ae6c60 -> a314651)
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a change to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git. from 2ae6c60 Update version to 3.0.0-alpha2 new dda1590 IGNITE-14992 - Temporarily commenting out the warning to avoid excessive output new 1f6acbb IGNITE-14993 - Choose available port out of a range new 9b31400 IGNITE-14994 - Topology snapshot print out new d63d7a2 IGNITE-14995 - Updated NOTICE new 2090ad7 IGNITE-14996 - Added examples for Table and KeyValueBinaryView new d26631c IGNITE-14993 - Choose available port out of a range new a314651 IGNITE-14996 - Updated examples structure The 7 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: NOTICE | 5 + assembly/NOTICE| 0 assembly/assembly.xml | 29 +- examples/README.md | 21 examples/config/ignite-config.json | 13 +++ .../pom.xml => examples/pom-standalone.xml | 21 ++-- {modules/cli-common => examples}/pom.xml | 9 +- .../example/table/KeyValueBinaryViewExample.java | 113 + .../apache/ignite/example/table/TableExample.java | 109 .../org/apache/ignite/network/ClusterNode.java | 2 + .../network/internal/netty/ConnectionManager.java | 2 + .../ignite/network/internal/netty/NettyServer.java | 17 +++- .../scalecube/ScaleCubeTopologyService.java| 16 +++ .../ignite/raft/server/impl/RaftServerImpl.java| 7 +- parent/pom.xml | 12 ++- pom.xml| 1 + 16 files changed, 353 insertions(+), 24 deletions(-) create mode 100644 NOTICE delete mode 100644 assembly/NOTICE create mode 100644 examples/README.md create mode 100644 examples/config/ignite-config.json copy modules/cli-common/pom.xml => examples/pom-standalone.xml (76%) copy {modules/cli-common => examples}/pom.xml (85%) create mode 100644 examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java create mode 100644 examples/src/main/java/org/apache/ignite/example/table/TableExample.java
[ignite-3] 04/07: IGNITE-14995 - Updated NOTICE
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit d63d7a2bd8ee5a1858e1df8f587e861d4590ebef Author: Valentin Kulichenko AuthorDate: Thu Jun 24 14:18:45 2021 -0700 IGNITE-14995 - Updated NOTICE --- NOTICE| 5 + assembly/NOTICE | 0 assembly/assembly.xml | 2 +- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/NOTICE b/NOTICE new file mode 100644 index 000..1dd5ce4 --- /dev/null +++ b/NOTICE @@ -0,0 +1,5 @@ +Apache Ignite +Copyright 2021 The Apache Software Foundation + +This product includes software developed at +The Apache Software Foundation (http://www.apache.org/). diff --git a/assembly/NOTICE b/assembly/NOTICE deleted file mode 100644 index e69de29..000 diff --git a/assembly/assembly.xml b/assembly/assembly.xml index b78c2c6..7ecb499 100644 --- a/assembly/assembly.xml +++ b/assembly/assembly.xml @@ -31,7 +31,7 @@ -assembly/NOTICE +NOTICE
[ignite-3] 05/07: IGNITE-14996 - Added examples for Table and KeyValueBinaryView
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 2090ad75866c837fb07fb5ffe9b93ad5da54a5bf Author: Valentin Kulichenko AuthorDate: Thu Jun 24 14:27:00 2021 -0700 IGNITE-14996 - Added examples for Table and KeyValueBinaryView --- assembly/assembly.xml | 26 ++ examples/pom-standalone.xml| 41 + examples/pom.xml | 41 + .../example/table/KeyValueBinaryViewExample.java | 98 ++ .../apache/ignite/example/table/TableExample.java | 95 + examples/src/main/resources/ignite-config.json | 13 +++ parent/pom.xml | 12 ++- pom.xml| 1 + 8 files changed, 324 insertions(+), 3 deletions(-) diff --git a/assembly/assembly.xml b/assembly/assembly.xml index 7ecb499..d5d256b 100644 --- a/assembly/assembly.xml +++ b/assembly/assembly.xml @@ -25,26 +25,52 @@ zip + LICENSE + NOTICE + assembly/README + modules/cli/target/ignite + modules/cli/target/ignite.exe + + +examples/pom-standalone.xml +/examples +pom.xml + + + +examples/README.md +/examples + + + + +examples +/examples + +src/** + + + diff --git a/examples/pom-standalone.xml b/examples/pom-standalone.xml new file mode 100644 index 000..23da513 --- /dev/null +++ b/examples/pom-standalone.xml @@ -0,0 +1,41 @@ + + + + +http://maven.apache.org/POM/4.0.0"; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";> +4.0.0 + +org.apache.ignite +ignite-examples +3.0.0-alpha2 + + +11 +11 + + + + +org.apache.ignite +ignite-runner +3.0.0-alpha2 + + + diff --git a/examples/pom.xml b/examples/pom.xml new file mode 100644 index 000..fd5fee8 --- /dev/null +++ b/examples/pom.xml @@ -0,0 +1,41 @@ + + + + +http://maven.apache.org/POM/4.0.0"; + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd";> +4.0.0 + + +org.apache.ignite +ignite-parent +1 +../parent/pom.xml + + +ignite-examples +3.0.0-alpha2 + + + +org.apache.ignite +ignite-runner + + + diff --git a/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java b/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java new file mode 100644 index 000..b8e7610 --- /dev/null +++ b/examples/src/main/java/org/apache/ignite/example/table/KeyValueBinaryViewExample.java @@ -0,0 +1,98 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.ignite.example.table; + +import java.nio.file.Files; +import java.nio.file.Path; +import org.apache.ignite.app.Ignite; +import org.apache.ignite.app.IgnitionManager; +import org.apache.ignite.table.KeyValueBinaryView; +import org.apache.ignite.table.Table; +import org.apache.ignite.table.Tuple; + +public class KeyValueBinaryViewExample { +public static void main(String[] args) throws Exception { +String config = Files.readString(Path.of(ClassLoader.getSystemResource("ignite-config.json").toURI())); + +Ignite ignite = IgnitionManager.start("node0", config); + + //- +// +// Creating a table. T
[ignite-3] 01/07: IGNITE-14992 - Temporarily commenting out the warning to avoid excessive output
This is an automated email from the ASF dual-hosted git repository. vkulichenko pushed a commit to branch ignite-3.0.0-alpha2 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit dda15900c3031bf5e0966bd448ddb6313b367885 Author: Valentin Kulichenko AuthorDate: Thu Jun 24 14:10:22 2021 -0700 IGNITE-14992 - Temporarily commenting out the warning to avoid excessive output --- .../java/org/apache/ignite/raft/server/impl/RaftServerImpl.java| 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/modules/raft/src/main/java/org/apache/ignite/raft/server/impl/RaftServerImpl.java b/modules/raft/src/main/java/org/apache/ignite/raft/server/impl/RaftServerImpl.java index 004c819..ff81d90 100644 --- a/modules/raft/src/main/java/org/apache/ignite/raft/server/impl/RaftServerImpl.java +++ b/modules/raft/src/main/java/org/apache/ignite/raft/server/impl/RaftServerImpl.java @@ -125,9 +125,10 @@ public class RaftServerImpl implements RaftServer { handleActionRequest(sender, req0, correlationId, writeQueue, lsnr); } } -else { -LOG.warn("Unsupported message class " + message.getClass().getName()); -} +// TODO: IGNITE-14992 - Temporarily commenting out for alpha2 +// else { +// LOG.warn("Unsupported message class " + message.getClass().getName()); +// } }); readWorker = new Thread(() -> processQueue(readQueue, RaftGroupCommandListener::onRead), "read-cmd-worker#" + id);
[ignite-extensions] branch master updated: IGNITE-14942 Fixes README description. (#65)
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git The following commit(s) were added to refs/heads/master by this push: new 63815eb IGNITE-14942 Fixes README description. (#65) 63815eb is described below commit 63815eb70b508dff955dcf224d9dd42b785b800e Author: Mikhail Petrov <32207922+ololo3...@users.noreply.github.com> AuthorDate: Fri Jun 25 08:57:41 2021 +0300 IGNITE-14942 Fixes README description. (#65) --- README.md | 48 ++-- 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 226a0e0..888b30f 100644 --- a/README.md +++ b/README.md @@ -2,53 +2,17 @@ https://ignite.apache.org/";>https://github.com/apache/ignite-website/blob/master/images/ignite_logo_full.svg"; hspace="20"/> -[![Build Status](https://travis-ci.org/apache/ignite.svg?branch=master)](https://travis-ci.org/apache/ignite) [![GitHub](https://img.shields.io/github/license/apache/ignite?color=blue)](https://www.apache.org/licenses/LICENSE-2.0.html) -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.ignite/ignite-core/badge.svg)](https://search.maven.org/search?q=org.apache.ignite) -[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi) -![GitHub commit activity](https://img.shields.io/github/commit-activity/m/apache/ignite) +[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi#extensions) [![Twitter Follow](https://img.shields.io/twitter/follow/ApacheIgnite?style=social)](https://twitter.com/ApacheIgnite) -## What is Apache Ignite? +## What Are Apache Ignite Extensions? -Apache Ignite is a distributed database for high-performance computing with in-memory speed. +Apache Ignite Extensions is a group of integrations between [Apache Ignite](https://ignite.apache.org) and various Java frameworks. +To see the comprehensive list of Apache Ignite Extensions and related documentation, visit the *"Extensions and Integrations"* section of an [Apache Ignite Documentation](https://ignite.apache.org/docs/latest/). - -https://ignite.apache.org";> -https://github.com/apache/ignite-website/blob/master/images/png-diagrams/ignite_cluster.png"; width="400px"/> - - +## Apache Ignite Extensions Publication And Versioning. -* [Technical Documentation](https://ignite.apache.org/docs/latest/) -* [JavaDoc](https://ignite.apache.org/releases/latest/javadoc/) -* [C#/.NET APIs](https://ignite.apache.org/releases/latest/dotnetdoc/api/) -* [C++ APIs](https://ignite.apache.org/releases/latest/cppdoc/) -* [Scala APIs](https://ignite.apache.org/releases/latest/scaladoc/scalar/index.html) +Each Apache Ignite extension is published as a separate Maven artifact and has an independent release lifecycle. Visit the *"Extensions and Integrations"* section of an [Apache Ignite Documentation](https://ignite.apache.org/docs/latest/) to see Maven Artifact ID and available versions for each extension, as well as the corresponding Apache Ignite and extension target compatible versions. -## Multi-Tier Storage - -Apache Ignite is designed to work with memory, disk, and Intel Optane as active storage tiers. The memory tier allows using DRAM and Intel® Optane™ operating in the Memory Mode for data storage and processing needs. The disk tier is optional with the support of two options -- you can persist data in an external database or keep it in the Ignite native persistence. SSD, Flash, HDD, or Intel Optane operating in the AppDirect Mode can be used as a storage device. - -[Read More](https://ignite.apache.org/arch/multi-tier-storage.html) - -## Ignite Native Persistence - -Even though Apache Ignite is broadly used as a caching layer on top of external databases, it comes with its native persistence - a distributed, ACID, and SQL-compliant disk-based store. The native persistence integrates into the Ignite multi-tier storage as a disk tier that can be turned on to let Ignite store more data on disk than it can cache in memory and to enable fast cluster restarts. - -[Read More](https://ignite.apache.org/arch/persistence.html) - -## ACID Compliance -Data stored in Ignite is ACID-compliant both in memory and on disk, making Ignite a **strongly consistent** system. Ignite transactions work across the network and can span multiple servers. - -[Read More](https://ignite.apache.org/features/transactions.html) - -## ANSI SQL Support -Apache Ignite comes with a ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine that allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or native SQL APIs available for Java, C#, C++, Python, and other programming languages. Ignite supports all DML com
[ignite-extensions] branch ignite-performance-statistics-ext-1.0.0 updated (2b134a3 -> 2df1634)
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a change to branch ignite-performance-statistics-ext-1.0.0 in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git. from 2b134a3 IGNITE-14706 Provide instructions for build a released module. (#60) new b985831 Updated broken README file new 2df1634 IGNITE-14942 Fixes README description. (#65) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: README.md | 89 +++ 1 file changed, 10 insertions(+), 79 deletions(-)
[ignite-extensions] 01/02: Updated broken README file
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a commit to branch ignite-performance-statistics-ext-1.0.0 in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git commit b985831ebe7e73d4738792934b10ebe2789ff94f Author: Denis Magda AuthorDate: Wed May 19 14:49:08 2021 -0400 Updated broken README file (cherry picked from commit 2614e688a432e393cb9f8b2c5d2470dc2917baf2) --- README.md | 89 --- 1 file changed, 28 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 345f12a..226a0e0 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,54 @@ -# Apache Ignite +# Apache Ignite Extensions -https://ignite.apache.org/";>https://ignite.apache.org/images/logo3.png"; hspace="20"/> - -https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_RunAll&branch_IgniteTests24Java8=%3Cdefault%3E";>https://ci.ignite.apache.org/app/rest/builds/buildType:(id:IgniteTests24Java8_RunAll)/statusIcon.svg"/> - - -## Getting Started - -For information on how to get started with Apache Ignite, please visit: [Getting Started][getting-started]. - -## Full Documentation - -You can find the full Apache Ignite documentation here: [Full documentation][docs]. +https://ignite.apache.org/";>https://github.com/apache/ignite-website/blob/master/images/ignite_logo_full.svg"; hspace="20"/> +[![Build Status](https://travis-ci.org/apache/ignite.svg?branch=master)](https://travis-ci.org/apache/ignite) +[![GitHub](https://img.shields.io/github/license/apache/ignite?color=blue)](https://www.apache.org/licenses/LICENSE-2.0.html) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.ignite/ignite-core/badge.svg)](https://search.maven.org/search?q=org.apache.ignite) +[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi) +![GitHub commit activity](https://img.shields.io/github/commit-activity/m/apache/ignite) +[![Twitter Follow](https://img.shields.io/twitter/follow/ApacheIgnite?style=social)](https://twitter.com/ApacheIgnite) ## What is Apache Ignite? -[Apache Ignite][apache-ignite-homepage] is a memory-centric distributed database, caching, - and processing platform for transactional, analytical, and streaming workloads delivering in-memory - speeds at petabyte scale. +Apache Ignite is a distributed database for high-performance computing with in-memory speed. -https://ignite.apache.org/whatisignite.html";> -https://ignite.apache.org/images/ignite_architecture.png"; width="400px"/> +https://ignite.apache.org";> +https://github.com/apache/ignite-website/blob/master/images/png-diagrams/ignite_cluster.png"; width="400px"/> -## Memory-Centric Storage -Apache Ignite is based on distributed memory-centric architecture that combines the performance and scale of in-memory -computing together with the disk durability and strong consistency in one system. - -The main difference between the memory-centric approach and the traditional disk-centric approach is that the memory -is treated as a fully functional storage, not just as a caching layer, like most databases do. -For example, Apache Ignite can function in a pure in-memory mode, in which case it can be treated as an -In-Memory Database (IMDB) and In-Memory Data Grid (IMDG) in one. +* [Technical Documentation](https://ignite.apache.org/docs/latest/) +* [JavaDoc](https://ignite.apache.org/releases/latest/javadoc/) +* [C#/.NET APIs](https://ignite.apache.org/releases/latest/dotnetdoc/api/) +* [C++ APIs](https://ignite.apache.org/releases/latest/cppdoc/) +* [Scala APIs](https://ignite.apache.org/releases/latest/scaladoc/scalar/index.html) -On the other hand, when persistence is turned on, Ignite begins to function as a memory-centric system where most of -the processing happens in memory, but the data and indexes get persisted to disk. The main difference here -from the traditional disk-centric RDBMS or NoSQL system is that Ignite is strongly consistent, horizontally -scalable, and supports both SQL and key-value processing APIs. +## Multi-Tier Storage -[Read More](https://ignite.apache.org/arch/memorycentric.html) +Apache Ignite is designed to work with memory, disk, and Intel Optane as active storage tiers. The memory tier allows using DRAM and Intel® Optane™ operating in the Memory Mode for data storage and processing needs. The disk tier is optional with the support of two options -- you can persist data in an external database or keep it in the Ignite native persistence. SSD, Flash, HDD, or Intel Optane operating in the AppDirect Mode can be used as a storage device. -## Ignite Persistence +[Read More](https://ignite.apache.org/arch/multi-tier-storage.html) -Ignite Native Persistence is a distributed, ACID, and SQL-compliant **disk store** that transparently integrates with -Ign
[ignite-extensions] 02/02: IGNITE-14942 Fixes README description. (#65)
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a commit to branch ignite-performance-statistics-ext-1.0.0 in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git commit 2df16343a0b01bbee156280a324a646993e6d39b Author: Mikhail Petrov <32207922+ololo3...@users.noreply.github.com> AuthorDate: Fri Jun 25 08:57:41 2021 +0300 IGNITE-14942 Fixes README description. (#65) (cherry picked from commit 63815eb70b508dff955dcf224d9dd42b785b800e) --- README.md | 48 ++-- 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 226a0e0..888b30f 100644 --- a/README.md +++ b/README.md @@ -2,53 +2,17 @@ https://ignite.apache.org/";>https://github.com/apache/ignite-website/blob/master/images/ignite_logo_full.svg"; hspace="20"/> -[![Build Status](https://travis-ci.org/apache/ignite.svg?branch=master)](https://travis-ci.org/apache/ignite) [![GitHub](https://img.shields.io/github/license/apache/ignite?color=blue)](https://www.apache.org/licenses/LICENSE-2.0.html) -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.ignite/ignite-core/badge.svg)](https://search.maven.org/search?q=org.apache.ignite) -[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi) -![GitHub commit activity](https://img.shields.io/github/commit-activity/m/apache/ignite) +[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi#extensions) [![Twitter Follow](https://img.shields.io/twitter/follow/ApacheIgnite?style=social)](https://twitter.com/ApacheIgnite) -## What is Apache Ignite? +## What Are Apache Ignite Extensions? -Apache Ignite is a distributed database for high-performance computing with in-memory speed. +Apache Ignite Extensions is a group of integrations between [Apache Ignite](https://ignite.apache.org) and various Java frameworks. +To see the comprehensive list of Apache Ignite Extensions and related documentation, visit the *"Extensions and Integrations"* section of an [Apache Ignite Documentation](https://ignite.apache.org/docs/latest/). - -https://ignite.apache.org";> -https://github.com/apache/ignite-website/blob/master/images/png-diagrams/ignite_cluster.png"; width="400px"/> - - +## Apache Ignite Extensions Publication And Versioning. -* [Technical Documentation](https://ignite.apache.org/docs/latest/) -* [JavaDoc](https://ignite.apache.org/releases/latest/javadoc/) -* [C#/.NET APIs](https://ignite.apache.org/releases/latest/dotnetdoc/api/) -* [C++ APIs](https://ignite.apache.org/releases/latest/cppdoc/) -* [Scala APIs](https://ignite.apache.org/releases/latest/scaladoc/scalar/index.html) +Each Apache Ignite extension is published as a separate Maven artifact and has an independent release lifecycle. Visit the *"Extensions and Integrations"* section of an [Apache Ignite Documentation](https://ignite.apache.org/docs/latest/) to see Maven Artifact ID and available versions for each extension, as well as the corresponding Apache Ignite and extension target compatible versions. -## Multi-Tier Storage - -Apache Ignite is designed to work with memory, disk, and Intel Optane as active storage tiers. The memory tier allows using DRAM and Intel® Optane™ operating in the Memory Mode for data storage and processing needs. The disk tier is optional with the support of two options -- you can persist data in an external database or keep it in the Ignite native persistence. SSD, Flash, HDD, or Intel Optane operating in the AppDirect Mode can be used as a storage device. - -[Read More](https://ignite.apache.org/arch/multi-tier-storage.html) - -## Ignite Native Persistence - -Even though Apache Ignite is broadly used as a caching layer on top of external databases, it comes with its native persistence - a distributed, ACID, and SQL-compliant disk-based store. The native persistence integrates into the Ignite multi-tier storage as a disk tier that can be turned on to let Ignite store more data on disk than it can cache in memory and to enable fast cluster restarts. - -[Read More](https://ignite.apache.org/arch/persistence.html) - -## ACID Compliance -Data stored in Ignite is ACID-compliant both in memory and on disk, making Ignite a **strongly consistent** system. Ignite transactions work across the network and can span multiple servers. - -[Read More](https://ignite.apache.org/features/transactions.html) - -## ANSI SQL Support -Apache Ignite comes with a ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine that allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or native SQL APIs available for Java, C#, C++, Python, and other programming languages. Ignite supports all DML commands, including SELECT, UPDATE, INSERT, and D
[ignite-extensions] 01/02: Updated broken README file
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a commit to branch ignite-spring-data-all-ext-1.0.0 in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git commit e9c83b06392142b51c36790fd78f44ab9ff8b7bf Author: Denis Magda AuthorDate: Wed May 19 14:49:08 2021 -0400 Updated broken README file (cherry picked from commit 2614e688a432e393cb9f8b2c5d2470dc2917baf2) --- README.md | 89 --- 1 file changed, 28 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index 345f12a..226a0e0 100644 --- a/README.md +++ b/README.md @@ -1,87 +1,54 @@ -# Apache Ignite +# Apache Ignite Extensions -https://ignite.apache.org/";>https://ignite.apache.org/images/logo3.png"; hspace="20"/> - -https://ci.ignite.apache.org/viewType.html?buildTypeId=IgniteTests24Java8_RunAll&branch_IgniteTests24Java8=%3Cdefault%3E";>https://ci.ignite.apache.org/app/rest/builds/buildType:(id:IgniteTests24Java8_RunAll)/statusIcon.svg"/> - - -## Getting Started - -For information on how to get started with Apache Ignite, please visit: [Getting Started][getting-started]. - -## Full Documentation - -You can find the full Apache Ignite documentation here: [Full documentation][docs]. +https://ignite.apache.org/";>https://github.com/apache/ignite-website/blob/master/images/ignite_logo_full.svg"; hspace="20"/> +[![Build Status](https://travis-ci.org/apache/ignite.svg?branch=master)](https://travis-ci.org/apache/ignite) +[![GitHub](https://img.shields.io/github/license/apache/ignite?color=blue)](https://www.apache.org/licenses/LICENSE-2.0.html) +[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.ignite/ignite-core/badge.svg)](https://search.maven.org/search?q=org.apache.ignite) +[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi) +![GitHub commit activity](https://img.shields.io/github/commit-activity/m/apache/ignite) +[![Twitter Follow](https://img.shields.io/twitter/follow/ApacheIgnite?style=social)](https://twitter.com/ApacheIgnite) ## What is Apache Ignite? -[Apache Ignite][apache-ignite-homepage] is a memory-centric distributed database, caching, - and processing platform for transactional, analytical, and streaming workloads delivering in-memory - speeds at petabyte scale. +Apache Ignite is a distributed database for high-performance computing with in-memory speed. -https://ignite.apache.org/whatisignite.html";> -https://ignite.apache.org/images/ignite_architecture.png"; width="400px"/> +https://ignite.apache.org";> +https://github.com/apache/ignite-website/blob/master/images/png-diagrams/ignite_cluster.png"; width="400px"/> -## Memory-Centric Storage -Apache Ignite is based on distributed memory-centric architecture that combines the performance and scale of in-memory -computing together with the disk durability and strong consistency in one system. - -The main difference between the memory-centric approach and the traditional disk-centric approach is that the memory -is treated as a fully functional storage, not just as a caching layer, like most databases do. -For example, Apache Ignite can function in a pure in-memory mode, in which case it can be treated as an -In-Memory Database (IMDB) and In-Memory Data Grid (IMDG) in one. +* [Technical Documentation](https://ignite.apache.org/docs/latest/) +* [JavaDoc](https://ignite.apache.org/releases/latest/javadoc/) +* [C#/.NET APIs](https://ignite.apache.org/releases/latest/dotnetdoc/api/) +* [C++ APIs](https://ignite.apache.org/releases/latest/cppdoc/) +* [Scala APIs](https://ignite.apache.org/releases/latest/scaladoc/scalar/index.html) -On the other hand, when persistence is turned on, Ignite begins to function as a memory-centric system where most of -the processing happens in memory, but the data and indexes get persisted to disk. The main difference here -from the traditional disk-centric RDBMS or NoSQL system is that Ignite is strongly consistent, horizontally -scalable, and supports both SQL and key-value processing APIs. +## Multi-Tier Storage -[Read More](https://ignite.apache.org/arch/memorycentric.html) +Apache Ignite is designed to work with memory, disk, and Intel Optane as active storage tiers. The memory tier allows using DRAM and Intel® Optane™ operating in the Memory Mode for data storage and processing needs. The disk tier is optional with the support of two options -- you can persist data in an external database or keep it in the Ignite native persistence. SSD, Flash, HDD, or Intel Optane operating in the AppDirect Mode can be used as a storage device. -## Ignite Persistence +[Read More](https://ignite.apache.org/arch/multi-tier-storage.html) -Ignite Native Persistence is a distributed, ACID, and SQL-compliant **disk store** that transparently integrates with -Ignite mem
[ignite-extensions] branch ignite-spring-data-all-ext-1.0.0 updated (a228476 -> 21a0067)
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a change to branch ignite-spring-data-all-ext-1.0.0 in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git. from a228476 IGNITE-14767 Add examples to spring-data-2.2 module. (#62) new e9c83b0 Updated broken README file new 21a0067 IGNITE-14942 Fixes README description. (#65) The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: README.md | 89 +++ 1 file changed, 10 insertions(+), 79 deletions(-)
[ignite-extensions] 02/02: IGNITE-14942 Fixes README description. (#65)
This is an automated email from the ASF dual-hosted git repository. namelchev pushed a commit to branch ignite-spring-data-all-ext-1.0.0 in repository https://gitbox.apache.org/repos/asf/ignite-extensions.git commit 21a00671f6eea4bcaa239fc6b59aed5230025928 Author: Mikhail Petrov <32207922+ololo3...@users.noreply.github.com> AuthorDate: Fri Jun 25 08:57:41 2021 +0300 IGNITE-14942 Fixes README description. (#65) (cherry picked from commit 63815eb70b508dff955dcf224d9dd42b785b800e) --- README.md | 48 ++-- 1 file changed, 6 insertions(+), 42 deletions(-) diff --git a/README.md b/README.md index 226a0e0..888b30f 100644 --- a/README.md +++ b/README.md @@ -2,53 +2,17 @@ https://ignite.apache.org/";>https://github.com/apache/ignite-website/blob/master/images/ignite_logo_full.svg"; hspace="20"/> -[![Build Status](https://travis-ci.org/apache/ignite.svg?branch=master)](https://travis-ci.org/apache/ignite) [![GitHub](https://img.shields.io/github/license/apache/ignite?color=blue)](https://www.apache.org/licenses/LICENSE-2.0.html) -[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.apache.ignite/ignite-core/badge.svg)](https://search.maven.org/search?q=org.apache.ignite) -[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi) -![GitHub commit activity](https://img.shields.io/github/commit-activity/m/apache/ignite) +[![GitHub release](https://img.shields.io/badge/release-download-brightgreen.svg)](https://ignite.apache.org/download.cgi#extensions) [![Twitter Follow](https://img.shields.io/twitter/follow/ApacheIgnite?style=social)](https://twitter.com/ApacheIgnite) -## What is Apache Ignite? +## What Are Apache Ignite Extensions? -Apache Ignite is a distributed database for high-performance computing with in-memory speed. +Apache Ignite Extensions is a group of integrations between [Apache Ignite](https://ignite.apache.org) and various Java frameworks. +To see the comprehensive list of Apache Ignite Extensions and related documentation, visit the *"Extensions and Integrations"* section of an [Apache Ignite Documentation](https://ignite.apache.org/docs/latest/). - -https://ignite.apache.org";> -https://github.com/apache/ignite-website/blob/master/images/png-diagrams/ignite_cluster.png"; width="400px"/> - - +## Apache Ignite Extensions Publication And Versioning. -* [Technical Documentation](https://ignite.apache.org/docs/latest/) -* [JavaDoc](https://ignite.apache.org/releases/latest/javadoc/) -* [C#/.NET APIs](https://ignite.apache.org/releases/latest/dotnetdoc/api/) -* [C++ APIs](https://ignite.apache.org/releases/latest/cppdoc/) -* [Scala APIs](https://ignite.apache.org/releases/latest/scaladoc/scalar/index.html) +Each Apache Ignite extension is published as a separate Maven artifact and has an independent release lifecycle. Visit the *"Extensions and Integrations"* section of an [Apache Ignite Documentation](https://ignite.apache.org/docs/latest/) to see Maven Artifact ID and available versions for each extension, as well as the corresponding Apache Ignite and extension target compatible versions. -## Multi-Tier Storage - -Apache Ignite is designed to work with memory, disk, and Intel Optane as active storage tiers. The memory tier allows using DRAM and Intel® Optane™ operating in the Memory Mode for data storage and processing needs. The disk tier is optional with the support of two options -- you can persist data in an external database or keep it in the Ignite native persistence. SSD, Flash, HDD, or Intel Optane operating in the AppDirect Mode can be used as a storage device. - -[Read More](https://ignite.apache.org/arch/multi-tier-storage.html) - -## Ignite Native Persistence - -Even though Apache Ignite is broadly used as a caching layer on top of external databases, it comes with its native persistence - a distributed, ACID, and SQL-compliant disk-based store. The native persistence integrates into the Ignite multi-tier storage as a disk tier that can be turned on to let Ignite store more data on disk than it can cache in memory and to enable fast cluster restarts. - -[Read More](https://ignite.apache.org/arch/persistence.html) - -## ACID Compliance -Data stored in Ignite is ACID-compliant both in memory and on disk, making Ignite a **strongly consistent** system. Ignite transactions work across the network and can span multiple servers. - -[Read More](https://ignite.apache.org/features/transactions.html) - -## ANSI SQL Support -Apache Ignite comes with a ANSI-99 compliant, horizontally scalable, and fault-tolerant SQL engine that allows you to interact with Ignite as with a regular SQL database using JDBC, ODBC drivers, or native SQL APIs available for Java, C#, C++, Python, and other programming languages. Ignite supports all DML commands, including SELECT, UPDATE, INSERT, and DELETE q