You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by as...@apache.org on 2021/02/10 12:19:33 UTC

[ignite-3] 02/04: IGNITE-13885 Raft client wip.

This is an automated email from the ASF dual-hosted git repository.

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

commit 3d3822abffe69f176204bcdb7c87f3a042b69438
Merge: b248063 bca081e
Author: Alexey Scherbakov <al...@gmail.com>
AuthorDate: Tue Feb 9 20:05:44 2021 +0300

    IGNITE-13885 Raft client wip.

 DEVNOTES.md                                        |   48 +
 check-rules/checkstyle-rules.xml                   |  109 +
 .../checkstyle-suppressions.xml                    |   30 +-
 check-rules/pmd-rules.xml                          |   40 +
 docs/.gitignore                                    |    5 +
 .../simplelogger.properties => docs/Gemfile        |   18 +-
 docs/README.adoc                                   |  252 ++
 docs/_config.yml                                   |   46 +
 .../ignite.properties => docs/_data/toc.yaml       |   10 +-
 docs/_docs/ignite-cli-tool.adoc                    |   39 +
 .../includes/ignite-cli-download-windows.adoc      |   18 +
 docs/_docs/includes/prereqs.adoc                   |   20 +
 docs/_docs/index.adoc                              |   41 +
 docs/_docs/installation/installing-using-exe.adoc  |   37 +
 docs/_docs/quick-start/getting-started-guide.adoc  |  235 ++
 .../_includes/copyright.html                       |   17 +-
 .../_includes/footer.html                          |   17 +-
 .../_includes/header.html                          |   31 +-
 docs/_includes/left-nav.html                       |   88 +
 .../_includes/right-nav.html                       |   16 +-
 .../_includes/section-toc.html                     |   26 +-
 docs/_includes/toc.html                            |   63 +
 docs/_layouts/default.html                         |   72 +
 .../default-config.xml => docs/_layouts/doc.html   |   30 +-
 .../default-config.xml => docs/_layouts/toc.html   |   29 +-
 docs/_plugins/asciidoctor-extensions.rb            |  180 ++
 docs/_sass/callouts.scss                           |   75 +
 docs/_sass/code.scss                               |  115 +
 docs/_sass/docs.scss                               |  238 ++
 docs/_sass/footer.scss                             |   48 +
 docs/_sass/github.scss                             |  223 ++
 docs/_sass/header.scss                             |  374 +++
 docs/_sass/layout.scss                             |   45 +
 docs/_sass/left-nav.scss                           |  109 +
 docs/_sass/right-nav.scss                          |   73 +
 docs/_sass/rouge-base16-solarized.scss             |   99 +
 docs/_sass/text.scss                               |   62 +
 docs/_sass/variables.scss                          |   33 +
 docs/assets/css/asciidoc-pygments.css              |   59 +
 .../assets/css/docs.scss                           |    8 +-
 .../assets/css/styles.scss                         |   17 +-
 docs/assets/images/apple-blob.svg                  |   16 +
 docs/assets/images/arrow-down-white.svg            |    3 +
 docs/assets/images/arrow-down.svg                  |    3 +
 docs/assets/images/background-lines.svg            |   54 +
 docs/assets/images/cancel.svg                      |   11 +
 docs/assets/images/checkmark-green.svg             |    3 +
 docs/assets/images/copy-icon.svg                   |    6 +
 docs/assets/images/cpp.svg                         |    9 +
 docs/assets/images/dev-internal-bg.jpg             |  Bin 0 -> 23014 bytes
 docs/assets/images/dotnet.svg                      |    9 +
 docs/assets/images/edition-ce.svg                  |   16 +
 docs/assets/images/edition-ee.svg                  |   25 +
 docs/assets/images/edition-ue.svg                  |   28 +
 docs/assets/images/events-nav-arrow.svg            |    3 +
 docs/assets/images/feature-easy-installation.svg   |   28 +
 docs/assets/images/feature-fast.svg                |   16 +
 docs/assets/images/feature-reliable.svg            |   25 +
 docs/assets/images/github-gray.svg                 |    3 +
 docs/assets/images/github-white.svg                |    3 +
 docs/assets/images/glowing-box.svg                 |  170 ++
 docs/assets/images/integrations/hibernate.svg      |    6 +
 docs/assets/images/integrations/kafka.svg          |    3 +
 docs/assets/images/integrations/more.svg           |   18 +
 docs/assets/images/integrations/oracle.svg         |    3 +
 docs/assets/images/integrations/osgi.svg           |   17 +
 docs/assets/images/integrations/spark.svg          |    7 +
 docs/assets/images/integrations/spring.svg         |    3 +
 docs/assets/images/java.svg                        |    9 +
 docs/assets/images/left-nav-arrow.svg              |    3 +
 docs/assets/images/lines-bg-1.svg                  |   54 +
 docs/assets/images/lines-bg-2.svg                  |   54 +
 docs/assets/images/lines-bg-3.svg                  |   54 +
 docs/assets/images/lines-bg-4.svg                  |   54 +
 docs/assets/images/menu-icon.svg                   |    3 +
 docs/assets/images/mousepad-blob.svg               |    9 +
 ...piece-of-paper-with-folded-top-right-corner.svg |  117 +
 docs/assets/images/scala.svg                       |   31 +
 docs/assets/images/search.svg                      |   15 +
 docs/assets/images/violent-blob.svg                |   28 +
 docs/assets/images/watermelon-blob.svg             |    9 +
 docs/assets/js/anchor.min.js                       |    9 +
 docs/assets/js/code-copy-to-clipboard.js           |   70 +
 docs/assets/js/code-tabs.js                        |  155 +
 docs/assets/js/docs-menu.js                        |   64 +
 docs/assets/js/index.js                            |   51 +
 docs/assets/js/page-nav.js                         |   37 +
 docs/assets/js/top-navigation.js                   |   92 +
 docs/favicon.ico                                   |  Bin 0 -> 9780 bytes
 .../resources/ignite.properties => docs/run.sh     |    7 +-
 idea/ignite_inspections_teamcity.xml               | 3008 ++++++++++++++++++++
 modules/{cli-demo => }/cli-common/pom.xml          |   19 +-
 .../apache/ignite/cli/common/IgniteCommand.java    |    7 +
 .../apache/ignite/cli/common/package-info.java}    |    7 +-
 modules/cli-demo/cli/ignite.sh                     |   11 -
 .../progressbar/IgniteProgressBarRenderer.java     |   43 -
 .../apache/ignite/cli/CliPathsConfigLoader.java    |   79 -
 .../java/org/apache/ignite/cli/IgnitePaths.java    |   60 -
 .../org/apache/ignite/cli/IgniteProgressBar.java   |   96 -
 .../cli/builtins/config/ConfigurationClient.java   |  110 -
 .../cli/builtins/init/InitIgniteCommand.java       |  141 -
 .../ignite/cli/builtins/module/ModuleManager.java  |  183 --
 .../ignite/cli/builtins/module/ModuleStorage.java  |  120 -
 .../ignite/cli/builtins/node/NodeManager.java      |  245 --
 .../apache/ignite/cli/spec/ConfigCommandSpec.java  |  101 -
 .../apache/ignite/cli/spec/ModuleCommandSpec.java  |  102 -
 .../apache/ignite/cli/spec/NodeCommandSpec.java    |  133 -
 .../cli/src/main/resources/builtin_modules.conf    |   13 -
 .../cli-demo/cli/src/main/resources/logback.xml    |   14 -
 .../apache/ignite/cli/IgniteCliInterfaceTest.java  |  425 ---
 .../ignite/snapshot/cli/SnapshotCommand.java       |   65 -
 .../org.apache.ignite.cli.common.IgniteCommand     |    1 -
 modules/cli-demo/demo-module-all/pom.xml           |   56 -
 modules/cli-demo/pom.xml                           |   90 -
 .../simplelogger.properties => cli/ignite.sh}      |   16 +-
 modules/{cli-demo => }/cli/pom.xml                 |  102 +-
 .../apache/ignite/cli/CliPathsConfigLoader.java    |  131 +
 .../java/org/apache/ignite/cli/CliVersionInfo.java |   23 +-
 .../java/org/apache/ignite/cli/CommandFactory.java |   21 +-
 .../java/org/apache/ignite/cli/ErrorHandler.java   |   28 +-
 .../org/apache/ignite/cli/HelpFactoryImpl.java     |   75 +-
 .../org/apache/ignite/cli/IgniteCLIException.java  |   19 +-
 .../java/org/apache/ignite/cli/IgniteCliApp.java   |   19 +-
 .../java/org/apache/ignite/cli/IgnitePaths.java    |  165 ++
 .../org/apache/ignite/cli/InteractiveWrapper.java  |   81 +-
 .../src/main/java/org/apache/ignite/cli/Table.java |   57 +-
 .../org/apache/ignite/cli/VersionProvider.java     |   20 +-
 .../ignite/cli/builtins/SystemPathResolver.java    |   34 +-
 .../cli/builtins/config/ConfigurationClient.java   |  163 ++
 .../cli/builtins/config/HttpClientFactory.java     |    9 +-
 .../ignite/cli/builtins/config/package-info.java}  |    8 +-
 .../cli/builtins/init/InitIgniteCommand.java       |  202 ++
 .../ignite/cli/builtins/init/package-info.java}    |    8 +-
 .../cli/builtins/module/MavenArtifactResolver.java |  194 +-
 .../cli/builtins/module/MavenCoordinates.java      |   74 +
 .../ignite/cli/builtins/module/ModuleManager.java  |  309 ++
 .../ignite/cli/builtins/module/ModuleRegistry.java |  233 ++
 .../ignite/cli/builtins/module/ResolveResult.java} |   30 +-
 .../builtins/module/StandardModuleDefinition.java  |   36 +-
 .../ignite/cli/builtins/module/package-info.java}  |   18 +-
 .../ignite/cli/builtins/node/NodeManager.java      |  348 +++
 .../ignite/cli/builtins/node/package-info.java}    |    8 +-
 .../apache/ignite/cli/builtins/package-info.java}  |    8 +-
 .../java/org/apache/ignite/cli/package-info.java}  |    8 +-
 .../org/apache/ignite/cli/spec/CategorySpec.java   |    4 +
 .../org/apache/ignite/cli/spec/CommandSpec.java    |    4 +
 .../apache/ignite/cli/spec/ConfigCommandSpec.java  |  141 +
 .../org/apache/ignite/cli/spec/IgniteCliSpec.java  |   82 +-
 .../ignite/cli/spec/InitIgniteCommandSpec.java     |   23 +-
 .../apache/ignite/cli/spec/ModuleCommandSpec.java  |  228 ++
 .../apache/ignite/cli/spec/NodeCommandSpec.java    |  212 ++
 .../org/apache/ignite/cli/spec/SpecAdapter.java    |   30 +-
 .../org/apache/ignite/cli/spec/package-info.java}  |    8 +-
 .../java/org/apache/ignite/cli/ui/ProgressBar.java |  161 ++
 .../org/apache/ignite/cli/ui/TerminalFactory.java} |   28 +-
 .../src/main/resources/builtin_modules.conf}       |   13 +-
 .../cli/src/main/resources/default-config.xml      |    0
 .../src/main/resources/logback.xml}                |   26 +-
 .../cli/src/main/resources/version.properties      |    0
 .../apache/ignite/cli/IgniteCliInterfaceTest.java  |  565 ++++
 .../cli/builtins/init/InitIgniteCommandTest.java   |  139 +
 .../ignite/cli/builtins/init/package-info.java}    |    8 +-
 .../cli/builtins/module/ModuleMangerTest.java      |  148 +
 .../ignite/cli/builtins/module/package-info.java}  |    8 +-
 .../java/org/apache/ignite/cli/package-info.java}  |    8 +-
 .../org/apache/ignite/cli/ui/ProgressBarTest.java  |   79 +
 .../src/test/resources/builtin_modules.conf}       |   18 +-
 .../src/test/resources/logback-test.xml}           |   26 +-
 .../src/test}/resources/version.properties         |    0
 modules/configuration-annotation-processor/pom.xml |   56 +-
 .../processor/internal/AbstractProcessorTest.java  |   10 +-
 .../processor/internal/ConfigSet.java              |    0
 .../processor/internal/HasFieldMatcher.java        |    2 +-
 .../processor/internal/HasMethodMatcher.java       |    2 +-
 .../processor/internal/ITProcessorTest.java}       |   35 +-
 .../processor/internal/ParsedClass.java            |    0
 .../configuration/processor/internal/Types.java    |   17 +
 .../internal/TestConfigurationSchema.java}         |   16 +-
 .../processor/internal/Processor.java              |  453 ++-
 .../sample/CacheConfigurationSchema.java           |    1 +
 .../sample/ClusterWideConfigurationSchema.java     |    1 +
 .../sample/ConstructableTreeNodeTest.java          |  147 +
 ...hema.java => DiscoveryConfigurationSchema.java} |   14 +-
 .../sample/NetworkConfigurationSchema.java}        |   16 +-
 .../sample/TraversableTreeNodeTest.java            |  365 +++
 .../ignite/configuration/sample/UsageTest.java     |   77 +-
 .../sample/storage/ConfigurationChangerTest.java   |  280 ++
 .../sample/storage/TestConfigurationStorage.java   |   98 +
 .../configuration/util/ConfigurationUtilTest.java  |  265 ++
 .../internal/TestConfigurationSchema.java          |   22 -
 modules/configuration/pom.xml                      |   31 +-
 .../ConfigurationChangeException.java}             |   23 +-
 .../ignite/configuration/ConfigurationChanger.java |  245 ++
 .../configuration/ConfigurationRegistry.java}      |   25 +-
 .../apache/ignite/configuration/Configurator.java  |   51 +-
 .../org/apache/ignite/configuration/RootKey.java}  |   15 +-
 .../ignite/configuration/annotation/Value.java     |   10 +-
 .../configuration/internal/DynamicProperty.java    |    3 +-
 .../ignite/configuration/internal/Modifier.java    |    1 -
 .../internal/selector/BaseSelectors.java           |    4 +-
 .../configuration/internal/selector/Selector.java  |    1 -
 .../storage/ConfigurationStorage.java              |   52 +-
 .../ConfigurationStorageListener.java}             |   18 +-
 .../apache/ignite/configuration/storage/Data.java} |   48 +-
 .../configuration/tree/ConfigurationSource.java}   |   38 +-
 .../configuration/tree/ConfigurationVisitor.java   |   52 +
 .../configuration/tree/ConstructableTreeNode.java  |   41 +
 .../ignite/configuration/tree/InnerNode.java       |  122 +
 .../ignite/configuration/tree/NamedListChange.java |   43 +
 .../ignite/configuration/tree/NamedListNode.java   |  117 +
 .../ignite/configuration/tree/NamedListView.java}  |   27 +-
 .../configuration/tree/TraversableTreeNode.java}   |   20 +-
 .../configuration/util/ConfigurationUtil.java      |  344 +++
 .../configuration/util/KeyNotFoundException.java}  |   17 +-
 .../ConfigurationValidationException.java          |   11 +
 .../configuration/validation/FieldValidator.java   |    1 -
 .../configuration/validation/ValidationIssue.java} |    9 +-
 .../src/main/resources/bootstrap-config.json       |    1 -
 modules/{ignite-runner => rest}/pom.xml            |   21 +-
 .../java/org/apache/ignite/rest/ErrorResult.java   |   18 +-
 .../java/org/apache/ignite/rest/RestModule.java    |  156 +-
 .../configuration}/RestConfigurationSchema.java    |    9 +-
 .../presentation/ConfigurationPresentation.java    |   52 +
 .../ignite/rest}/presentation/FormatConverter.java |    7 +-
 .../rest}/presentation/json/JsonConverter.java     |   17 +-
 .../rest/presentation/json/JsonPresentation.java   |   83 +
 .../demo-module-cli => runner}/pom.xml             |   60 +-
 .../java/org/apache/ignite/app/IgniteRunner.java   |   67 +-
 .../ignite/configuration/ConfigurationModule.java  |   38 +-
 .../extended/AutoAdjustConfigurationSchema.java    |    2 +-
 .../extended/BaselineConfigurationSchema.java      |    1 +
 .../extended/DataStorageConfigurationSchema.java   |    1 +
 .../extended/LocalConfigurationSchema.java         |    5 +-
 .../org/apache/ignite/utils/IgniteProperties.java  |    0
 .../src/main/resources/bootstrap-config.json       |   19 +
 .../src/main/resources/ignite.properties           |    0
 .../src/main/resources/simplelogger.properties     |    0
 parent/pom.xml                                     |  411 +++
 pom.xml                                            |  139 +-
 239 files changed, 15276 insertions(+), 3120 deletions(-)

diff --cc pom.xml
index 88faba9,abf5ce6..6320907
--- a/pom.xml
+++ b/pom.xml
@@@ -15,34 -33,95 +33,97 @@@
      <version>3.0.0-SNAPSHOT</version>
      <packaging>pom</packaging>
  
-     <description>Java-based middleware for in-memory processing of big data in a distributed environment.</description>
- 
-     <licenses>
-         <license>
-             <name>The Apache Software License, Version 2.0</name>
-             <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
-         </license>
-     </licenses>
- 
-     <properties>
-         <maven.compiler.release>11</maven.compiler.release>
-     </properties>
- 
-     <dependencies>
-         <dependency>
-             <groupId>org.junit.jupiter</groupId>
-             <artifactId>junit-jupiter-engine</artifactId>
-             <version>5.6.2</version>
-             <scope>test</scope>
-         </dependency>
-     </dependencies>
- 
      <modules>
+         <module>modules/cli</module>
+         <module>modules/cli-common</module>
          <module>modules/configuration</module>
          <module>modules/configuration-annotation-processor</module>
-         <module>modules/ignite-runner</module>
-         <module>modules/cli-demo</module>
-         <module>modules/raft</module>
+         <module>modules/rest</module>
+         <module>modules/runner</module>
 +        <module>modules/raft-client</module>
++        <module>modules/raft</module>
      </modules>
+ 
+     <build>
+         <plugins>
+             <!--
+               This plugin is used for checking that all files in project are compliant with target licenses headers.
+               Exclusions are possible, but every exclusion should have it's own motivated comment and/or issue key.
+             -->
+             <plugin>
+                 <groupId>org.apache.rat</groupId>
+                 <artifactId>apache-rat-plugin</artifactId>
+                 <configuration>
+                     <addDefaultLicenseMatchers>true</addDefaultLicenseMatchers>
+                     <licenses>
+                         <license implementation="org.apache.rat.analysis.license.FullTextMatchingLicense">
+                             <licenseFamilyCategory>IAL20</licenseFamilyCategory>
+                             <licenseFamilyName>Ignite Apache License 2.0</licenseFamilyName>
+                             <fullText>
+                                 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.
+                             </fullText>
+                         </license>
+                     </licenses>
+                     <licenseFamilies>
+                         <licenseFamily implementation="org.apache.rat.license.SimpleLicenseFamily">
+                             <familyName>Ignite Apache License 2.0</familyName>
+                         </licenseFamily>
+                     </licenseFamilies>
+                     <excludeSubProjects>false</excludeSubProjects>
+                     <excludes>
+                         <exclude>**/target/**</exclude> <!-- All generated files -->
+                         <exclude>**/*.md</exclude> <!-- Markdown files -->
+                         <exclude>docs/assets/images/**</exclude> <!-- SVG images are XML files, but they cannot have license header -->
+                         <exclude>docs/assets/js/anchor.min.js</exclude> <!-- Distributed under the MIT license. The original license header is badly formatted -->
+                         <exclude>**/*.json</exclude> <!-- Files in JSON format -->
+                         <exclude>modules/cli/src/**/resources//builtin_modules.conf</exclude> <!-- CLI configuration files -->
+                         <exclude>modules/configuration-annotation-processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor</exclude> <!-- ? -->
+                     </excludes>
+                 </configuration>
+             </plugin>
+ 
+             <plugin>
+                 <!--
+                   This plugin is used to check the code for coding guidelines
+                 -->
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-checkstyle-plugin</artifactId>
+                 <configuration>
+                     <sourceDirectories>
+                         <sourceDirectory>${project.build.sourceDirectory}</sourceDirectory>
+                         <sourceDirectory>${project.build.testSourceDirectory}</sourceDirectory>
+                     </sourceDirectories>
+                     <consoleOutput>true</consoleOutput>
+                     <logViolationsToConsole>true</logViolationsToConsole>
+                     <failsOnError>true</failsOnError>
+                     <failOnViolation>true</failOnViolation>
+                     <outputFile>${project.build.directory}/checkstyle.xml</outputFile>
+                     <configLocation>${project.basedir}/check-rules/checkstyle-rules.xml</configLocation>
+                     <suppressionsLocation>${project.basedir}/check-rules/checkstyle-suppressions.xml</suppressionsLocation>
+                     <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                     <excludes>**/generated/**/*</excludes>
+                 </configuration>
+                 <dependencies>
+                     <dependency>
+                         <groupId>com.puppycrawl.tools</groupId>
+                         <artifactId>checkstyle</artifactId>
+                         <version>${checkstyle.puppycrawl.version}</version>
+                     </dependency>
+                 </dependencies>
+             </plugin>
+         </plugins>
+     </build>
  </project>