[ignite-3] branch ignite-13618 updated: IGNITE-13618 Corrected a few checks for bytecode module, moved pieces of IEP-54 to module README.md

2021-03-11 Thread agoncharuk
This is an automated email from the ASF dual-hosted git repository.

agoncharuk pushed a commit to branch ignite-13618
in repository https://gitbox.apache.org/repos/asf/ignite-3.git


The following commit(s) were added to refs/heads/ignite-13618 by this push:
 new 021f826  IGNITE-13618 Corrected a few checks for bytecode module, 
moved pieces of IEP-54 to module README.md
021f826 is described below

commit 021f82695b4faa722133416599510bd071d75df7
Author: Alexey Goncharuk 
AuthorDate: Thu Mar 11 20:48:21 2021 +0300

IGNITE-13618 Corrected a few checks for bytecode module, moved pieces of 
IEP-54 to module README.md
---
 modules/bytecode/README.md |  4 +-
 .../facebook/presto/bytecode/MethodDefinition.java |  8 +-
 .../presto/bytecode/MethodGenerationContext.java   |  2 +-
 modules/schema/README.md   | 50 -
 .../org/apache/ignite/internal/schema/README.md| 87 ++
 .../ignite/internal/schema/package-info.java   | 46 
 6 files changed, 139 insertions(+), 58 deletions(-)

diff --git a/modules/bytecode/README.md b/modules/bytecode/README.md
index 0135e01..3a178c8 100644
--- a/modules/bytecode/README.md
+++ b/modules/bytecode/README.md
@@ -1,4 +1,6 @@
 # Apache Ignite Bytecode module
-Fork of PrestoDB Bytecode module (ver 0.243).
+Fork of [PrestoDB Bytecode module (ver 
0.243)](https://github.com/prestodb/presto/tree/0.243/presto-bytecode).
 * Removed unnecessary guava dependency.
 * Tests migrated from TestNG to JUnit 5.
+
+This module provides a convenient thin wrapper around 
[ASM](https://asm.ow2.io/) library to generate classes at runtime.
\ No newline at end of file
diff --git 
a/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodDefinition.java
 
b/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodDefinition.java
index 0297d9b..1405765 100644
--- 
a/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodDefinition.java
+++ 
b/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodDefinition.java
@@ -11,6 +11,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+
 package com.facebook.presto.bytecode;
 
 import java.util.ArrayList;
@@ -67,12 +68,7 @@ public class MethodDefinition {
 
 this.access = access;
 this.name = name;
-if (returnType != null) {
-this.returnType = returnType;
-}
-else {
-this.returnType = type(void.class);
-}
+this.returnType = returnType != null ? returnType : type(void.class);
 this.parameters = List.copyOf(parameters);
 this.parameterTypes = 
parameters.stream().map(Parameter::getType).collect(Collectors.toList());
 this.parameterAnnotations = parameters.stream().map(p -> new 
ArrayList()).collect(Collectors.toList());
diff --git 
a/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodGenerationContext.java
 
b/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodGenerationContext.java
index ec2a65a..e62da9d 100644
--- 
a/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodGenerationContext.java
+++ 
b/modules/bytecode/src/main/java/com/facebook/presto/bytecode/MethodGenerationContext.java
@@ -91,7 +91,7 @@ public class MethodGenerationContext {
 return true;
 }
 
-private final class ScopeContext {
+private static final class ScopeContext {
 private final Scope scope;
 private final List variables;
 
diff --git a/modules/schema/README.md b/modules/schema/README.md
index e742dc5..e640252 100644
--- a/modules/schema/README.md
+++ b/modules/schema/README.md
@@ -1,7 +1,49 @@
 # Schema module
 
-This module provides implementations for schema configuration API and schema 
management components.
+This module provides API and implementation for schema management components:
 
-* Schema configuration public API implementation.
-* Distributed schema management for processing schema change events at runtime.
-* Schema version management for transparent upgrade stored data purposes 
according to life-schema concept.
\ No newline at end of file
+* Public API for schema definition and evolution
+* Schema manager component that implements necessary machinary to translate 
schema management commands to corresponding
+  metastorage modifications, as well as schema modification event processing 
logic 
+* Necessary logic to build and upgrade tuples - rows of specific schema that 
encode user data in schema-defined format.
+
+## Schema-aware tables
+We require that at any moment in time an Ignite table has only one most recent 
relevant schema. Upon schema 
+modification, we assign a monotonically growing identifier to each version of 
the cache schema. The ordering guarantees 
+are provided by the underlying distributed metastorage. The history of schema 
versions must be kept in the metastorage 

[ignite-3] branch ignite-13618 updated (bf15868 -> 1e608a1)

2021-03-11 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-13618
in repository https://gitbox.apache.org/repos/asf/ignite-3.git.


from bf15868  Add README.md for modules.
 add 1e608a1  Add Flags to tuple.

No new revisions were added by this update.

Summary of changes:
 .../src/main/java/org/apache/ignite/internal/schema/Tuple.java| 8 +++-
 .../java/org/apache/ignite/internal/schema/TupleAssembler.java| 4 ++--
 2 files changed, 9 insertions(+), 3 deletions(-)



[ignite-3] branch main updated: IGNITE-14298 DEVNOTES should contain clear instructions on how to run check-style

2021-03-11 Thread agura
This is an automated email from the ASF dual-hosted git repository.

agura 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 4afdbb3  IGNITE-14298 DEVNOTES should contain clear instructions on 
how to run check-style
4afdbb3 is described below

commit 4afdbb3abd46832dfb7b0b4f7bf1b1b3397470ae
Author: Peter Ivanov 
AuthorDate: Thu Mar 11 18:25:36 2021 +0300

IGNITE-14298 DEVNOTES should contain clear instructions on how to run 
check-style

Signed-off-by: Andrey Gura 
---
 DEVNOTES.md | 164 ++--
 pom.xml |   1 +
 2 files changed, 93 insertions(+), 72 deletions(-)

diff --git a/DEVNOTES.md b/DEVNOTES.md
index 0185e9b..8e2ec9a 100644
--- a/DEVNOTES.md
+++ b/DEVNOTES.md
@@ -1,99 +1,119 @@
-# Setting up and building
+* [Prerequisites](#prerequisites)
+* [Building Ignite](#building-ignite)
+* [Running sanity checks](#running-sanity-checks)
+* [Running tests](#running-tests)
+* [Setting up IntelliJ Idea project](#setting-up-intellij-idea-project)
+* [Code structure](#code-structure)
+* [Release candidate verification](#release-candidate-verification)
+
+
 ## Prerequisites
  * Java 11 SDK
  * Maven 3.6.0+ (for building)
- 
-## Building Ignite
-Ignite follows standard guidelines for multi-module maven projects, so it can 
be easily built using the following 
-command from the project root directory (you can disable the tests when 
building using `-DskipTests`):
-
-mvn clean install [-DskipTests]
-
-Upon completion, you will find the CLI tool under `modules/cli/target` 
directory.
-Use `ignite` on Linux and MacOS, or `ignite.exe` on Windows. 
-
-### Running tests
-To run unit tests only, use the following command:
-
-mvn test
-
-Before running integration tests, make sure to build the project using the 
``package`` target.
-
-To run unit + integration tests, use the following command:
 
-mvn integration-test
 
-To run integration tests only, use the following command:
-
-mvn integration-test -Dskip.surefire.tests=true
-
-### Sanity check targets
-Use the following commands to run generic sanity checks before submitting a PR.
-
-RAT license validation:
-
-mvn validate
-
-Checkstyle code validation:
-
-mvn checkstyle:checkstyle:aggregate
-
-PMD static code analysis
-
-mvn compile pmd:check 
+## Building Ignite
+Ignite follows standard guidelines for multi-module maven projects, so it can 
be easily built using the following command from the project root directory 
(you can disable the tests when building using `-DskipTests`):
+```
+mvn clean package [-DskipTests]
+```
+Upon build completion, CLI tool can be found be under `modules/cli/target` 
directory. Use `ignite` on Linux and MacOS, or `ignite.exe` on Windows.
+
+
+## Running sanity checks
+### Code style
+Code style is checked with [Apache Maven Checkstyle 
Plugin](https://maven.apache.org/plugins/maven-checkstyle-plugin/).
+
+[Checkstyle rules](check-rules/checkstyle-rules.xml).
+
+[Checkstyle suppressions](check-rules/checkstyle-suppressions.xml).
+```
+mvn clean checkstyle:checkstyle-aggregate
+```
+Code style check result is generated at `target/site/checkstyle-aggregate.html`
+
+### License headers
+Project files license headers match with required template is checked with 
[Apache Rat Maven Plugin](https://creadur.apache.org/rat/apache-rat-plugin/).
+```
+mvn clean apache-rat:check -pl :apache-ignite
+```
+License headers check result is generated at `target/rat.txt`
+
+### PMD
+Static code analyzer is run with [Apache Maven PMD 
Plugin](https://maven.apache.org/plugins/maven-pmd-plugin/). Precompilation is 
required 'cause PMD shoud be run on compiled code.
+
+[PMD rules](check-rules/pmd-rules.xml).
+```
+mvn clean compile pmd:check
+```
+PMD check result (only if there are any violations) is generated at 
`target/pmd.xml`.
+
+
+## Running tests
+Run unit tests only:
+```
+mvn test
+```
+Run unit + integration tests:
+```
+mvn integration-test
+```
+Run integration tests only:
+```
+mvn integration-test -Dskip.surefire.tests
+```
 
 
 ## Setting up IntelliJ Idea project
-You can quickly import Ignite project to your IDE using the root `pom.xml` 
file. In IntelliJ, choose `Open Project` 
-from the `Quick Start` box or choose `Open...` from the `File` menu and select 
the root `pom.xml` file.
+You can quickly import Ignite project to your IDE using the root `pom.xml` 
file. In IntelliJ, choose `Open Project` from the `Quick Start` box or choose 
`Open...` from the `File` menu and select the root `pom.xml` file.
 
 After opening the project in IntelliJ, double check that the Java SDK is 
properly configured for the project:
-
  * Open the `File` menu and select `Project Structure...`
  * In the SDKs section, ensure that a 1.11 JDK is selected (create one if none 
exist)
- * In the `Project` section, make sure the project 

[ignite-3] branch ignite-13618 updated (cd0af79 -> bf15868)

2021-03-11 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-13618
in repository https://gitbox.apache.org/repos/asf/ignite-3.git.


from cd0af79  Typos.
 add 81921cb  IGNITE-14182 Implemented naming list configuration elements 
removal. (#58)
 add 9b04fe5  IGNITE-14232 Fixed tests with ANSI on Cygwin and Git Bash #57
 add d50c84c  IGNITE-14279 "sendWithResponse" introduced to NetworkCluster 
interface.
 add edf04a7  IGNITE-14276 Local maven build runs tests while they are 
switched off by skipTests option. Fixes #60
 add 0b09ebc  IGNITE-14193 Default values support for configuration 
framework (#61)
 add f3775d0  IGNITE-14272 Move DEVNOTES.md to proper location, add modules 
readme
 add 9201be1  IGNITE-14302 Fixed PMD check for REST module. (#66)
 add 085e237  Merge branch 'main' into ignite-13618
 add bf15868  Add README.md for modules.

No new revisions were added by this update.

Summary of changes:
 DEVNOTES.md|  55 ++-
 modules/DEVNOTES.md|  47 --
 modules/README.md  |  21 +++
 .../apache/ignite/cli/IgniteCliInterfaceTest.java  | 147 +++---
 .../org/apache/ignite/cli/ui/ProgressBarTest.java  |   7 +-
 .../configuration-annotation-processor/README.md   |   5 +
 .../processor/internal/ConfigSet.java  |  26 +++-
 .../internal/TestConfigurationSchema.java  |   8 +-
 .../processor/internal/Processor.java  | 136 ++--
 .../configuration/processor/internal/Utils.java|   9 ++
 .../internal/util/ConfigurationUtilTest.java   |   2 +-
 .../sample/AutoAdjustConfigurationSchema.java  |   4 +-
 .../sample/CacheConfigurationSchema.java   |   3 +-
 .../sample/ConfigurationArrayTest.java |   2 +-
 .../sample/ConstructableTreeNodeTest.java  |  32 
 .../sample/DiscoveryConfigurationSchema.java   |   4 +-
 .../sample/NodeConfigurationSchema.java|   7 +-
 .../sample/TraversableTreeNodeTest.java|   8 +-
 .../ignite/configuration/sample/UsageTest.java |   7 +
 .../sample/storage/ConfigurationChangerTest.java   |  54 ++-
 .../sample/storage/TestConfigurationStorage.java   |  11 +-
 .../ignite/configuration/ConfigurationChanger.java | 171 ++---
 ...nfigurator.java => NamedConfigurationTree.java} |  31 ++--
 .../configuration/annotation/NamedConfigValue.java |   2 -
 .../ignite/configuration/annotation/Value.java |   8 +-
 .../configuration/internal/ConfigurationNode.java  |   7 +-
 .../internal/DynamicConfiguration.java |  14 +-
 .../configuration/internal/DynamicProperty.java|  12 +-
 .../ignite/configuration/internal/NamedList.java   |  44 --
 .../internal/NamedListConfiguration.java   |  18 +--
 .../internal/util/ConfigurationUtil.java   | 122 ---
 .../configuration/tree/ConstructableTreeNode.java  |   9 ++
 .../ignite/configuration/tree/InnerNode.java   |   3 +
 .../ignite/configuration/tree/NamedListChange.java |   3 +
 .../ignite/configuration/tree/NamedListNode.java   |   7 +-
 modules/network/README.md  |  23 +++
 .../ITScaleCubeNetworkClusterMessagingTest.java|   2 +
 .../org/apache/ignite/network/NetworkCluster.java  |  15 +-
 .../network/scalecube/ScaleCubeNetworkCluster.java |  20 +--
 modules/rest/pom.xml   |   7 +-
 .../configuration/RestConfigurationSchema.java |   5 +-
 .../extended/AutoAdjustConfigurationSchema.java|   5 +-
 .../extended/DataStorageConfigurationSchema.java   |   7 +-
 modules/schema/README.md   |   7 +
 parent/pom.xml |  25 ++-
 45 files changed, 816 insertions(+), 346 deletions(-)
 delete mode 100644 modules/DEVNOTES.md
 create mode 100644 modules/README.md
 create mode 100644 modules/configuration-annotation-processor/README.md
 rename 
modules/configuration/src/main/java/org/apache/ignite/configuration/{PublicConfigurator.java
 => NamedConfigurationTree.java} (54%)
 delete mode 100644 
modules/configuration/src/main/java/org/apache/ignite/configuration/internal/NamedList.java
 create mode 100644 modules/network/README.md
 create mode 100644 modules/schema/README.md



[ignite-3] branch ignite-13748 updated (a714d73 -> 34b9aec)

2021-03-11 Thread amashenkov
This is an automated email from the ASF dual-hosted git repository.

amashenkov pushed a change to branch ignite-13748
in repository https://gitbox.apache.org/repos/asf/ignite-3.git.


from a714d73  Styles.
 add f3775d0  IGNITE-14272 Move DEVNOTES.md to proper location, add modules 
readme
 add 9201be1  IGNITE-14302 Fixed PMD check for REST module. (#66)
 add 42eae67  Merge branch 'main' into ignite-13748
 add 34b9aec  Add README.md for modules.

No new revisions were added by this update.

Summary of changes:
 DEVNOTES.md| 55 +-
 modules/DEVNOTES.md| 47 --
 modules/README.md  | 21 +
 modules/api/README.md  |  4 ++
 .../configuration-annotation-processor/README.md   |  5 ++
 .../processor/internal/Processor.java  | 10 +++-
 .../ignite/configuration/tree/InnerNode.java   |  3 ++
 modules/network/README.md  | 23 +
 modules/rest/pom.xml   |  7 +--
 modules/schema/README.md   | 10 
 10 files changed, 132 insertions(+), 53 deletions(-)
 delete mode 100644 modules/DEVNOTES.md
 create mode 100644 modules/README.md
 create mode 100644 modules/api/README.md
 create mode 100644 modules/configuration-annotation-processor/README.md
 create mode 100644 modules/network/README.md
 create mode 100644 modules/schema/README.md



[ignite] branch sql-calcite updated: IGNITE-14275 SQL. Calcite: fix MapReduce aggregates for hash distribution

2021-03-11 Thread tledkov
This is an automated email from the ASF dual-hosted git repository.

tledkov pushed a commit to branch sql-calcite
in repository https://gitbox.apache.org/repos/asf/ignite.git


The following commit(s) were added to refs/heads/sql-calcite by this push:
 new 73f6775  IGNITE-14275 SQL. Calcite: fix MapReduce aggregates for hash 
distribution
73f6775 is described below

commit 73f6775b4ad7e6469fad9aca40c9ad7749982eb7
Author: Yury Gerzhedovich 
AuthorDate: Thu Mar 11 12:06:23 2021 +0300

IGNITE-14275 SQL. Calcite: fix MapReduce aggregates for hash distribution
---
 .../query/calcite/exec/LogicalRelImplementor.java  |   8 +-
 .../query/calcite/exec/QueryTaskExecutorImpl.java  |   3 -
 .../query/calcite/externalize/RelJson.java |   3 +-
 .../query/calcite/rel/IgniteAggregateBase.java |   5 +
 .../processors/query/calcite/trait/TraitUtils.java |   1 -
 .../calcite/AbstractBasicIntegrationTest.java  |  11 +-
 .../query/calcite/AggregatesIntegrationTest.java   |  22 
 .../query/calcite/MetadataIntegrationTest.java |   4 +
 .../calcite/exec/rel/AbstractExecutionTest.java|   1 -
 .../query/calcite/exec/rel/BaseAggregateTest.java  |   1 -
 .../planner/AbstractAggregatePlannerTest.java  |  88 +
 .../calcite/planner/AggregatePlannerTest.java  | 143 +
 ...gateTest.java => HashAggregatePlannerTest.java} |  44 ++-
 .../query/calcite/planner/PlannerTest.java |   4 -
 .../calcite/planner/SortAggregatePlannerTest.java  |  55 
 .../apache/ignite/testsuites/PlannerTestSuite.java |   6 +-
 16 files changed, 240 insertions(+), 159 deletions(-)

diff --git 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/LogicalRelImplementor.java
 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/LogicalRelImplementor.java
index 6e628e7..0d21530 100644
--- 
a/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/LogicalRelImplementor.java
+++ 
b/modules/calcite/src/main/java/org/apache/ignite/internal/processors/query/calcite/exec/LogicalRelImplementor.java
@@ -37,10 +37,9 @@ import 
org.apache.ignite.internal.processors.query.calcite.exec.RowHandler.RowFa
 import 
org.apache.ignite.internal.processors.query.calcite.exec.exp.ExpressionFactory;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AccumulatorWrapper;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.exp.agg.AggregateType;
-import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.HashAggregateNode;
-import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.SortAggregateNode;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.CorrelatedNestedLoopJoinNode;
 import org.apache.ignite.internal.processors.query.calcite.exec.rel.FilterNode;
+import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.HashAggregateNode;
 import org.apache.ignite.internal.processors.query.calcite.exec.rel.Inbox;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.IndexSpoolNode;
 import org.apache.ignite.internal.processors.query.calcite.exec.rel.LimitNode;
@@ -51,16 +50,16 @@ import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.Node;
 import org.apache.ignite.internal.processors.query.calcite.exec.rel.Outbox;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.ProjectNode;
 import org.apache.ignite.internal.processors.query.calcite.exec.rel.ScanNode;
+import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.SortAggregateNode;
 import org.apache.ignite.internal.processors.query.calcite.exec.rel.SortNode;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.TableSpoolNode;
 import 
org.apache.ignite.internal.processors.query.calcite.exec.rel.UnionAllNode;
 import 
org.apache.ignite.internal.processors.query.calcite.metadata.AffinityService;
 import 
org.apache.ignite.internal.processors.query.calcite.metadata.ColocationGroup;
-import 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteHashAggregate;
-import 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteSortAggregate;
 import 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteCorrelatedNestedLoopJoin;
 import org.apache.ignite.internal.processors.query.calcite.rel.IgniteExchange;
 import org.apache.ignite.internal.processors.query.calcite.rel.IgniteFilter;
+import 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteHashAggregate;
 import org.apache.ignite.internal.processors.query.calcite.rel.IgniteIndexScan;
 import 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteIndexSpool;
 import org.apache.ignite.internal.processors.query.calcite.rel.IgniteLimit;
@@ -76,6 +75,7 @@ import 
org.apache.ignite.internal.processors.query.calcite.rel.IgniteRel;
 import