[ignite-3] branch main updated: IGNITE-15356 Fix code style
This is an automated email from the ASF dual-hosted git repository. ptupitsyn 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 b1a9355 IGNITE-15356 Fix code style b1a9355 is described below commit b1a9355403cbfb19b0409828aacedf3b9de89495 Author: Pavel Tupitsyn AuthorDate: Tue Sep 7 21:16:24 2021 +0300 IGNITE-15356 Fix code style --- .../org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java index 3ae3e85..19554e3 100644 --- a/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java +++ b/modules/runner/src/integrationTest/java/org/apache/ignite/internal/runner/app/PlatformTestNodeRunner.java @@ -92,7 +92,7 @@ public class PlatformTestNodeRunner { String ports = startedNodes.stream() .map(n -> String.valueOf(getPort((IgniteImpl)n))) -.collect(Collectors.joining (",")); +.collect(Collectors.joining(",")); System.out.println("THIN_CLIENT_PORTS=" + ports);
[ignite] branch master updated (2fc861b -> 1791915)
This is an automated email from the ASF dual-hosted git repository. dmagda pushed a change to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git. from 2fc861b IGNITE-15459 Expanded kubernetes examples examples to include full beans. (#9378) add 1791915 IGNITE-15461 Added desctiption for what nodes get near caches (#9379) No new revisions were added by this update. Summary of changes: docs/_docs/configuring-caches/near-cache.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
[ignite] branch master updated: IGNITE-15459 Expanded kubernetes examples examples to include full beans. (#9378)
This is an automated email from the ASF dual-hosted git repository. dmagda 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 2fc861b IGNITE-15459 Expanded kubernetes examples examples to include full beans. (#9378) 2fc861b is described below commit 2fc861b1ab660e5060afd04dee8806d91cd3eb6d Author: IgGusev AuthorDate: Tue Sep 7 17:48:47 2021 +0300 IGNITE-15459 Expanded kubernetes examples examples to include full beans. (#9378) --- docs/_docs/code-snippets/k8s/stateful/node-configuration.xml | 4 ++-- docs/_docs/code-snippets/k8s/stateless/node-configuration.xml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/_docs/code-snippets/k8s/stateful/node-configuration.xml b/docs/_docs/code-snippets/k8s/stateful/node-configuration.xml index 562fb23..6be8a46 100644 --- a/docs/_docs/code-snippets/k8s/stateful/node-configuration.xml +++ b/docs/_docs/code-snippets/k8s/stateful/node-configuration.xml @@ -15,12 +15,12 @@ See the License for the specific language governing permissions and limitations under the License. --> + http://www.springframework.org/schema/beans; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd;> - @@ -55,5 +55,5 @@ - + diff --git a/docs/_docs/code-snippets/k8s/stateless/node-configuration.xml b/docs/_docs/code-snippets/k8s/stateless/node-configuration.xml index 3464595..ae2d484 100644 --- a/docs/_docs/code-snippets/k8s/stateless/node-configuration.xml +++ b/docs/_docs/code-snippets/k8s/stateless/node-configuration.xml @@ -15,13 +15,13 @@ See the License for the specific language governing permissions and limitations under the License. --> + http://www.springframework.org/schema/beans; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd;> - @@ -39,5 +39,5 @@ - +
[ignite-3] 02/02: Wip. Fix multi statement queries.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-15212 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 865b7f70b288fe7a54e5d1d936e42047888d3722 Author: Andrew Mashenkov AuthorDate: Tue Sep 7 17:22:00 2021 +0300 Wip. Fix multi statement queries. --- .../ignite/query/sql/async/AsyncSqlResultSet.java | 5 .../ignite/query/sql/async/AsyncSqlSession.java| 2 +- ...esultSet.java => MultiStatementSubscriber.java} | 16 +++ .../query/sql/reactive/ReactiveSqlResultSet.java | 13 + .../query/sql/reactive/ReactiveSqlSession.java | 31 +- modules/sql/src/test/java/SqlTest.java | 11 ++-- 6 files changed, 44 insertions(+), 34 deletions(-) diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java index 76705ff..8f00ee9 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java @@ -48,6 +48,11 @@ public interface AsyncSqlResultSet { QueryType queryType(); /** + * @return Number of affected rows. + */ +int updateCount(); + +/** * @return Current page rows. */ Iterable currentPage(); diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java index e24e574..1ab6b60 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java @@ -45,7 +45,7 @@ public interface AsyncSqlSession { CompletableFuture executeAsync(SqlStatement statement); /** - * Executes multi-statement SQL query. + * Executes multi-statement SQL query in async way. * * @param query SQL query template. * @param arguments Arguments for the template (optional). diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/MultiStatementSubscriber.java similarity index 66% copy from modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java copy to modules/api/src/main/java/org/apache/ignite/query/sql/reactive/MultiStatementSubscriber.java index befd775..6cda064 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/MultiStatementSubscriber.java @@ -17,23 +17,15 @@ package org.apache.ignite.query.sql.reactive; -import java.sql.ResultSetMetaData; import java.util.concurrent.Flow; import org.apache.ignite.query.sql.SqlRow; /** - * Reactive result set provides methods to subscribe to the query results in reactive way. - * - * Note: It implies to be used with the reactive framework such as ProjectReactor or R2DBC. - * - * @see reactor.core.publisher.Flux - * @see r2dbc + * Dummy subscriber for test purposes. */ -public interface ReactiveSqlResultSet extends Flow.Publisher { +interface MultiStatementSubscriber extends Flow.Subscriber { /** - * Return publisher for the ResultSet's metadata. - * - * @return Metadata publisher. + * Method invoked with a Subscription's next result set. */ -Flow.Publisher metadata(); +void onNextStatement(); } diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java index befd775..461ced5 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java @@ -19,6 +19,7 @@ package org.apache.ignite.query.sql.reactive; import java.sql.ResultSetMetaData; import java.util.concurrent.Flow; +import org.apache.ignite.query.sql.QueryType; import org.apache.ignite.query.sql.SqlRow; /** @@ -30,10 +31,22 @@ import org.apache.ignite.query.sql.SqlRow; * @see r2dbc */ public interface ReactiveSqlResultSet extends Flow.Publisher { + /** * Return publisher for the ResultSet's metadata. * * @return Metadata publisher. */ Flow.Publisher metadata(); + +/** + * @return Number of affected rows. + */ +Flow.Publisher updateCount(); + +/** + * @return Query type. + * @see QueryType + */ +Flow.Publisher queryType(); } diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlSession.java
[ignite-3] branch ignite-15212 updated (7bfbcf3 -> 865b7f7)
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a change to branch ignite-15212 in repository https://gitbox.apache.org/repos/asf/ignite-3.git. from 7bfbcf3 Wip. Fix after review. new 9e748f5 Wip. Fix async multi statement query. new 865b7f7 Wip. Fix multi statement queries. 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: ...iResultSet.java => AsyncSqlMultiResultSet.java} | 7 +- ...{AsyncResultSet.java => AsyncSqlResultSet.java} | 9 ++- .../ignite/query/sql/async/AsyncSqlSession.java| 20 + .../sql/reactive/MultiStatementSubscriber.java}| 18 ++--- .../query/sql/reactive/ReactiveSqlResultSet.java | 13 +++ .../query/sql/reactive/ReactiveSqlSession.java | 31 --- modules/sql/src/test/java/SqlTest.java | 94 -- 7 files changed, 123 insertions(+), 69 deletions(-) rename modules/api/src/main/java/org/apache/ignite/query/sql/async/{AsyncMultiResultSet.java => AsyncSqlMultiResultSet.java} (85%) rename modules/api/src/main/java/org/apache/ignite/query/sql/async/{AsyncResultSet.java => AsyncSqlResultSet.java} (90%) copy modules/api/src/main/java/org/apache/ignite/{schema/PrimaryIndex.java => query/sql/reactive/MultiStatementSubscriber.java} (72%)
[ignite-3] 01/02: Wip. Fix async multi statement query.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-15212 in repository https://gitbox.apache.org/repos/asf/ignite-3.git commit 9e748f5bd2c231e17409b09c790d415a22a213e2 Author: Andrew Mashenkov AuthorDate: Tue Sep 7 17:01:45 2021 +0300 Wip. Fix async multi statement query. --- ...iResultSet.java => AsyncSqlMultiResultSet.java} | 7 +- ...{AsyncResultSet.java => AsyncSqlResultSet.java} | 4 +- .../ignite/query/sql/async/AsyncSqlSession.java| 18 + modules/sql/src/test/java/SqlTest.java | 83 +- 4 files changed, 76 insertions(+), 36 deletions(-) diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncMultiResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlMultiResultSet.java similarity index 85% rename from modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncMultiResultSet.java rename to modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlMultiResultSet.java index 2e724b2..a36c02a 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncMultiResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlMultiResultSet.java @@ -22,7 +22,7 @@ import java.util.concurrent.CompletionStage; /** * Asynchronous multi-statement result set. */ -public interface AsyncMultiResultSet extends AsyncResultSet { +public interface AsyncSqlMultiResultSet extends AsyncSqlResultSet { /** * Returns current statement result index. * @@ -35,10 +35,13 @@ public interface AsyncMultiResultSet extends AsyncResultSet { * * @return Operation future. */ -CompletionStage skipResult(); +CompletionStage skipResult(); /** * @return Whether there are more statement results. */ boolean hasMoreResults(); + +/** {@inheritDoc} */ +@Override CompletionStage fetchNextPage(); } diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java similarity index 94% rename from modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncResultSet.java rename to modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java index de69791..76705ff 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlResultSet.java @@ -26,7 +26,7 @@ import org.apache.ignite.query.sql.SqlRow; /** * Asynchronous result set. */ -public interface AsyncResultSet { +public interface AsyncSqlResultSet { /** * Returns query`s unique identifier. * @@ -57,7 +57,7 @@ public interface AsyncResultSet { * * @return Operation future. */ -CompletionStage fetchNextPage(); +CompletionStage fetchNextPage(); /** * @return Whether there are more pages of results. diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java index 5d34d95..e24e574 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/async/AsyncSqlSession.java @@ -19,9 +19,7 @@ package org.apache.ignite.query.sql.async; import java.util.concurrent.CompletableFuture; import org.apache.ignite.query.sql.SQLException; -import org.apache.ignite.query.sql.SqlMultiResultSet; import org.apache.ignite.query.sql.SqlStatement; -import org.apache.ignite.query.sql.SqlResultSet; import org.jetbrains.annotations.NotNull; /** @@ -36,7 +34,7 @@ public interface AsyncSqlSession { * @return Operation future. * @throws SQLException If failed. */ -CompletableFuture executeAsync(String query, Object... arguments); +CompletableFuture executeAsync(String query, Object... arguments); /** * Executes SQL statement in async way. @@ -44,17 +42,7 @@ public interface AsyncSqlSession { * @return Operation future. * @throws SQLException If failed. */ -CompletableFuture executeAsync(SqlStatement statement); - -/** - * Executes multi-statement SQL query. - * - * @param query SQL query template. - * @param arguments Arguments for the template (optional). - * @return SQL query results set. - * @throws SQLException If failed. - */ -SqlMultiResultSet executeMulti(@NotNull String query, Object... arguments); +CompletableFuture executeAsync(SqlStatement statement); /** * Executes multi-statement SQL query. @@ -64,5 +52,5 @@ public interface AsyncSqlSession { * @return Operation future. * @throws SQLException If failed. */ -CompletableFuture executeMultiAsync(@NotNull
[ignite-3] branch ignite-15212 updated: Wip. Fix after review.
This is an automated email from the ASF dual-hosted git repository. amashenkov pushed a commit to branch ignite-15212 in repository https://gitbox.apache.org/repos/asf/ignite-3.git The following commit(s) were added to refs/heads/ignite-15212 by this push: new 7bfbcf3 Wip. Fix after review. 7bfbcf3 is described below commit 7bfbcf3449bf76ce69f26e562a88d9191d95dfa0 Author: Andrew Mashenkov AuthorDate: Tue Sep 7 15:20:35 2021 +0300 Wip. Fix after review. --- .../ReactiveSqlResultSet.java => QueryType.java} | 27 +++ .../org/apache/ignite/query/sql/SqlResultSet.java | 26 +-- .../org/apache/ignite/query/sql/SqlSession.java| 17 --- .../org/apache/ignite/query/sql/SqlStatement.java | 30 ...syncResultSet.java => AsyncMultiResultSet.java} | 26 --- .../ignite/query/sql/async/AsyncResultSet.java | 18 +++- .../query/sql/reactive/ReactiveSqlResultSet.java | 7 ++- modules/sql/src/test/java/SqlTest.java | 54 +++--- 8 files changed, 116 insertions(+), 89 deletions(-) diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/QueryType.java similarity index 53% copy from modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java copy to modules/api/src/main/java/org/apache/ignite/query/sql/QueryType.java index fbb66e9..b673633 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/reactive/ReactiveSqlResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/QueryType.java @@ -15,26 +15,11 @@ * limitations under the License. */ -package org.apache.ignite.query.sql.reactive; +package org.apache.ignite.query.sql; -import java.sql.ResultSetMetaData; -import java.util.concurrent.Flow; -import org.apache.ignite.query.sql.SqlRow; - -/** - * Reactive resultset provides methods to subscribe to the query results in reactive way. - * - * Note: It implies to be used with the reactive framework such as Reactor or R2DBC. - * - * @see reactor.core.publisher.Flux - * @see r2dbc - */ -// TODO: add links to frameworks, code examples. See SqlTest.SqlRowSubsvriber. -public interface ReactiveSqlResultSet extends Flow.Publisher { -/** - * Return publisher for the ResulSets' metadata. - * - * @return Metadata publisher. - */ -Flow.Publisher metadata(); +/** */ +public enum QueryType { +SELECT, +DML, +DDL } diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/SqlResultSet.java b/modules/api/src/main/java/org/apache/ignite/query/sql/SqlResultSet.java index d69c231..aa03ad9 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/SqlResultSet.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/SqlResultSet.java @@ -27,6 +27,13 @@ import java.util.UUID; */ public interface SqlResultSet extends Iterable, AutoCloseable { /** + * Returns query`s unique identifier. + * + * @return Query id. + */ +UUID queryId(); + +/** * Returns metadata for the results. * * @return ResultSet metadata. @@ -34,22 +41,13 @@ public interface SqlResultSet extends Iterable, AutoCloseable { SqlResultSetMeta metadata(); /** - * Returns query unique id. - * - * @return Query id. + * @return Query type. + * @see QueryType */ -UUID queryId(); - -/** */ QueryType queryType(); -/** */ +/** + * @return Number of affected rows. + */ int updateCount(); - -/** */ -enum QueryType { -SELECT, -DML, -DDL -} } diff --git a/modules/api/src/main/java/org/apache/ignite/query/sql/SqlSession.java b/modules/api/src/main/java/org/apache/ignite/query/sql/SqlSession.java index 9df1832..eb29a66 100644 --- a/modules/api/src/main/java/org/apache/ignite/query/sql/SqlSession.java +++ b/modules/api/src/main/java/org/apache/ignite/query/sql/SqlSession.java @@ -17,6 +17,7 @@ package org.apache.ignite.query.sql; +import java.util.concurrent.TimeUnit; import org.apache.ignite.query.sql.async.AsyncSqlSession; import org.apache.ignite.query.sql.reactive.ReactiveSqlSession; import org.apache.ignite.tx.Transaction; @@ -43,15 +44,19 @@ public interface SqlSession extends AsyncSqlSession, ReactiveSqlSession { /** * Sets default query timeout. + * + * @param timeout Query timeout value. + * @param timeUnit Timeunit. */ -void defaultTimeout(int timeout); +void defaultTimeout(int timeout, TimeUnit timeUnit); /** * Gets default query timeout. * + * @param timeUnit Timeunit. * @return Default query timeout. */ -long defaultTimeout(); +long defaultTimeout(TimeUnit timeUnit); /** * Sets default query schema. @@ -96,13 +101,13 @@ public interface SqlSession extends AsyncSqlSession, ReactiveSqlSession {
[ignite-3] 02/02: IGNITE-15454 Fixed hanging test SchemaChangeTableViewTest. Fixes #318
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 commit 2a26649b48c4b871ae81fd8bce51d80d5c4afdd9 Author: Kirill Gusakov AuthorDate: Tue Sep 7 10:43:40 2021 +0300 IGNITE-15454 Fixed hanging test SchemaChangeTableViewTest. Fixes #318 Signed-off-by: Slava Koptilin --- .../org/apache/ignite/internal/table/distributed/TableManager.java| 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java index 28961cd..b40c611 100644 --- a/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java +++ b/modules/table/src/main/java/org/apache/ignite/internal/table/distributed/TableManager.java @@ -507,12 +507,12 @@ public class TableManager extends Producer imp .exceptionally(e -> { LOG.error("Failed to upgrade schema for a table [name=" + tblName + ", id=" + tblId + ']', e); -onEvent(TableEvent.ALTER, new TableEventParameters(tblId, tblName), e); +onEvent(TableEvent.ALTER, new TableEventParameters(tblId, tblName, tbl), e); return null; }) .thenRun(() -> -onEvent(TableEvent.ALTER, new TableEventParameters(tblId, tblName), null) +onEvent(TableEvent.ALTER, new TableEventParameters(tblId, tblName, tbl), null) ); schemaMgr.listen(SchemaEvent.CHANGED, new EventListener<>() {
[ignite-3] branch main updated (332092c -> 2a26649)
This is an automated email from the ASF dual-hosted git repository. sk0x50 pushed a change to branch main in repository https://gitbox.apache.org/repos/asf/ignite-3.git. from 332092c IGNITE-15440 Fix some WARNINGS in Maven build (#312) new 88ddff2 IGNITE-15398 Fix bugs in nodes start flow and free some netty resources properly. Fixes #314 new 2a26649 IGNITE-15454 Fixed hanging test SchemaChangeTableViewTest. Fixes #318 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: .../apache/ignite/client/handler/ClientHandlerModule.java | 2 +- .../src/main/java/org/apache/ignite/rest/RestModule.java| 13 - .../java/org/apache/ignite/internal/app/IgniteImpl.java | 6 +++--- .../ignite/internal/table/distributed/TableManager.java | 4 ++-- 4 files changed, 18 insertions(+), 7 deletions(-)
[ignite-3] 01/02: IGNITE-15398 Fix bugs in nodes start flow and free some netty resources properly. Fixes #314
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 commit 88ddff222ab49ecd3397474c012ccc1b7847db84 Author: Mirza Aliev AuthorDate: Tue Sep 7 10:38:59 2021 +0300 IGNITE-15398 Fix bugs in nodes start flow and free some netty resources properly. Fixes #314 Signed-off-by: Slava Koptilin --- .../apache/ignite/client/handler/ClientHandlerModule.java | 2 +- .../src/main/java/org/apache/ignite/rest/RestModule.java| 13 - .../java/org/apache/ignite/internal/app/IgniteImpl.java | 6 +++--- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java index 06ac43e..8e254c1 100644 --- a/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java +++ b/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java @@ -51,7 +51,7 @@ public class ClientHandlerModule implements IgniteComponent { private final IgniteTables igniteTables; /** Netty channel. */ -private Channel channel; +private volatile Channel channel; /** * Constructor. diff --git a/modules/rest/src/main/java/org/apache/ignite/rest/RestModule.java b/modules/rest/src/main/java/org/apache/ignite/rest/RestModule.java index 59d18d1..c8338ae 100644 --- a/modules/rest/src/main/java/org/apache/ignite/rest/RestModule.java +++ b/modules/rest/src/main/java/org/apache/ignite/rest/RestModule.java @@ -79,6 +79,9 @@ public class RestModule implements IgniteComponent { /** Presentation of cluster configuration. */ private final ConfigurationPresentation clusterCfgPresentation; +/** Netty channel. */ +private volatile Channel channel; + /** * Creates a new instance of REST module. * @@ -97,6 +100,9 @@ public class RestModule implements IgniteComponent { /** {@inheritDoc} */ @Override public void start() { +if (channel != null) +throw new IgniteException("RestModule is already started."); + var router = new Router(); router @@ -127,7 +133,7 @@ public class RestModule implements IgniteComponent { (req, resp) -> handleUpdate(req, resp, clusterCfgPresentation) ); -startRestEndpoint(router); +channel = startRestEndpoint(router).channel(); } /** @@ -206,6 +212,11 @@ public class RestModule implements IgniteComponent { /** {@inheritDoc} */ @Override public void stop() throws Exception { +if (channel != null) { +channel.close().await(); + +channel = null; +} } /** diff --git a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java index 0aa136c..d2ce62c 100644 --- a/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java +++ b/modules/runner/src/main/java/org/apache/ignite/internal/app/IgniteImpl.java @@ -323,7 +323,7 @@ public class IgniteImpl implements Ignite { if (explicitStop.get()) { doStopNode(List.of(vaultMgr, nodeCfgMgr, clusterSvc, raftMgr, metaStorageMgr, -clusterCfgMgr, baselineMgr, affinityMgr, schemaMgr, distributedTblMgr, qryEngine, restModule)); +clusterCfgMgr, baselineMgr, affinityMgr, schemaMgr, distributedTblMgr, qryEngine, restModule, clientHandlerModule)); } } @@ -405,7 +405,7 @@ public class IgniteImpl implements Ignite { */ private void doStopNode(@NotNull List startedComponents) { ListIterator beforeStopIter = -startedComponents.listIterator(startedComponents.size() - 1); +startedComponents.listIterator(startedComponents.size()); while (beforeStopIter.hasPrevious()) { IgniteComponent componentToExecBeforeNodeStop = beforeStopIter.previous(); @@ -420,7 +420,7 @@ public class IgniteImpl implements Ignite { } ListIterator stopIter = -startedComponents.listIterator(startedComponents.size() - 1); +startedComponents.listIterator(startedComponents.size()); while (stopIter.hasPrevious()) { IgniteComponent componentToStop = stopIter.previous();