[ignite-3] branch ignite-13618 updated: IGNITE-13618 Corrected a few checks for bytecode module, moved pieces of IEP-54 to module README.md
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)
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
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)
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)
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
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