[jira] [Commented] (IGNITE-15208) Remove unnecessary rebalance order classes for exchange thread

2021-08-06 Thread Maxim Muzafarov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17395003#comment-17395003
 ] 

Maxim Muzafarov commented on IGNITE-15208:
--

Merged to the master branch. Thank you for the review.

> Remove unnecessary rebalance order classes for exchange thread
> --
>
> Key: IGNITE-15208
> URL: https://issues.apache.org/jira/browse/IGNITE-15208
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> Some pieces of code related to the ordering of cache groups for the rebalance 
> procedure can be removed. These parts of the code have been written to 
> support Ignite under java 7 and no more actual.
> E.g. 
> {code}
> for (Map.Entry e : 
> assignsMap.entrySet()) {
> int grpId = e.getKey();
> CacheGroupContext grp = cctx.cache().cacheGroup(grpId);
> CacheRebalanceOrder order = new CacheRebalanceOrder(
> grp.config().getRebalanceOrder(),
> grp.config().getRebalanceMode());
> if (orderMap.get(order) == null)
> orderMap.put(order, new ArrayList(size));
> orderMap.get(order).add(grpId);
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15224) Thin 3.0: Table API

2021-08-06 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394983#comment-17394983
 ] 

Pavel Tupitsyn commented on IGNITE-15224:
-

Merged to main: ab4a585c4fbc5b7df81011fc3f72bf10254dde66

> Thin 3.0: Table API
> ---
>
> Key: IGNITE-15224
> URL: https://issues.apache.org/jira/browse/IGNITE-15224
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Implement all Table API operations in thin client.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Reopened] (IGNITE-14907) testLearnerServices is flaky

2021-08-06 Thread Pavel Tupitsyn (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn reopened IGNITE-14907:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> testLearnerServices is flaky
> 
>
> Key: IGNITE-14907
> URL: https://issues.apache.org/jira/browse/IGNITE-14907
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> https://ci.ignite.apache.org/viewLog.html?buildId=6049184&buildTypeId=ignite3_Test_IntegrationTests_IntegrationTests



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14907) testLearnerServices is flaky

2021-08-06 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-14907?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394980#comment-17394980
 ] 

Pavel Tupitsyn commented on IGNITE-14907:
-

Still fails sometimes 
https://ci.ignite.apache.org/test/-2411513962840956295?currentProjectId=ignite3_Test_IntegrationTests

> testLearnerServices is flaky
> 
>
> Key: IGNITE-14907
> URL: https://issues.apache.org/jira/browse/IGNITE-14907
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexey Scherbakov
>Assignee: Alexey Scherbakov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>
> https://ci.ignite.apache.org/viewLog.html?buildId=6049184&buildTypeId=ignite3_Test_IntegrationTests_IntegrationTests



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15224) Thin 3.0: Table API

2021-08-06 Thread Igor Sapego (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15224?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394949#comment-17394949
 ] 

Igor Sapego commented on IGNITE-15224:
--

[~ptupitsyn] looks good to me.

> Thin 3.0: Table API
> ---
>
> Key: IGNITE-15224
> URL: https://issues.apache.org/jira/browse/IGNITE-15224
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-alpha3
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement all Table API operations in thin client.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15270) Fix rebalance test

2021-08-06 Thread Mikhail Filatov (Jira)
Mikhail Filatov created IGNITE-15270:


 Summary: Fix rebalance test
 Key: IGNITE-15270
 URL: https://issues.apache.org/jira/browse/IGNITE-15270
 Project: Ignite
  Issue Type: Task
Reporter: Mikhail Filatov
Assignee: Mikhail Filatov


Ducktape rebalance test don't work on dev version because it tries to read 
cache statistics on deactivated cluster.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15208) Remove unnecessary rebalance order classes for exchange thread

2021-08-06 Thread Vyacheslav Koptilin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394883#comment-17394883
 ] 

Vyacheslav Koptilin commented on IGNITE-15208:
--

Hi [~mmuzaf],

The patch looks good to me. Thank you for your efforts!

> Remove unnecessary rebalance order classes for exchange thread
> --
>
> Key: IGNITE-15208
> URL: https://issues.apache.org/jira/browse/IGNITE-15208
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Some pieces of code related to the ordering of cache groups for the rebalance 
> procedure can be removed. These parts of the code have been written to 
> support Ignite under java 7 and no more actual.
> E.g. 
> {code}
> for (Map.Entry e : 
> assignsMap.entrySet()) {
> int grpId = e.getKey();
> CacheGroupContext grp = cctx.cache().cacheGroup(grpId);
> CacheRebalanceOrder order = new CacheRebalanceOrder(
> grp.config().getRebalanceOrder(),
> grp.config().getRebalanceMode());
> if (orderMap.get(order) == null)
> orderMap.put(order, new ArrayList(size));
> orderMap.get(order).add(grpId);
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (IGNITE-15208) Remove unnecessary rebalance order classes for exchange thread

2021-08-06 Thread Vyacheslav Koptilin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394119#comment-17394119
 ] 

Vyacheslav Koptilin edited comment on IGNITE-15208 at 8/6/21, 4:34 PM:
---

Hello [~mmuzaf],

I reviewed your PR and left a few comments. Please take a look.
-The main question is removing the "rebalanceDelay" property under this ticket. 
I think it should be done under IGNITE-12662.-


was (Author: slava.koptilin):
Hello [~mmuzaf],

I reviewed your PR and left a few comments. Please take a look.
The main question is removing the "rebalanceDelay" property under this ticket. 
I think it should be done under IGNITE-12662.

> Remove unnecessary rebalance order classes for exchange thread
> --
>
> Key: IGNITE-15208
> URL: https://issues.apache.org/jira/browse/IGNITE-15208
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Some pieces of code related to the ordering of cache groups for the rebalance 
> procedure can be removed. These parts of the code have been written to 
> support Ignite under java 7 and no more actual.
> E.g. 
> {code}
> for (Map.Entry e : 
> assignsMap.entrySet()) {
> int grpId = e.getKey();
> CacheGroupContext grp = cctx.cache().cacheGroup(grpId);
> CacheRebalanceOrder order = new CacheRebalanceOrder(
> grp.config().getRebalanceOrder(),
> grp.config().getRebalanceMode());
> if (orderMap.get(order) == null)
> orderMap.put(order, new ArrayList(size));
> orderMap.get(order).add(grpId);
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15069) Fix flaky test: GridCommandHandlerTest.testSetState

2021-08-06 Thread Vyacheslav Koptilin (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15069?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vyacheslav Koptilin updated IGNITE-15069:
-
Fix Version/s: 2.12

> Fix flaky test: GridCommandHandlerTest.testSetState
> ---
>
> Key: IGNITE-15069
> URL: https://issues.apache.org/jira/browse/IGNITE-15069
> Project: Ignite
>  Issue Type: Test
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Minor
> Fix For: 2.12
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_ControlUtilityZookeeper/6073175?expandedTest=build%3A%28id%3A6073175%29%2Cid%3A22184&showLog=6073175_22184_1623.22131.22184&logFilter=debug
> {code:java}
>   [2021-07-05 06:25:53,131][ERROR][main][root] Test failed 
> [test=GridCommandHandlerTest#testSetState, duration=8469]
>   javax.cache.CacheException: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1277)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2084)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1320)
> at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:868)
> at 
> org.apache.ignite.internal.processors.cache.ClusterStateTestUtils.putSomeDataAndCheck(ClusterStateTestUtils.java:101)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.setState(GridCommandHandlerTest.java:979)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.testSetState(GridCommandHandlerTest.java:947)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
> at java.lang.Thread.run(Thread.java:748)
>   Caused by: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:977)
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:975)
> ... 17 more
>   Caused by: class 
> org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException: 
> Transaction has been rolled back: 
> 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4429)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(GridCacheAdapter.java:2624)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2602)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2581)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1317)
> ... 14 more
>   Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> perform cache operation (cache topology is not valid): part_cache
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxImplicitSingleStateImpl.validateTopology(IgniteTxImplicitSingleStateImpl.java:141)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1105)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:400)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:579)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:376)
> at 
> org.apache.ignite.i

[jira] [Commented] (IGNITE-14956) Implement the VaultManager#bootstrapped method

2021-08-06 Thread Alexander Lapin (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-14956?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394846#comment-17394846
 ] 

Alexander Lapin commented on IGNITE-14956:
--

[~v.pyatkov] LGTM
Could you please also update jira description and summary?

> Implement the VaultManager#bootstrapped method
> --
>
> Key: IGNITE-14956
> URL: https://issues.apache.org/jira/browse/IGNITE-14956
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 3.0.0-alpha3
>Reporter: Aleksandr Polovtcev
>Assignee: Vladislav Pyatkov
>Priority: Minor
>  Labels: ignite-3
>  Time Spent: 3h 40m
>  Remaining Estimate: 0h
>
> Let's rename Vault's  {{bootstrapped}} method to {{bootstrappedWithPDS}} or 
> rename to {{initialized()}} and change the logic in the following way:
>  * returns true if was deployed atop PDS with some configuration included;
>  * returns true if it was bootstrapped with user bootstrap configuration;
>  * returns true if there was no user bootstrap configuration and the default 
> one was used.
> Seems that the second option is better.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14699) Provide Index Queries API

2021-08-06 Thread Andrey Mashenkov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-14699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394840#comment-17394840
 ] 

Andrey Mashenkov commented on IGNITE-14699:
---

I've left few comments to the PR.

> Provide Index Queries API
> -
>
> Key: IGNITE-14699
> URL: https://issues.apache.org/jira/browse/IGNITE-14699
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
>  Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> Phase 1 from:
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-71%3A+Public+API+for+secondary+index+search]
> Some notes about implementation:
> 1. MergeSort reducer of index queries isn't part of this ticket. So this 
> ticket should provide queries for operations: lt, gt, lte, gte, between. See 
> IGNITE-14703.
> 2. There is no lock on Index in moment of querying. So concurrent operations 
> on index can affect result of query. SQL also doesn't lock index.
> 3. QueryParallelism doesn't affects IndexQuery. IndexQuery reuse 
> infrastructure of CacheQuery, and it doesn't use info about segments. It  
> should be done in a separate ticket, providing parallelism by segments. 
> Currently we initialize cursor over segments within same thread sequentially. 
> Segments initialization is fast operation, so there is no much overhead.
> 4. By the same reason IndexQuery fetches index lazy. SQL fetches index when 
> query is initialized, after that user iterates over prepared result. 
> IndexQuery doesn't prepare result. In case of multiple segments, it will slow 
> down IndexQuery while parallelism isn't implemented. From other side, it make 
> result more sensitive for concurrent operations on an index.
>  
> After implementing query parallelism, we can will 3rd issue. 4th should be 
> discussed after that, after some performance testing. 
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Comment Edited] (IGNITE-15069) Fix flaky test: GridCommandHandlerTest.testSetState

2021-08-06 Thread Ivan Daschinsky (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394811#comment-17394811
 ] 

Ivan Daschinsky edited comment on IGNITE-15069 at 8/6/21, 2:52 PM:
---

[~RyzhovSV] Looks good to me, merged to master. Thanks for your contribution!


was (Author: ivandasch):
[~RyzhovSV] Looks good to me, merged to master

> Fix flaky test: GridCommandHandlerTest.testSetState
> ---
>
> Key: IGNITE-15069
> URL: https://issues.apache.org/jira/browse/IGNITE-15069
> Project: Ignite
>  Issue Type: Test
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Minor
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_ControlUtilityZookeeper/6073175?expandedTest=build%3A%28id%3A6073175%29%2Cid%3A22184&showLog=6073175_22184_1623.22131.22184&logFilter=debug
> {code:java}
>   [2021-07-05 06:25:53,131][ERROR][main][root] Test failed 
> [test=GridCommandHandlerTest#testSetState, duration=8469]
>   javax.cache.CacheException: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1277)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2084)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1320)
> at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:868)
> at 
> org.apache.ignite.internal.processors.cache.ClusterStateTestUtils.putSomeDataAndCheck(ClusterStateTestUtils.java:101)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.setState(GridCommandHandlerTest.java:979)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.testSetState(GridCommandHandlerTest.java:947)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
> at java.lang.Thread.run(Thread.java:748)
>   Caused by: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:977)
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:975)
> ... 17 more
>   Caused by: class 
> org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException: 
> Transaction has been rolled back: 
> 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4429)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(GridCacheAdapter.java:2624)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2602)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2581)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1317)
> ... 14 more
>   Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> perform cache operation (cache topology is not valid): part_cache
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxImplicitSingleStateImpl.validateTopology(IgniteTxImplicitSingleStateImpl.java:141)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1105)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:400)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepare

[jira] [Commented] (IGNITE-15069) Fix flaky test: GridCommandHandlerTest.testSetState

2021-08-06 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394758#comment-17394758
 ] 

Ignite TC Bot commented on IGNITE-15069:


{panel:title=Branch: [pull/9252/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9252/head] Base: [master] : New Tests 
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Thin client: Python{color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=6119684]]
* 
{color:#013220}tests.common.test_datatypes.test_put_get_nested_array_objects_async(hinted_value0-value0)
 - PASSED{color}
* 
{color:#013220}tests.common.test_datatypes.test_put_get_nested_array_objects(hinted_value0-value0)
 - PASSED{color}

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6119372&buildTypeId=IgniteTests24Java8_RunAll]

> Fix flaky test: GridCommandHandlerTest.testSetState
> ---
>
> Key: IGNITE-15069
> URL: https://issues.apache.org/jira/browse/IGNITE-15069
> Project: Ignite
>  Issue Type: Test
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Minor
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_ControlUtilityZookeeper/6073175?expandedTest=build%3A%28id%3A6073175%29%2Cid%3A22184&showLog=6073175_22184_1623.22131.22184&logFilter=debug
> {code:java}
>   [2021-07-05 06:25:53,131][ERROR][main][root] Test failed 
> [test=GridCommandHandlerTest#testSetState, duration=8469]
>   javax.cache.CacheException: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1277)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2084)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1320)
> at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:868)
> at 
> org.apache.ignite.internal.processors.cache.ClusterStateTestUtils.putSomeDataAndCheck(ClusterStateTestUtils.java:101)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.setState(GridCommandHandlerTest.java:979)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.testSetState(GridCommandHandlerTest.java:947)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
> at java.lang.Thread.run(Thread.java:748)
>   Caused by: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:977)
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:975)
> ... 17 more
>   Caused by: class 
> org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException: 
> Transaction has been rolled back: 
> 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4429)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(GridCacheAdapter.java:2624)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2602)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2581)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1317)
> ... 14 more
>   Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> perform cache operation (cache to

[jira] [Commented] (IGNITE-15208) Remove unnecessary rebalance order classes for exchange thread

2021-08-06 Thread Maxim Muzafarov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394730#comment-17394730
 ] 

Maxim Muzafarov commented on IGNITE-15208:
--

[~slava.koptilin]
I've fixed your comments. Please, take a look.

> Remove unnecessary rebalance order classes for exchange thread
> --
>
> Key: IGNITE-15208
> URL: https://issues.apache.org/jira/browse/IGNITE-15208
> Project: Ignite
>  Issue Type: Task
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
> Fix For: 2.12
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Some pieces of code related to the ordering of cache groups for the rebalance 
> procedure can be removed. These parts of the code have been written to 
> support Ignite under java 7 and no more actual.
> E.g. 
> {code}
> for (Map.Entry e : 
> assignsMap.entrySet()) {
> int grpId = e.getKey();
> CacheGroupContext grp = cctx.cache().cacheGroup(grpId);
> CacheRebalanceOrder order = new CacheRebalanceOrder(
> grp.config().getRebalanceOrder(),
> grp.config().getRebalanceMode());
> if (orderMap.get(order) == null)
> orderMap.put(order, new ArrayList(size));
> orderMap.get(order).add(grpId);
> }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15023) ClassNotFoundException when using security and trying to set a remote listener

2021-08-06 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394727#comment-17394727
 ] 

Ignite TC Bot commented on IGNITE-15023:


{panel:title=Branch: [pull/9289/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9289/head] Base: [master] : New Tests 
(3)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Security{color} [[tests 
3|https://ci.ignite.apache.org/viewLog.html?buildId=6114661]]
* {color:#013220}SecurityTestSuite: P2PDeploymentSecurityWrapperTest.testListen 
- PASSED{color}
* {color:#013220}SecurityTestSuite: 
P2PDeploymentSecurityWrapperTest.testDeployment - PASSED{color}
* {color:#013220}SecurityTestSuite: 
P2PDeploymentSecurityWrapperTest.testListenAcync - PASSED{color}

{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6114674&buildTypeId=IgniteTests24Java8_RunAll]

> ClassNotFoundException when using security and trying to set a remote listener
> --
>
> Key: IGNITE-15023
> URL: https://issues.apache.org/jira/browse/IGNITE-15023
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Minor
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> ClassNotFoundException when using security and trying to set a remote listener
> the issue in using SecurityAwarePredicate on a client node
> it makes a wrapper over the remote listener so the class is not passed 
> through the Peer Class Loader
> Caused by: java.lang.ClassNotFoundException: 
> examples.StartClientXml$$Lambda$703/253380088
>   at java.lang.Class.forName0(Native Method)
>   at java.lang.Class.forName(Class.java:348)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9064)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.forName(IgniteUtils.java:9002)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(MarshallerContextImpl.java:376)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.descriptorFromCache(OptimizedMarshallerUtils.java:329)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(OptimizedMarshallerUtils.java:274)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readClass(OptimizedObjectInputStream.java:384)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:329)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:205)
>   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
>   at 
> org.apache.ignite.internal.SecurityAwarePredicate.readExternal(SecurityAwarePredicate.java:86)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readExternalizable(OptimizedObjectInputStream.java:560)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedClassDescriptor.read(OptimizedClassDescriptor.java:980)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0(OptimizedObjectInputStream.java:353)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride(OptimizedObjectInputStream.java:205)
>   at java.io.ObjectInputStream.readObject(ObjectInputStream.java:367)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller.unmarshal0(OptimizedMarshaller.java:251)
>   ... 22 more



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-14808) Calcite. RIGHT|FULL Join operations are lost nulls sort ordering.

2021-08-06 Thread Evgeny Stanilovsky (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-14808?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394721#comment-17394721
 ] 

Evgeny Stanilovsky commented on IGNITE-14808:
-

[~korlov] i have no time for that moment to finilize this issue, i`m ok if you 
proceed with it.

> Calcite. RIGHT|FULL Join operations are lost nulls sort ordering.
> -
>
> Key: IGNITE-14808
> URL: https://issues.apache.org/jira/browse/IGNITE-14808
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Evgeny Stanilovsky
>Assignee: Evgeny Stanilovsky
>Priority: Major
>  Labels: calcite, calcite2-required, calcite3-required
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> queries like 
> {noformat}
> FROM integers FULL OUTER JOIN integers2 ON integers.i=integers2.k ORDER BY i 
> NULLS FIRST
> {noformat} will bring to erroneous results. Also some tests from /sql/join* 
> have no ordering thus results are not equal to pattern.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15069) Fix flaky test: GridCommandHandlerTest.testSetState

2021-08-06 Thread Ivan Daschinsky (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15069?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394701#comment-17394701
 ] 

Ivan Daschinsky commented on IGNITE-15069:
--

[~RyzhovSV] Last version looks good to me, let's wait for a TC Bot's visa

> Fix flaky test: GridCommandHandlerTest.testSetState
> ---
>
> Key: IGNITE-15069
> URL: https://issues.apache.org/jira/browse/IGNITE-15069
> Project: Ignite
>  Issue Type: Test
>Reporter: Sergei Ryzhov
>Assignee: Sergei Ryzhov
>Priority: Minor
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_ControlUtilityZookeeper/6073175?expandedTest=build%3A%28id%3A6073175%29%2Cid%3A22184&showLog=6073175_22184_1623.22131.22184&logFilter=debug
> {code:java}
>   [2021-07-05 06:25:53,131][ERROR][main][root] Test failed 
> [test=GridCommandHandlerTest#testSetState, duration=8469]
>   javax.cache.CacheException: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1277)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.cacheException(IgniteCacheProxyImpl.java:2084)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1320)
> at 
> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.put(GatewayProtectedCacheProxy.java:868)
> at 
> org.apache.ignite.internal.processors.cache.ClusterStateTestUtils.putSomeDataAndCheck(ClusterStateTestUtils.java:101)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.setState(GridCommandHandlerTest.java:979)
> at 
> org.apache.ignite.util.GridCommandHandlerTest.testSetState(GridCommandHandlerTest.java:947)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
> at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
> at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
> at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
> at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
> at java.lang.Thread.run(Thread.java:748)
>   Caused by: class 
> org.apache.ignite.transactions.TransactionRollbackException: Transaction has 
> been rolled back: 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:977)
> at 
> org.apache.ignite.internal.util.IgniteUtils$11.apply(IgniteUtils.java:975)
> ... 17 more
>   Caused by: class 
> org.apache.ignite.internal.transactions.IgniteTxRollbackCheckedException: 
> Transaction has been rolled back: 
> 0ed43b47a71--0e1f-597b--0001
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(GridCacheAdapter.java:4429)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(GridCacheAdapter.java:2624)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2602)
> at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2581)
> at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1317)
> ... 14 more
>   Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> perform cache operation (cache topology is not valid): part_cache
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxImplicitSingleStateImpl.validateTopology(IgniteTxImplicitSingleStateImpl.java:141)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1105)
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxLocal.prepareAsync(GridDhtTxLocal.java:400)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:579)
> at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prep

[jira] [Assigned] (IGNITE-15239) Calcite. AssertionError SubQueryRemoveRule.rewriteSome

2021-08-06 Thread Ivan Daschinsky (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15239?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky reassigned IGNITE-15239:


Assignee: Ivan Daschinsky

> Calcite. AssertionError SubQueryRemoveRule.rewriteSome
> --
>
> Key: IGNITE-15239
> URL: https://issues.apache.org/jira/browse/IGNITE-15239
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Evgeny Stanilovsky
>Assignee: Ivan Daschinsky
>Priority: Major
>  Labels: calcite, calcite2-required, calcite3-required
>
> {noformat}
> @Test
> public void test0() throws IgniteInterruptedCheckedException {
> sql("CREATE TABLE TABLE_E061_07_01_08 ( A INT )", true);
> sql("SELECT A FROM TABLE_E061_07_01_08 WHERE A <> ANY ( SELECT 1 )", 
> true);
> }
> {noformat}
> failed with:
> {noformat}
> java.lang.AssertionError
>   at 
> org.apache.calcite.rel.rules.SubQueryRemoveRule.rewriteSome(SubQueryRemoveRule.java:162)
>   at 
> org.apache.calcite.rel.rules.SubQueryRemoveRule.apply(SubQueryRemoveRule.java:92)
>   at 
> org.apache.calcite.rel.rules.SubQueryRemoveRule.matchFilter(SubQueryRemoveRule.java:629)
>   at 
> org.apache.calcite.rel.rules.SubQueryRemoveRule.access$100(SubQueryRemoveRule.java:71)
>   at 
> org.apache.calcite.rel.rules.SubQueryRemoveRule$Config.lambda$static$3(SubQueryRemoveRule.java:693)
>   at 
> org.apache.calcite.rel.rules.SubQueryRemoveRule.onMatch(SubQueryRemoveRule.java:82)
>   at 
> org.apache.calcite.plan.AbstractRelOptPlanner.fireRule(AbstractRelOptPlanner.java:341)
>   at org.apache.calcite.plan.hep.HepPlanner.applyRule(HepPlanner.java:565)
>   at 
> org.apache.calcite.plan.hep.HepPlanner.applyRules(HepPlanner.java:428)
>   at 
> org.apache.calcite.plan.hep.HepPlanner.executeInstruction(HepPlanner.java:282)
>   at 
> org.apache.calcite.plan.hep.HepInstruction$RuleCollection.execute(HepInstruction.java:77)
>   at 
> org.apache.calcite.plan.hep.HepPlanner.executeProgram(HepPlanner.java:208)
>   at 
> org.apache.calcite.plan.hep.HepPlanner.findBestExp(HepPlanner.java:195)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePrograms.lambda$hep$0(IgnitePrograms.java:64)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.IgnitePlanner.transform(IgnitePlanner.java:264)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.PlannerHelper.optimize(PlannerHelper.java:78)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:586)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareSingle(ExecutionServiceImpl.java:560)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.prepareQuery(ExecutionServiceImpl.java:514)
>   at 
> org.apache.ignite.internal.processors.query.calcite.prepare.QueryPlanCacheImpl.queryPlan(QueryPlanCacheImpl.java:84)
>   at 
> org.apache.ignite.internal.processors.query.calcite.exec.ExecutionServiceImpl.executeQuery(ExecutionServiceImpl.java:391)
>   at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessor.query(CalciteQueryProcessor.java:259)
>   at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessorTest.sql(CalciteQueryProcessorTest.java:1169)
>   at 
> org.apache.ignite.internal.processors.query.calcite.CalciteQueryProcessorTest.test0(CalciteQueryProcessorTest.java:1025)
>   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>   at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>   at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>   at java.lang.reflect.Method.invoke(Method.java:498)
>   at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)
>   at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
>   at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)
>   at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
>   at 
> org.apache.ignite.testframework.junits.GridAbstractTest$7.run(GridAbstractTest.java:2432)
>   at java.lang.Thread.run(Thread.java:748)
> {noformat}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15269) Get rid of JSON code in configuration module

2021-08-06 Thread Kirill Tkalenko (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15269?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Kirill Tkalenko reassigned IGNITE-15269:


Assignee: Kirill Tkalenko

> Get rid of JSON code in configuration module
> 
>
> Key: IGNITE-15269
> URL: https://issues.apache.org/jira/browse/IGNITE-15269
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 3.0.0-alpha2
>Reporter: Ivan Bessonov
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: iep-55, ignite-3
> Fix For: 3.0.0-alpha3
>
>
> Right now we have a duplicated logic in configuration framework for HOCON and 
> JSON text representations.
> Given that HOCON is the extension of JSON format, it can both parse and 
> produce valid JSON representation. This means that classes like 
> JsonConfigurationVisitor and others are not required anymore and can be 
> deleted.
> There's only one problem here: REST code that uses JSON conversion is not 
> covered with tests. We have to be sure that it won't be broken after the 
> change. Maybe write our own tests.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15269) Get rid of JSON code in configuration module

2021-08-06 Thread Ivan Bessonov (Jira)
Ivan Bessonov created IGNITE-15269:
--

 Summary: Get rid of JSON code in configuration module
 Key: IGNITE-15269
 URL: https://issues.apache.org/jira/browse/IGNITE-15269
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 3.0.0-alpha2
Reporter: Ivan Bessonov
 Fix For: 3.0.0-alpha3


Right now we have a duplicated logic in configuration framework for HOCON and 
JSON text representations.

Given that HOCON is the extension of JSON format, it can both parse and produce 
valid JSON representation. This means that classes like 
JsonConfigurationVisitor and others are not required anymore and can be deleted.

There's only one problem here: REST code that uses JSON conversion is not 
covered with tests. We have to be sure that it won't be broken after the 
change. Maybe write our own tests.

 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15214) [python] When inserting datetime via query_args, only the date is inserted.

2021-08-06 Thread Fedor Malchikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394691#comment-17394691
 ] 

Fedor Malchikov  commented on IGNITE-15214:
---

Thank you for checking this out.

> [python] When inserting datetime via query_args, only the date is inserted.
> ---
>
> Key: IGNITE-15214
> URL: https://issues.apache.org/jira/browse/IGNITE-15214
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.3.4, python-0.4.0, python-0.5.0, python-0.5.1
>Reporter: Fedor Malchikov 
>Assignee: Igor Sapego
>Priority: Major
>  Labels: python
> Attachments: image-2021-07-30-14-05-48-220.png
>
>
> reproducer: 
> {code:python}
> from pyignite import Client
> from datetime import datetime
> c = Client(username='', password='', use_ssl=False)
> c.connect('localhost', 10800)
> current_time = datetime.now()
> c.sql('create table test(key int primary key, date datetime)')
> c.sql(f"insert into test VALUES (1, ?)", query_args=[current_time])
> c.sql(f"insert into test VALUES (2, '{current_time}')")
> for row in c.sql('SELECT key, date FROM test'):
> date = row
> print(date[0], date[1][0])
> c.close()
> {code}
> output:
> {code:python}
> 1 2021-07-30 00:00:00
> 2 2021-07-30 13:51:22.618000
> {code}
> in dbeaver:
> !image-2021-07-30-14-05-48-220.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Closed] (IGNITE-15214) [python] When inserting datetime via query_args, only the date is inserted.

2021-08-06 Thread Fedor Malchikov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fedor Malchikov  closed IGNITE-15214.
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

Not a bug

> [python] When inserting datetime via query_args, only the date is inserted.
> ---
>
> Key: IGNITE-15214
> URL: https://issues.apache.org/jira/browse/IGNITE-15214
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.3.4, python-0.4.0, python-0.5.0, python-0.5.1
>Reporter: Fedor Malchikov 
>Assignee: Igor Sapego
>Priority: Major
>  Labels: python
> Attachments: image-2021-07-30-14-05-48-220.png
>
>
> reproducer: 
> {code:python}
> from pyignite import Client
> from datetime import datetime
> c = Client(username='', password='', use_ssl=False)
> c.connect('localhost', 10800)
> current_time = datetime.now()
> c.sql('create table test(key int primary key, date datetime)')
> c.sql(f"insert into test VALUES (1, ?)", query_args=[current_time])
> c.sql(f"insert into test VALUES (2, '{current_time}')")
> for row in c.sql('SELECT key, date FROM test'):
> date = row
> print(date[0], date[1][0])
> c.close()
> {code}
> output:
> {code:python}
> 1 2021-07-30 00:00:00
> 2 2021-07-30 13:51:22.618000
> {code}
> in dbeaver:
> !image-2021-07-30-14-05-48-220.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Resolved] (IGNITE-15214) [python] When inserting datetime via query_args, only the date is inserted.

2021-08-06 Thread Fedor Malchikov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Fedor Malchikov  resolved IGNITE-15214.
---
Release Note: Not a problem in ignite.
  Resolution: Not A Bug

> [python] When inserting datetime via query_args, only the date is inserted.
> ---
>
> Key: IGNITE-15214
> URL: https://issues.apache.org/jira/browse/IGNITE-15214
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.3.4, python-0.4.0, python-0.5.0, python-0.5.1
>Reporter: Fedor Malchikov 
>Assignee: Igor Sapego
>Priority: Major
>  Labels: python
> Attachments: image-2021-07-30-14-05-48-220.png
>
>
> reproducer: 
> {code:python}
> from pyignite import Client
> from datetime import datetime
> c = Client(username='', password='', use_ssl=False)
> c.connect('localhost', 10800)
> current_time = datetime.now()
> c.sql('create table test(key int primary key, date datetime)')
> c.sql(f"insert into test VALUES (1, ?)", query_args=[current_time])
> c.sql(f"insert into test VALUES (2, '{current_time}')")
> for row in c.sql('SELECT key, date FROM test'):
> date = row
> print(date[0], date[1][0])
> c.close()
> {code}
> output:
> {code:python}
> 1 2021-07-30 00:00:00
> 2 2021-07-30 13:51:22.618000
> {code}
> in dbeaver:
> !image-2021-07-30-14-05-48-220.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15214) [python] When inserting datetime via query_args, only the date is inserted.

2021-08-06 Thread Fedor Malchikov (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394689#comment-17394689
 ] 

Fedor Malchikov  commented on IGNITE-15214:
---

[~ivandasch] Yes, you're absolutely right. I changed the versions of thin 
clients, as I was sure that the problem was in them. 
If i use ignite as a base , there is really no problem. Very strange, but as it 
is. I'll keep this in mind for the future.

> [python] When inserting datetime via query_args, only the date is inserted.
> ---
>
> Key: IGNITE-15214
> URL: https://issues.apache.org/jira/browse/IGNITE-15214
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.3.4, python-0.4.0, python-0.5.0, python-0.5.1
>Reporter: Fedor Malchikov 
>Assignee: Igor Sapego
>Priority: Major
>  Labels: python
> Attachments: image-2021-07-30-14-05-48-220.png
>
>
> reproducer: 
> {code:python}
> from pyignite import Client
> from datetime import datetime
> c = Client(username='', password='', use_ssl=False)
> c.connect('localhost', 10800)
> current_time = datetime.now()
> c.sql('create table test(key int primary key, date datetime)')
> c.sql(f"insert into test VALUES (1, ?)", query_args=[current_time])
> c.sql(f"insert into test VALUES (2, '{current_time}')")
> for row in c.sql('SELECT key, date FROM test'):
> date = row
> print(date[0], date[1][0])
> c.close()
> {code}
> output:
> {code:python}
> 1 2021-07-30 00:00:00
> 2 2021-07-30 13:51:22.618000
> {code}
> in dbeaver:
> !image-2021-07-30-14-05-48-220.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15266) Python nested object arrays re-serialization failure

2021-08-06 Thread Ivan Daschinsky (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky updated IGNITE-15266:
-
Release Note: Fixed nested object array deserialization

> Python nested object arrays re-serialization failure
> 
>
> Key: IGNITE-15266
> URL: https://issues.apache.org/jira/browse/IGNITE-15266
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.5.1
>Reporter: Bojidar Marinov
>Assignee: Bojidar Marinov
>Priority: Major
>  Labels: python, thin
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When reading an object that contains an object array directly inside another 
> object array from python, and attempting to write it back directly, the 
> following error is raised:
> {code:java}
>   File ".../ignite-python-thin-client/pyignite/utils.py", line 69, in 
> is_hinted
>     return isinstance(value, tuple) and len(value) == 2 and 
> issubclass(value[1], IgniteDataType)
> TypeError: issubclass() arg 1 must be a class
> {code}
>  
> Sample reproduction:
>  
> {code:java}
> from pyignite import Client
> from pyignite.datatypes import ObjectArrayObject
> ignite = Client()
> with ignite.connect('localhost', 10800):
> cache = ignite.get_or_create_cache('example')
> example_nested = ((ObjectArrayObject.OBJECT, [1]), ObjectArrayObject)
> example = (ObjectArrayObject.OBJECT, [example_nested])
> print(example) # (-1, [((-1, [1]),  'pyignite.datatypes.complex.ObjectArrayObject'>)])
> cache.put('example', example)
> print(cache.get('example')) #(3, [(-1, [1])])
> cache.put('example', cache.get('example')) # TypeError: issubclass() arg 
> 1 must be a class
> print(cache.get('example'))
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15266) Python nested object arrays re-serialization failure

2021-08-06 Thread Ivan Daschinsky (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky updated IGNITE-15266:
-
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Python nested object arrays re-serialization failure
> 
>
> Key: IGNITE-15266
> URL: https://issues.apache.org/jira/browse/IGNITE-15266
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.5.1
>Reporter: Bojidar Marinov
>Assignee: Bojidar Marinov
>Priority: Major
>  Labels: python, thin
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When reading an object that contains an object array directly inside another 
> object array from python, and attempting to write it back directly, the 
> following error is raised:
> {code:java}
>   File ".../ignite-python-thin-client/pyignite/utils.py", line 69, in 
> is_hinted
>     return isinstance(value, tuple) and len(value) == 2 and 
> issubclass(value[1], IgniteDataType)
> TypeError: issubclass() arg 1 must be a class
> {code}
>  
> Sample reproduction:
>  
> {code:java}
> from pyignite import Client
> from pyignite.datatypes import ObjectArrayObject
> ignite = Client()
> with ignite.connect('localhost', 10800):
> cache = ignite.get_or_create_cache('example')
> example_nested = ((ObjectArrayObject.OBJECT, [1]), ObjectArrayObject)
> example = (ObjectArrayObject.OBJECT, [example_nested])
> print(example) # (-1, [((-1, [1]),  'pyignite.datatypes.complex.ObjectArrayObject'>)])
> cache.put('example', example)
> print(cache.get('example')) #(3, [(-1, [1])])
> cache.put('example', cache.get('example')) # TypeError: issubclass() arg 
> 1 must be a class
> print(cache.get('example'))
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15266) Python nested object arrays re-serialization failure

2021-08-06 Thread Ivan Daschinsky (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky updated IGNITE-15266:
-
Labels: python thin  (was: python)

> Python nested object arrays re-serialization failure
> 
>
> Key: IGNITE-15266
> URL: https://issues.apache.org/jira/browse/IGNITE-15266
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.5.1
>Reporter: Bojidar Marinov
>Assignee: Bojidar Marinov
>Priority: Major
>  Labels: python, thin
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When reading an object that contains an object array directly inside another 
> object array from python, and attempting to write it back directly, the 
> following error is raised:
> {code:java}
>   File ".../ignite-python-thin-client/pyignite/utils.py", line 69, in 
> is_hinted
>     return isinstance(value, tuple) and len(value) == 2 and 
> issubclass(value[1], IgniteDataType)
> TypeError: issubclass() arg 1 must be a class
> {code}
>  
> Sample reproduction:
>  
> {code:java}
> from pyignite import Client
> from pyignite.datatypes import ObjectArrayObject
> ignite = Client()
> with ignite.connect('localhost', 10800):
> cache = ignite.get_or_create_cache('example')
> example_nested = ((ObjectArrayObject.OBJECT, [1]), ObjectArrayObject)
> example = (ObjectArrayObject.OBJECT, [example_nested])
> print(example) # (-1, [((-1, [1]),  'pyignite.datatypes.complex.ObjectArrayObject'>)])
> cache.put('example', example)
> print(cache.get('example')) #(3, [(-1, [1])])
> cache.put('example', cache.get('example')) # TypeError: issubclass() arg 
> 1 must be a class
> print(cache.get('example'))
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15266) Python nested object arrays re-serialization failure

2021-08-06 Thread Ivan Daschinsky (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky updated IGNITE-15266:
-
Component/s: thin client

> Python nested object arrays re-serialization failure
> 
>
> Key: IGNITE-15266
> URL: https://issues.apache.org/jira/browse/IGNITE-15266
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.5.1
>Reporter: Bojidar Marinov
>Assignee: Bojidar Marinov
>Priority: Major
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When reading an object that contains an object array directly inside another 
> object array from python, and attempting to write it back directly, the 
> following error is raised:
> {code:java}
>   File ".../ignite-python-thin-client/pyignite/utils.py", line 69, in 
> is_hinted
>     return isinstance(value, tuple) and len(value) == 2 and 
> issubclass(value[1], IgniteDataType)
> TypeError: issubclass() arg 1 must be a class
> {code}
>  
> Sample reproduction:
>  
> {code:java}
> from pyignite import Client
> from pyignite.datatypes import ObjectArrayObject
> ignite = Client()
> with ignite.connect('localhost', 10800):
> cache = ignite.get_or_create_cache('example')
> example_nested = ((ObjectArrayObject.OBJECT, [1]), ObjectArrayObject)
> example = (ObjectArrayObject.OBJECT, [example_nested])
> print(example) # (-1, [((-1, [1]),  'pyignite.datatypes.complex.ObjectArrayObject'>)])
> cache.put('example', example)
> print(cache.get('example')) #(3, [(-1, [1])])
> cache.put('example', cache.get('example')) # TypeError: issubclass() arg 
> 1 must be a class
> print(cache.get('example'))
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15266) Python nested object arrays re-serialization failure

2021-08-06 Thread Ivan Daschinsky (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15266?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ivan Daschinsky updated IGNITE-15266:
-
Labels: python  (was: )

> Python nested object arrays re-serialization failure
> 
>
> Key: IGNITE-15266
> URL: https://issues.apache.org/jira/browse/IGNITE-15266
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.5.1
>Reporter: Bojidar Marinov
>Assignee: Bojidar Marinov
>Priority: Major
>  Labels: python
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> When reading an object that contains an object array directly inside another 
> object array from python, and attempting to write it back directly, the 
> following error is raised:
> {code:java}
>   File ".../ignite-python-thin-client/pyignite/utils.py", line 69, in 
> is_hinted
>     return isinstance(value, tuple) and len(value) == 2 and 
> issubclass(value[1], IgniteDataType)
> TypeError: issubclass() arg 1 must be a class
> {code}
>  
> Sample reproduction:
>  
> {code:java}
> from pyignite import Client
> from pyignite.datatypes import ObjectArrayObject
> ignite = Client()
> with ignite.connect('localhost', 10800):
> cache = ignite.get_or_create_cache('example')
> example_nested = ((ObjectArrayObject.OBJECT, [1]), ObjectArrayObject)
> example = (ObjectArrayObject.OBJECT, [example_nested])
> print(example) # (-1, [((-1, [1]),  'pyignite.datatypes.complex.ObjectArrayObject'>)])
> cache.put('example', example)
> print(cache.get('example')) #(3, [(-1, [1])])
> cache.put('example', cache.get('example')) # TypeError: issubclass() arg 
> 1 must be a class
> print(cache.get('example'))
> {code}
>  
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Assigned] (IGNITE-15214) [python] When inserting datetime via query_args, only the date is inserted.

2021-08-06 Thread Igor Sapego (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Igor Sapego reassigned IGNITE-15214:


Assignee: Igor Sapego

> [python] When inserting datetime via query_args, only the date is inserted.
> ---
>
> Key: IGNITE-15214
> URL: https://issues.apache.org/jira/browse/IGNITE-15214
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.3.4, python-0.4.0, python-0.5.0, python-0.5.1
>Reporter: Fedor Malchikov 
>Assignee: Igor Sapego
>Priority: Major
>  Labels: python
> Attachments: image-2021-07-30-14-05-48-220.png
>
>
> reproducer: 
> {code:python}
> from pyignite import Client
> from datetime import datetime
> c = Client(username='', password='', use_ssl=False)
> c.connect('localhost', 10800)
> current_time = datetime.now()
> c.sql('create table test(key int primary key, date datetime)')
> c.sql(f"insert into test VALUES (1, ?)", query_args=[current_time])
> c.sql(f"insert into test VALUES (2, '{current_time}')")
> for row in c.sql('SELECT key, date FROM test'):
> date = row
> print(date[0], date[1][0])
> c.close()
> {code}
> output:
> {code:python}
> 1 2021-07-30 00:00:00
> 2 2021-07-30 13:51:22.618000
> {code}
> in dbeaver:
> !image-2021-07-30-14-05-48-220.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-15214) [python] When inserting datetime via query_args, only the date is inserted.

2021-08-06 Thread Ivan Daschinsky (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-15214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17394671#comment-17394671
 ] 

Ivan Daschinsky commented on IGNITE-15214:
--

[~prom1se] [~isapego] Guys, everything sims to be ok. If you don't mind, I will 
close ticket next day.

> [python] When inserting datetime via query_args, only the date is inserted.
> ---
>
> Key: IGNITE-15214
> URL: https://issues.apache.org/jira/browse/IGNITE-15214
> Project: Ignite
>  Issue Type: Bug
>  Components: python, thin client
>Affects Versions: python-0.3.4, python-0.4.0, python-0.5.0, python-0.5.1
>Reporter: Fedor Malchikov 
>Priority: Major
>  Labels: python
> Attachments: image-2021-07-30-14-05-48-220.png
>
>
> reproducer: 
> {code:python}
> from pyignite import Client
> from datetime import datetime
> c = Client(username='', password='', use_ssl=False)
> c.connect('localhost', 10800)
> current_time = datetime.now()
> c.sql('create table test(key int primary key, date datetime)')
> c.sql(f"insert into test VALUES (1, ?)", query_args=[current_time])
> c.sql(f"insert into test VALUES (2, '{current_time}')")
> for row in c.sql('SELECT key, date FROM test'):
> date = row
> print(date[0], date[1][0])
> c.close()
> {code}
> output:
> {code:python}
> 1 2021-07-30 00:00:00
> 2 2021-07-30 13:51:22.618000
> {code}
> in dbeaver:
> !image-2021-07-30-14-05-48-220.png!



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-13837) Configuration initialization

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-13837?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-13837:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Configuration initialization
> 
>
> Key: IGNITE-13837
> URL: https://issues.apache.org/jira/browse/IGNITE-13837
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Anton Kalashnikov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> It needs to think how the first initialization of node/cluster should look 
> like. What is the format of initial properties(json/hocon etc.)? How should 
> they be handled?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14748) Ordered @NamedConfigValue

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14748?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14748:
-
Ignite Flags: Docs Required

> Ordered @NamedConfigValue
> -
>
> Key: IGNITE-14748
> URL: https://issues.apache.org/jira/browse/IGNITE-14748
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Alexander Belyak
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 8h 20m
>  Remaining Estimate: 0h
>
> Implement some order for @NamedConfigValue fields.
> Imagine that we have some
>  
> {code:java}
> @Config
> public class PKIndexConfigurationSchema {
>     @Value
>     String type;
>     @NamedConfigValue
>     IndexColumnConfigurationSchema columns.
>  
> {code}
> and
>  
> {code:java}
> @Config
> public class IndexColumnConfigurationSchema {
>     @Value
>     String name;
>     @Value
>     boolean asc;
>     @Value
>     boolean affinityCol;
> }
> {code}
>  
> For now we have to use indexes to store such config like:
>  
> {noformat}
> "PK":
>     "type":"PrimaryKey",
>     "columns": {
>     "0": {
>     "name":"REGION",
>     "asc":true,
>     "affinity":true
>     },
>     "1": {
>     "name":"COMPANY",
>     "asc":true,
>     "affinity":false
>     }
>     }
> {noformat}
>  
> because we have to keep it's order.
> But if configuration keep order for @NamedConfigValue it can look like:
>  
> {noformat}
> "PK":
>     "type":"PrimaryKey",
>     "columns": {
>     "REGION": {
>     "asc":true,
>     "affinity":true
>     },
>     "COMPANY": {
>     "asc":true,
>     "affinity":false
>     }
>     }
> {noformat}
> And to allow insert value in the middle it will be nice to have some methods 
> like:
>  * listChange.create(idx, key, consumer(elementChange))
> or
>  * listChange.createAfter(prevKeyOrNull, key, consumer(elementChange))
> in addition to existing:
>  * listChange.create(key, consumer(elementChange))
>  * listChange.update(key, consumer(elementChange))
>  * listChange.delete(key)
> BTW, lets remove listChange.update method.
> h3. Implementation notes
> It would make sense to store order number inside of named list entry. It 
> would look like implicit configuration parameter {{}}, for example. This 
> value will be recalculated on every update.
> Index will be stored in named list itself, entries will not contain it. 
> Reason is simple - named list entries can be used as regular "inner" nodes 
> and we can't distinguish one from the another. That's why index is implicit.
> h3. API notes
> I don't get why we need to remove update method. It would be helpful to 
> update their semantics, like "create" would throw "AlreadyExistsException" or 
> something, update would do similar thing with "KeyNotFound"...



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14791) Support byte[] configuration values

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14791?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14791:
-
Ignite Flags: Docs Required

> Support byte[] configuration values
> ---
>
> Key: IGNITE-14791
> URL: https://issues.apache.org/jira/browse/IGNITE-14791
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 3.0.0-alpha2
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: iep-55, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Right now "smallest" array type that we have is int[], it may not be 
> convenient for some use-cases.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14788) Make all configuration schema fields public

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14788?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14788:
-
Ignite Flags: Docs Required

> Make all configuration schema fields public
> ---
>
> Key: IGNITE-14788
> URL: https://issues.apache.org/jira/browse/IGNITE-14788
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55, ignite-3
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> As a preparation for https://issues.apache.org/jira/browse/IGNITE-14704 we 
> should do it.
> Schema fields with default values must be visible from other packages. 
> Everything else is for uniformity.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14496) Move configuration annotations to configuration-api

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14496?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14496:
-
Ignite Flags: Docs Required

> Move configuration annotations to configuration-api
> ---
>
> Key: IGNITE-14496
> URL: https://issues.apache.org/jira/browse/IGNITE-14496
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 3.0.0-alpha2
>Reporter: Semyon Danilov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> h3. Problem
> In this issue we need to move all API from *ignite-configuration* module into 
> *ignite-api*. This comes with a price, we can't just move our classes. The 
> problem is that code generator generates (in principal) two thing:
>  * schema-based general interfaces:
>  ** {{*View}}
>  ** {{*Change}}
>  ** {{*Configuration}}
>  * schema-based implementations:
>  ** {{*Node}}
>  ** {{*ConfigurationImpl}}
> First set of interfaces depends on +other interfaces only+. This is good and 
> pretty much all we need in resulting *ignite-api* sources.
> Second set of classes requires us to have classes like {{InnerNode}} or 
> {{ConfigurationChanger}} in compile-time dependencies, which is clearly wrong 
> for API. These 2 classes must be in another Java module and that's a problem.
> There are two approaches to solve the problem, I'll try my best to describe 
> both.
> h3. Common problem for both solutions
> *ignite-configuration-annotation-processor* clearly depends on *ignite-api* 
> in our case AND at the same time *ignite-api* should use annotation 
> processing. We have cycling dependency. Right way of resolving it is to 
> create module *ignite-configuration-api*. This shows us that having +all+ API 
> in one module is probably not the best idea.
> h3. Solution 1 - split annotation processor into 2
> There's no doubt that we need processor that will generate first set of 
> interfaces. We already have it. We could create a second annotation processor 
> that will generate implementations into other modules, let's call it 
> *impl-processor*. But Java annotation processing API can't do that directly. 
> If we compile module *B* that depends on module *A*, only classes from *B* 
> will be passed into environment of *impl-processor*. We have to options of 
> how to resolve it:
>  * use libraries like [classgraph|https://github.com/classgraph/classgraph], 
> having *ignite-api* as hardcoded compiler dependency in annotation processor. 
> Works in theory BUT there are issues:
>  ** there's no clear way of distinguishing schemas that you should process in 
> current module from those that you shouldn't;
>  ** *ignite-api* dependency is hardcoded as an optional source of schemas, 
> which is a questionable thing.
>  * include package with desired schemas using maven helper plugin. This 
> approach also has issues:
>  ** now we understand how to configure it, but such configuration will 
> require more manual steps and either separate package for modules schemas or 
> include/exclude list in helper plugin configuration;
>  ** we will have several identical **.class* files in target directories of 
> different modules.
> h3. Solution 2 - leave only one annotation processor and generate everything 
> else at runtime
> This approach requires 0 additional configuration. {{Node}} and 
> {{ConfigurationImpl}} can be generated from schemas when you register new 
> root key. We already have *ignite-bytecode* module so there's no need for 
> additional libraries in dependencies. Usages of the module can be seen in 
> module *ignite-schema*.  I assume that writing tests will be much easier with 
> runtime code generation. Also classes like {{InnerNode}} will probably become 
> package-private. The problems are:
>  * potential problems during debugging. I don't see it as a problem. Given 
> that we'll cover everything with tests, generator code will be pretty stable;
>  * generating code requires time. Doesn't look like it really needs a 
> significant amount of time though;
>  * we can start several nodes in a single JVM so there might be collisions of 
> other issues. The problem is purely technical;
>  * choice of {{ClassLoader}} for generated classes has to be very careful. 
> Situation when generated configuration class cannot be loaded for some reason 
> is unacceptable.
> h3. Solution 3 - just generate implementation classes into api module
>  
> IMHO, second solution is better. The fact that API usage becomes better 
> overweights the fact that we would need to generate different parts of 
> configuration code using different tools.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14657) Add README.md to configuration module

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14657?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14657:
-
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Add README.md to configuration module
> -
>
> Key: IGNITE-14657
> URL: https://issues.apache.org/jira/browse/IGNITE-14657
> Project: Ignite
>  Issue Type: Sub-task
>Affects Versions: 3.0.0-alpha1
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Add README.md to configuration module



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14183) Cross-root validation

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14183?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14183:
-
Ignite Flags: Docs Required

> Cross-root validation
> -
>
> Key: IGNITE-14183
> URL: https://issues.apache.org/jira/browse/IGNITE-14183
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Sergey Chugunov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 4h
>  Remaining Estimate: 0h
>
> Current validation works only inside one configuration root but it is 
> possible that properties from one root depend on properties from another.
> Cross-root validation should be implemented to take these cases into account.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14302) Generated configuration classes break PMD suite in REST module

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14302?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14302:
-
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Generated configuration classes break PMD suite in REST module
> --
>
> Key: IGNITE-14302
> URL: https://issues.apache.org/jira/browse/IGNITE-14302
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> https://ci.ignite.apache.org/buildConfiguration/ignite3_Tests_SanityChecks_Pmd?branch=pull%2F65&buildTypeTab=overview&mode=builds#all-projects



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14182) NamedList remove improvements

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14182?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14182:
-
Ignite Flags: Docs Required

> NamedList remove improvements
> -
>
> Key: IGNITE-14182
> URL: https://issues.apache.org/jira/browse/IGNITE-14182
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Sergey Chugunov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> From API perspective to remove from NamedList we need to nullify a particular 
> element in the list.
> On the Storage level it turns into removing all keys sitting under this 
> particular element.
> Configuration engine should be responsible for cleaning up all necessary keys 
> from Storage. Notifications should be aware of removing from NamedLists as 
> well (e.g. one notification about removing the element from NL instead of 
> bunch of notifications about each NL's element's field).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14181) Configuration to support arrays of primitive types

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14181?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14181:
-
Ignite Flags: Docs Required

> Configuration to support arrays of primitive types
> --
>
> Key: IGNITE-14181
> URL: https://issues.apache.org/jira/browse/IGNITE-14181
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Sergey Chugunov
>Assignee: Semyon Danilov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Configuration should support declaring arrays of primitive types (e.g. arrays 
> of addresses in IpFinder).
> Only primitive types are needed, for user types NamedLists should be used 
> instead.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14094) Configuration storage interface

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14094:
-
Ignite Flags:   (was: Docs Required)

> Configuration storage interface
> ---
>
> Key: IGNITE-14094
> URL: https://issues.apache.org/jira/browse/IGNITE-14094
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Semyon Danilov
>Assignee: Semyon Danilov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> Create configuration storage interface with its probable "metastorage" 
> implementation in mind (meaning string keys and primitive values). Support 
> write retries (based on versioning).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-14094) Configuration storage interface

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-14094?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-14094:
-
Ignite Flags: Docs Required  (was: Docs Required,Release Notes Required)

> Configuration storage interface
> ---
>
> Key: IGNITE-14094
> URL: https://issues.apache.org/jira/browse/IGNITE-14094
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Semyon Danilov
>Assignee: Semyon Danilov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0.0-alpha2
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> Create configuration storage interface with its probable "metastorage" 
> implementation in mind (meaning string keys and primitive values). Support 
> write retries (based on versioning).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-13836) Multiple property roots support

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-13836?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-13836:
-
Ignite Flags: Docs Required

> Multiple property roots support
> ---
>
> Key: IGNITE-13836
> URL: https://issues.apache.org/jira/browse/IGNITE-13836
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Anton Kalashnikov
>Assignee: Sergey Chugunov
>Priority: Major
>  Labels: iep-55
> Fix For: 3.0
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Right now, Configurator is able to manage only one root. It looks like it is 
> not enough. The current idea is to provide the ability to maintain multiple 
> property roots, which allows other modules to create their own roots as 
> needed.
> ex.:
>  * indexing.query.bufferSize
>  * persistence.pageSize
> NB! There is not any local/cluster root because it looks like local/cluster 
> shouldn't be there at all. Perhaps it should be a storage-specific feature 
> rather than a property path specific.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Updated] (IGNITE-15193) Some notifications are lost in configuration listeners.

2021-08-06 Thread Sergey Chugunov (Jira)


 [ 
https://issues.apache.org/jira/browse/IGNITE-15193?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Sergey Chugunov updated IGNITE-15193:
-
Ignite Flags: Docs Required

> Some notifications are lost in configuration listeners.
> ---
>
> Key: IGNITE-15193
> URL: https://issues.apache.org/jira/browse/IGNITE-15193
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-alpha2
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: iep-55, ignite-3
> Fix For: 3.0.0-alpha3
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Consider following test: ConfigurationListenerTest#dataRace()
> {code:java}
> /** */
> @Test
> public void dataRace() throws Exception {
> configuration.change(parent -> parent.changeElements(elements ->
> elements.create("name", e -> {}))
> ).get(1, SECONDS);
> List log = new CopyOnWriteArrayList<>();
> configuration.elements().get("name").listen(ctx -> {
> assertNull(ctx.newValue());
> log.add("deleted");
> return completedFuture(null);
> });
> configuration.change(parent -> parent.changeElements(elements ->
> elements.delete("name"))
> ).get(1, SECONDS);
> assertEquals(List.of("deleted"), log);
> }
> {code}
> It fails due to wrong configuration access in ConfigurationNotificationsUtil.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Created] (IGNITE-15268) Maintenance mode log messages need to be more informative

2021-08-06 Thread Sergey Chugunov (Jira)
Sergey Chugunov created IGNITE-15268:


 Summary: Maintenance mode log messages need to be more informative
 Key: IGNITE-15268
 URL: https://issues.apache.org/jira/browse/IGNITE-15268
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.10
Reporter: Sergey Chugunov
 Fix For: 2.12


When a node enters maintenance mode (for any reason), only basic information is 
printed to the logs:

{code:java}
[INFO]  Node requires maintenance, non-empty set of maintenance tasks is found: 
[corrupted-cache-data-files-task]
{code}

It would be better for end-user to provide a link to some documentation about 
maintenance mode or some help for the particular maintenance situation.

Right now users may be confused what to do next and how to make Ignite node 
leave maintenance mode and restore normal operations.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)