[jira] [Created] (IGNITE-16520) Refactor IgniteCliInterfaceTest

2022-02-09 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-16520:
--

 Summary: Refactor IgniteCliInterfaceTest
 Key: IGNITE-16520
 URL: https://issues.apache.org/jira/browse/IGNITE-16520
 Project: Ignite
  Issue Type: Improvement
  Components: general
Reporter: Roman Puchkovskiy
 Fix For: 3.0.0-alpha5


IgniteCliInterfaceTest is already pretty long and it will become even longer 
when we add more commands. It makes sense to pull the test classes (like 
Config, Node, etc) to the upper level and make them independent from each other.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16505) Calcite engine. Move row count approximation from ignite-indexing

2022-02-09 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov updated IGNITE-16505:
---
Labels: calcite calcite3-required  (was: calcite calcite2-required 
calcite3-required)

> Calcite engine. Move row count approximation from ignite-indexing 
> --
>
> Key: IGNITE-16505
> URL: https://issues.apache.org/jira/browse/IGNITE-16505
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite, calcite3-required
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Method {{GridH2Table.getRowCountApproximationNoCheck}} was introduced only 
> for the Calcite-based SQL engine. This method is not used by 
> {{ignite-indexing}} module, this method doesn't use almost anything from 
> {{ignite-indexing}} module. It can be easily moved {{ignite-calcite}} module, 
> that allow to reduce dependencies from {{ignite-calcite}} to 
> {{ignite-indexing}} and avoid merge conflicts.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-16505) Calcite engine. Move row count approximation from ignite-indexing

2022-02-09 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov commented on IGNITE-16505:


[~zstan], thanks for the review! Merged to sql-calcite branch.

> Calcite engine. Move row count approximation from ignite-indexing 
> --
>
> Key: IGNITE-16505
> URL: https://issues.apache.org/jira/browse/IGNITE-16505
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite, calcite2-required, calcite3-required
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Method {{GridH2Table.getRowCountApproximationNoCheck}} was introduced only 
> for the Calcite-based SQL engine. This method is not used by 
> {{ignite-indexing}} module, this method doesn't use almost anything from 
> {{ignite-indexing}} module. It can be easily moved {{ignite-calcite}} module, 
> that allow to reduce dependencies from {{ignite-calcite}} to 
> {{ignite-indexing}} and avoid merge conflicts.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16483) Improve ComputeGridMonitor test coverage

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16483:
-
Reviewer: Sergey Chugunov

[~sergeychugunov] Please make code review.

> Improve ComputeGridMonitor test coverage
> 
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.
> Add tests for *ComputeGridMonitor* in case of a client node.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16519) Adding a system view for recently completed compute tasks

2022-02-09 Thread Kirill Tkalenko (Jira)
Kirill Tkalenko created IGNITE-16519:


 Summary: Adding a system view for recently completed compute tasks
 Key: IGNITE-16519
 URL: https://issues.apache.org/jira/browse/IGNITE-16519
 Project: Ignite
  Issue Type: Improvement
  Components: compute
Reporter: Kirill Tkalenko
Assignee: Kirill Tkalenko
 Fix For: 2.13


It would be useful to do a system view to get the latest *N(system property)* 
completed compute tasks.

It is proposed to make it look like the existing system view 
*org.apache.ignite.spi.systemview.view.ComputeTaskView* using a 
*org.apache.ignite.internal.processors.task.monitor.ComputeGridMonitor* (based 
on a ring buffer).





--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16518) BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true flaky

2022-02-09 Thread Kirill Tkalenko (Jira)
Kirill Tkalenko created IGNITE-16518:


 Summary: 
BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true flaky
 Key: IGNITE-16518
 URL: https://issues.apache.org/jira/browse/IGNITE-16518
 Project: Ignite
  Issue Type: Bug
  Components: data structures
Reporter: Kirill Tkalenko
Assignee: Kirill Tkalenko
 Fix For: 2.13


Found that the test sometimes fails: 
*BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true* flaky.

https://ci.ignite.apache.org/project.html?tab=testDetails&projectId=IgniteTests24Java8&testNameId=7031624718556126435&page=1

Explanation

{noformat}
Here’s a tree and a set of operations that lead to undesired results:

   [ 2 ]
/ \
   [ 1 ] [ 3 | 4 ]
   /   \   / |\
[ 1 ] [ 2 ]  [ 3 ] [ 4 ] [ 5 ]

// Remove 2
  [ 1 ]
/   \
 [ ]   [ 3 | 4 ]
  |   /|\
[ 1 ]  [ 3 ] [ 4 ] [ 5 ]

// Remove 5
  [ 1 ]
/   \
 [ ]   [ 3 ]
  |   /\
[ 1 ]  [ 3 ]  [ 4 ]

// Remove 4
[ 1 ]
   / \
 [ ] [ ]
  |   |
[ 1 ]   [ 3 ]

// Remove 3
[ 1 ]
  |
 [ ]
  |
[ 1 ]

// Remove 1
 [ ]
  |
 [ ]
{noformat}

It’s clear that at some point we have a whole level consisting of routing 
nodes. This later leads to somewhat incorrect “cut tree root” operation that 
leaves empty leaf.

Possible solutions

root cutting should probably be recursive and should proceed until root node is 
not empty or is a leaf.

merge operation should work better with routing nodes - every time there’s a 
merge, we should consider the possibility to merge empty neighbor as well.

re-balance data from neighbor when node becomes a router node. Might be 
impossible or very challenging in current implementation.

Option 1 is the easiest one. Given the rarity of the case, I’d go with it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16518) BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true flaky

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16518:
-
Description: 
Found that the test sometimes fails: 
*BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true* flaky.

https://ci.ignite.apache.org/project.html?tab=testDetails&projectId=IgniteTests24Java8&testNameId=7031624718556126435&page=1

Explanation

{noformat}
Here’s a tree and a set of operations that lead to undesired results:

   [ 2 ]
/ \
   [ 1 ] [ 3 | 4 ]
   /   \   / |\
[ 1 ] [ 2 ]  [ 3 ] [ 4 ] [ 5 ]

// Remove 2
  [ 1 ]
/   \
 [ ]   [ 3 | 4 ]
  |   /|\
[ 1 ]  [ 3 ] [ 4 ] [ 5 ]

// Remove 5
  [ 1 ]
/   \
 [ ]   [ 3 ]
  |   /\
[ 1 ]  [ 3 ]  [ 4 ]

// Remove 4
[ 1 ]
   / \
 [ ] [ ]
  |   |
[ 1 ]   [ 3 ]

// Remove 3
[ 1 ]
  |
 [ ]
  |
[ 1 ]

// Remove 1
 [ ]
  |
 [ ]
{noformat}

It’s clear that at some point we have a whole level consisting of routing 
nodes. This later leads to somewhat incorrect “cut tree root” operation that 
leaves empty leaf.

Possible solutions

* root cutting should probably be recursive and should proceed until root node 
is not empty or is a leaf.
* merge operation should work better with routing nodes - every time there’s a 
merge, we should consider the possibility to merge empty neighbor as well.
* re-balance data from neighbor when node becomes a router node. Might be 
impossible or very challenging in current implementation.

Option 1 is the easiest one. Given the rarity of the case, I’d go with it.

  was:
Found that the test sometimes fails: 
*BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true* flaky.

https://ci.ignite.apache.org/project.html?tab=testDetails&projectId=IgniteTests24Java8&testNameId=7031624718556126435&page=1

Explanation

{noformat}
Here’s a tree and a set of operations that lead to undesired results:

   [ 2 ]
/ \
   [ 1 ] [ 3 | 4 ]
   /   \   / |\
[ 1 ] [ 2 ]  [ 3 ] [ 4 ] [ 5 ]

// Remove 2
  [ 1 ]
/   \
 [ ]   [ 3 | 4 ]
  |   /|\
[ 1 ]  [ 3 ] [ 4 ] [ 5 ]

// Remove 5
  [ 1 ]
/   \
 [ ]   [ 3 ]
  |   /\
[ 1 ]  [ 3 ]  [ 4 ]

// Remove 4
[ 1 ]
   / \
 [ ] [ ]
  |   |
[ 1 ]   [ 3 ]

// Remove 3
[ 1 ]
  |
 [ ]
  |
[ 1 ]

// Remove 1
 [ ]
  |
 [ ]
{noformat}

It’s clear that at some point we have a whole level consisting of routing 
nodes. This later leads to somewhat incorrect “cut tree root” operation that 
leaves empty leaf.

Possible solutions

root cutting should probably be recursive and should proceed until root node is 
not empty or is a leaf.

merge operation should work better with routing nodes - every time there’s a 
merge, we should consider the possibility to merge empty neighbor as well.

re-balance data from neighbor when node becomes a router node. Might be 
impossible or very challenging in current implementation.

Option 1 is the easiest one. Given the rarity of the case, I’d go with it.


> BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true flaky
> --
>
> Key: IGNITE-16518
> URL: https://issues.apache.org/jira/browse/IGNITE-16518
> Project: Ignite
>  Issue Type: Bug
>  Components: data structures
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
> Fix For: 2.13
>
>
> Found that the test sometimes fails: 
> *BPlusTreeReuseListPageMemoryImplTest.testMassiveRemove2_true* flaky.
> https://ci.ignite.apache.org/project.html?tab=testDetails&projectId=IgniteTests24Java8&testNameId=7031624718556126435&page=1
> Explanation
> {noformat}
> Here’s a tree and a set of operations that lead to undesired results:
>[ 2 ]
> / \
>[ 1 ] [ 3 | 4 ]
>/   \   / |\
> [ 1 ] [ 2 ]  [ 3 ] [ 4 ] [ 5 ]
> // Remove 2
>   [ 1 ]
> /   \
>  [ ]   [ 3 | 4 ]
>   |   /|\
> [ 1 ]  [ 3 ] [ 4 ] [ 5 ]
> // Remove 5
>   [ 1 ]
> /   \
>  [ ]   [ 3 ]
>   |   /\
> [ 1 ]  [ 3 ]  [ 4 ]
> // Remove 4
> [ 1 ]
>/ \
>  [ ] [ ]
>   |   |
> [ 1 ]   [ 3 ]
> // Remove 3
> [ 1 ]
>   |
>  [ ]
>   |
> [ 1 ]
> // Remove 1
>  [ ]
>   |
>  [ ]
> {noformat}
> It’s clear that at some point we have a whole level consisting of routing 
> nodes. This later leads to somewhat incorrect “cut tree root” operation that 
> leaves empty leaf.
> Possible solutions
> * root cutting should probably be recursive and should proceed until root 
> node is not empty or is a leaf.
> * merge operation should work better with routing nodes - every time there’s 
> a merge, we should consider the possibility to merge empty neighbor as well.
> * re-

[jira] [Commented] (IGNITE-16483) Improve ComputeGridMonitor test coverage

2022-02-09 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-16483:


{panel:title=Branch: [pull/9810/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9810/head] Base: [master] : New Tests 
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Compute (Grid){color} [[tests 
2|https://ci.ignite.apache.org/viewLog.html?buildId=6409982]]
* {color:#013220}IgniteBinaryObjectsComputeGridTestSuite: 
ComputeGridMonitorTest.simpleClientNodeTest - PASSED{color}
* {color:#013220}IgniteBinaryObjectsComputeGridTestSuite: 
ComputeGridMonitorTest.snapshotsClientNodeTest - PASSED{color}

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

> Improve ComputeGridMonitor test coverage
> 
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.
> Add tests for *ComputeGridMonitor* in case of a client node.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16030) Partition reservation for cache queries

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-16030:

Summary: Partition reservation for cache queries  (was: Sync topology and 
affinity on map side of IndexQuery)

> Partition reservation for cache queries
> ---
>
> Key: IGNITE-16030
> URL: https://issues.apache.org/jira/browse/IGNITE-16030
> Project: Ignite
>  Issue Type: Task
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
>
> Currently IndexQuery extract info about primary partitions in runtime for 
> every entry. It can lead to situation that different nodes can run query over 
> different topology versions.
>  
> It's required to sync map side of IndexQuery.
>  
> Fail query if sync isn't successfull. Retry of query isn't part of this 
> ticket.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16030) Partition reservation for cache queries

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-16030:

Description: 
Currently IndexQuery extract info about primary partitions in runtime for every 
entry. It can lead to situation that different nodes can run query over 
different topology versions.

 

It's required to sync map side of IndexQuery.

 

Fail query if sync isn't successfull. Retry of query isn't part of this ticket.

 

Also, ScanQuery / TextQuery should reserve partitions too.

  was:
Currently IndexQuery extract info about primary partitions in runtime for every 
entry. It can lead to situation that different nodes can run query over 
different topology versions.

 

It's required to sync map side of IndexQuery.

 

Fail query if sync isn't successfull. Retry of query isn't part of this ticket.


> Partition reservation for cache queries
> ---
>
> Key: IGNITE-16030
> URL: https://issues.apache.org/jira/browse/IGNITE-16030
> Project: Ignite
>  Issue Type: Task
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
>
> Currently IndexQuery extract info about primary partitions in runtime for 
> every entry. It can lead to situation that different nodes can run query over 
> different topology versions.
>  
> It's required to sync map side of IndexQuery.
>  
> Fail query if sync isn't successfull. Retry of query isn't part of this 
> ticket.
>  
> Also, ScanQuery / TextQuery should reserve partitions too.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16517) Fix documentation for the snapshot restore procedure on different topologyies

2022-02-09 Thread Maxim Muzafarov (Jira)
Maxim Muzafarov created IGNITE-16517:


 Summary: Fix documentation for the snapshot restore procedure on 
different topologyies
 Key: IGNITE-16517
 URL: https://issues.apache.org/jira/browse/IGNITE-16517
 Project: Ignite
  Issue Type: Bug
Reporter: Maxim Muzafarov
Assignee: Maxim Muzafarov
 Fix For: 2.12


https://ignite.apache.org/docs/latest/snapshots/snapshots#restoring-from-snapshot

The *Restore On Cluster of Different Topology* topic needs to be updated father 
the IGNITE-14744 was merged.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16517) Fix documentation for the snapshot restore procedure on different topologyies

2022-02-09 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov updated IGNITE-16517:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Fix documentation for the snapshot restore procedure on different topologyies
> -
>
> Key: IGNITE-16517
> URL: https://issues.apache.org/jira/browse/IGNITE-16517
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maxim Muzafarov
>Assignee: Maxim Muzafarov
>Priority: Major
>  Labels: docuentation
> Fix For: 2.12
>
>
> https://ignite.apache.org/docs/latest/snapshots/snapshots#restoring-from-snapshot
> The *Restore On Cluster of Different Topology* topic needs to be updated 
> father the IGNITE-14744 was merged.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-16494) Query engine allows to insert rows with logically equal compound PK

2022-02-09 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-16494:


{panel:title=Branch: [pull/9808/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9808/head] Base: [master] : New Tests 
(6)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Continuous Query 4{color} [[tests 
6|https://ci.ignite.apache.org/viewLog.html?buildId=6411036]]
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
IgniteInsertNullableDuplicatesSqlTest.testInsertKeyWithNullKeyPartsDefaultCacheApi
 - PASSED{color}
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
IgniteInsertNullableDuplicatesSqlTest.testInsertKeyWithNullKeyParts - 
PASSED{color}
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
IgniteInsertNullableDuplicatesSqlTest.testInsertKeyWithNullKeys - PASSED{color}
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
IgniteInsertNullableDuplicatesSqlTest.testInsertKeyWithNullKeyPartsDefault - 
PASSED{color}
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
IgniteInsertNullableDuplicatesSqlTest.testInsertKeyWithNullKeyParts2 - 
PASSED{color}
* {color:#013220}IgniteCacheQuerySelfTestSuite6: 
IgniteInsertNullableDuplicatesSqlTest.testInsertKeyWhenKeyIsNotSet - 
PASSED{color}

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

> Query engine allows to insert rows with logically equal compound PK
> ---
>
> Key: IGNITE-16494
> URL: https://issues.apache.org/jira/browse/IGNITE-16494
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.11.1
>Reporter: Taras Ledkov
>Assignee: Taras Ledkov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> It's possible now to insert two logically equal yet physically different keys 
> with SQL API into a table, that will bring indexes into inconsistent state.
> For example follow snippet will pass, although it should have fallen on the 
> third statement:
> {code}
> create table test (id1 int, id2 int, val int, constraint primary key(id1, 
> id2));
> insert into test (id1, id2, val) values (1, null, 1);
> insert into test (id1, val) values (1, 1); <-- should fail here because there 
> is already exists such key, but it's
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16516) Fix documentations for TDE

2022-02-09 Thread Maksim Timonin (Jira)
Maksim Timonin created IGNITE-16516:
---

 Summary: Fix documentations for TDE
 Key: IGNITE-16516
 URL: https://issues.apache.org/jira/browse/IGNITE-16516
 Project: Ignite
  Issue Type: Bug
  Components: documentation
Affects Versions: 2.12
Reporter: Maksim Timonin
Assignee: Maksim Timonin
 Fix For: 2.13


Since 2.12 encrypted snapshots are supported, and docs are irrelevant. Also TDE 
is not a beta feature.
 
[https://ignite.apache.org/docs/latest/snapshots/snapshots]
{quote}Encrypted caches are not included in the snapshot.{quote}
 
[https://ignite.apache.org/docs/latest/security/tde]
{quote}No support for snapshots. Snapshots are not encrypted and it’s not 
possible to recover from a snapshot that includes an encrypted table or 
cache.{quote}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-16390) Improvements of event listeners for SqlQueryProcessor

2022-02-09 Thread Denis Chudov (Jira)


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

Denis Chudov reassigned IGNITE-16390:
-

Assignee: Denis Chudov

> Improvements of event listeners for SqlQueryProcessor
> -
>
> Key: IGNITE-16390
> URL: https://issues.apache.org/jira/browse/IGNITE-16390
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> Listeners for SqlQueryProcessor should rely on causality tokens while 
> handling notifications.
> Listeners of SqlQueryProcessor should rely on the causality token futures to 
> finish all the logic that depends on other components or other listeners. 
> Therefore, this logic should be implemented in thenCompose blocks of 
> causality futures.
> The listeners should be aware of the current state of the component and do 
> every action in order to change the current state to the state that the 
> component should have after applying the metastorage update.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-15860) [Extensions] Automated RC preparation and testing at Apache TeamCity

2022-02-09 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov commented on IGNITE-15860:
--

I think prior to this task the following must be prepared in the 
ignite-extension repository:
- create the release guide .md file describing the release process of an Ignite 
extension (e.g. create a new branch for extension, change the version from a 
snapshot to the release one in this branch, build a project using mvn);
- add release scripts (e.g. maven assembly plugin) which will prepare binary, 
sources packages for the module being released (assume that the source package 
of the releases module contains only sources of this module);
- add scripts that will sign binary and sources using the release manager 
credentials (e.g. maven sign plugin);
- add scripts that will deploy artefacts to the maven staging repository;
- add scripts for checking checksums, gpg;

> [Extensions] Automated RC preparation and testing at Apache TeamCity
> 
>
> Key: IGNITE-15860
> URL: https://issues.apache.org/jira/browse/IGNITE-15860
> Project: Ignite
>  Issue Type: Task
>Reporter: Amelchev Nikita
>Assignee: Petr Ivanov
>Priority: Major
>  Labels: ise
>
> Implement automated ignite-extensions RC preparation and testing at Apache 
> TeamCity.
> The script should support: 
> - binary releases
> - proper source package without not-releasing modules, dev-scripts, gitignore
> - several modules release
> - different modules versions



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16515) RocksDbSortedIndexStorageTest is flaky

2022-02-09 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-16515:


 Summary: RocksDbSortedIndexStorageTest is flaky
 Key: IGNITE-16515
 URL: https://issues.apache.org/jira/browse/IGNITE-16515
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


RocksDbSortedIndexStorageTest has a method called 
\{{shuffledRandomDefinitions}} which uses random booleans to filter columns 
that are used to create an index. In rare cases all random booleans can be 
{{false}} which will result in tests trying to create an index without any 
columns, which is illegal.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-14871) Add cluster initialization commands to the Ignite CLI

2022-02-09 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-14871:


The CL interface is implemented a bit differently.

First, to pass a few node names, we repeat the option name, like this:

cluster init --node-endpoint ... --meta-storage-node node1 --meta-storage-node 
node2 --cmg-node node3 --cmg-node node4

Second, the option names are now singular, not plural.

Third, the --meta-storage is now separated with a dash to 'meta' and 'storage'.

> Add cluster initialization commands to the Ignite CLI
> -
>
> Key: IGNITE-14871
> URL: https://issues.apache.org/jira/browse/IGNITE-14871
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Vyacheslav Koptilin
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> According to the 
> [IEP|https://cwiki.apache.org/confluence/display/IGNITE/IEP-77%3A+Node+Join+Protocol+and+Initialization],
>  we are going to have some new CLI commands:
> h3. Cluster initialization
> h4. Proposed API
> {code:bash}
> ./ignite cluster init --node-endpoint=??? --metastorage-nodes=??? 
> [---cmg-nodes=???] 
> {code}
>  * {{--node-endpoint}} - address of the REST endpoint of the receiving node 
> in host:port format
>  * {{--metastorage-nodes}} - space-separated list of addresses of the nodes 
> that will host the Metastorage Raft group. If the "-cmg-nodes" parameter is 
> empty, the same nodes will also host the Cluster Management Raft group.
>  * {{--cmg-nodes}} - space-separated list of addresses of the nodes that will 
> host the Cluster Management Raft group (optional parameter)
> h4. Description
> The purpose of this command is to deliver the initial cluster settings. The 
> recipient node should propagate this message to the specified nodes, so that 
> they will start the corresponding Raft groups. In case some nodes are 
> inaccessible or the Raft groups are already started, an error message should 
> be returned and the command must fail.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-16445) Always specify charset explicitly

2022-02-09 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-16445:


Thanks for your review

> Always specify charset explicitly
> -
>
> Key: IGNITE-16445
> URL: https://issues.apache.org/jira/browse/IGNITE-16445
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha5
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Calls like new String(byte[]), String#getBytes() and others that implicitly 
> use default charset are dangerous because we never know what charset is 
> chosen as a default for this particular JVM.
> Even when the text we are encoding only contains ASCII characters, it could 
> be encoded differently by some charsets (like cp1140).
> We could always mandate 'specify -Dfile.encoding=utf-8 when launching a JVM', 
> but it would make deployment a little bit difficult as the setting could be 
> easily overlooked.
> It seems not too hard to always specify a charset in the code.
> For the cases when it is the correct thing to use the system default charset, 
> it can be passed directly using Charset.defaultCharset().
> To make sure that we not forget it somewhere accidentally, we could use a 
> tool like Maven Modernizer plugin.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (IGNITE-16259) Improve detection of objects that cannot participate in object graph cycles

2022-02-09 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy resolved IGNITE-16259.

Resolution: Won't Do

This task is not relevant anymore as we must write an object ID for any value 
that can have an identity (due to IGNITE-16298).

> Improve detection of objects that cannot participate in object graph cycles
> ---
>
> Key: IGNITE-16259
> URL: https://issues.apache.org/jira/browse/IGNITE-16259
> Project: Ignite
>  Issue Type: Improvement
>  Components: networking
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha5
>
>
> Currently, only built-ins are considered to be immune to participating in 
> object graph cycles. But more classes are immune: for example, a class that 
> only contains primitive fields cannot participate in cycles.
> Representation of a non-cycleable object is a bit more compact (as we do not 
> need to store object ID for it), so we can save a bit of space here.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16514) Loza#prepareRaftGroup contains incorrent javadoc and @Experimental tag

2022-02-09 Thread Kirill Gusakov (Jira)
Kirill Gusakov created IGNITE-16514:
---

 Summary: Loza#prepareRaftGroup contains incorrent javadoc and 
@Experimental tag
 Key: IGNITE-16514
 URL: https://issues.apache.org/jira/browse/IGNITE-16514
 Project: Ignite
  Issue Type: Task
Reporter: Kirill Gusakov


Method from description marked as Experimental and has incorrect javadoc 
"IMPORTANT: DON'T USE". But these descriptions were created for another version 
with explicit timeout arguments. It seems, that we need to fix javadoc or roll 
back the old overloaded version and move these docs to it.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-16512) Change the style of named options in the CLI

2022-02-09 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy reassigned IGNITE-16512:
--

Assignee: (was: Roman Puchkovskiy)

> Change the style of named options in the CLI
> 
>
> Key: IGNITE-16512
> URL: https://issues.apache.org/jira/browse/IGNITE-16512
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Reporter: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha5
>
>
> Some named CLI options may have multiple values. There are few different ways 
> to use such multi-valued options from the CLI:
>  # --nodes "one two three" (that is, put all the values in the same command 
> line argument)
>  # --nodes one two three (that is, put each value as a separate command line 
> argument)
>  # --node one --node two --node three (repeat the option name with each 
> value; please note that here the option name is in singular form)
> A team-wide discussion was caried on in a Slack channel, and it was suggested 
> that we use option 2. But the existing commands (like 'module add ' with 
> --repo option) already use option 3.
> The style needs to be changed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (IGNITE-16229) Improve unmarshalling of immutable containers in the User Object Serialization component

2022-02-09 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy resolved IGNITE-16229.

Resolution: Won't Do

Currently, we have only two cases for which this might be used: SingletonList 
and Proxy. For both cases, our 'hacky' way works well, does not seem to cause 
any problems and it is very simple, so it seems that we can just leave it as is.

List.of(...) and friends added in Java 9 are not a problem because their 
implementing classes use writeReplace()/readResolve() which we support, so 
everything just works.

Hence, it looks like this task is simply not worth implementing as the 'correct 
and less hacky way' to implement it would also be slower at runtime (and 
produce more garbage) as it simply makes more work.

> Improve unmarshalling of immutable containers in the User Object 
> Serialization component
> 
>
> Key: IGNITE-16229
> URL: https://issues.apache.org/jira/browse/IGNITE-16229
> Project: Ignite
>  Issue Type: Improvement
>  Components: networking
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha5
>
>
> At the moment, we support just one type of immutable containers 
> (singletonList), but we'll probably want to support other types like 
> List.of(), Set.of() and so on.
> Immutable built-in containers pose a challenge: on the one hand, they can 
> participate in cycles and hence need to be read in two phases (instantiate, 
> store reference, fill), but on the other hand, they cannot be modified after 
> instantiation.
> Right now, we implemented a hack: we still read immutable containers in two 
> phases, but for filling them we have a custom code that breaks their 
> 'immutability' invariant and pushes the values by force via reflection to 
> fill such containers. It seems to work, but it's ugly and potentially 
> dangerous (as we are violating the immutability invariant).
> There is another possibility.
>  # Handle all the values that are not built-in immutable containers in the 
> same way they are handled now
>  # For immutable containers, during instantiation phase, create mutable 
> placeholders instead of the immutable container instances themselves
>  # Such placeholders need to track the slots of other objects in the graph 
> that reference them
>  # They are filled normally on the 'fill' phase
>  # After the graph is read into memory, it consists of (mainly) normal 
> objects and placeholders; the placeholders need to be resolved and replaced 
> with proper immutable container values
>  # It is impossible to create a cycle of immutable containers (without using 
> hacks like Reflection), so we can find connectivity components of the graph 
> (each of such component will be a tree) and then instantiate immutable 
> containers from placeholders in the leaf-to-root order
>  # Placeholders need to be replaced with the instantiated immutable 
> containers in the graph; here, the knowledge about the set of slots which 
> reference a placeholder (mentioned in item 3) will be useful
>  # If we encounter a cycle comprised completely of immutable containers (such 
> cycle can only be creafted using some sort of a hack), we can either fail 
> with an exception or use a hack (reflection) to forge just one connection of 
> the cycle.
> This is a hybrid approach of
>  * always having 'real' objects in the graph - which is not realistic when we 
> have immutable containers
>  * and always constructing a graph of placeholders first and then turning 
> them into real objects (this is what Spring does with Bean Definitions and 
> then Beans) - which seems to incur too much overhead, especially having in 
> mind that most of the objects are not immutable containers and hence do not 
> need placeholders to represent them in the intermediate graph



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16508) Travis check should be duplicated at TC

2022-02-09 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov updated IGNITE-16508:
--
Description: 
Travis is broken now (INFRA-22827), and should be at least duplicated at TC

Build step (sh) in TC
{code:java}
cd modules/ducktests/tests
tox -e codestyle,py38 || exit 1
{code}

  was:
Travis is broken now (INFRA-22827), and should be at least duplicated at TC

Build step (sh) in TC
{code}
set -o nounset; set -o errexit; set -o pipefail; set -o errtrace; set -o 
functrace
set -x

cd modules/ducktests/tests
tox -e codestyle,py38 || exit 1
{code}


> Travis check should be duplicated at TC
> ---
>
> Key: IGNITE-16508
> URL: https://issues.apache.org/jira/browse/IGNITE-16508
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Travis is broken now (INFRA-22827), and should be at least duplicated at TC
> Build step (sh) in TC
> {code:java}
> cd modules/ducktests/tests
> tox -e codestyle,py38 || exit 1
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-16508) Travis check should be duplicated at TC

2022-02-09 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov commented on IGNITE-16508:
---

New step added: 
[https://ci.ignite.apache.org/buildConfiguration/IgniteTests24Java8_CheckCodeStyleDucktests?mode=builds]

As well as ducktests codestyle fixed

> Travis check should be duplicated at TC
> ---
>
> Key: IGNITE-16508
> URL: https://issues.apache.org/jira/browse/IGNITE-16508
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Travis is broken now (INFRA-22827), and should be at least duplicated at TC
> Build step (sh) in TC
> {code}
> set -o nounset; set -o errexit; set -o pipefail; set -o errtrace; set -o 
> functrace
> set -x
> cd modules/ducktests/tests
> tox -e codestyle,py38 || exit 1
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (IGNITE-16508) Travis check should be duplicated at TC

2022-02-09 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov resolved IGNITE-16508.
---
Resolution: Fixed

> Travis check should be duplicated at TC
> ---
>
> Key: IGNITE-16508
> URL: https://issues.apache.org/jira/browse/IGNITE-16508
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Travis is broken now (INFRA-22827), and should be at least duplicated at TC
> Build step (sh) in TC
> {code}
> set -o nounset; set -o errexit; set -o pipefail; set -o errtrace; set -o 
> functrace
> set -x
> cd modules/ducktests/tests
> tox -e codestyle,py38 || exit 1
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16513) Add an integration test for 'cluster init' CLI command

2022-02-09 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-16513:
--

 Summary: Add an integration test for 'cluster init' CLI command
 Key: IGNITE-16513
 URL: https://issues.apache.org/jira/browse/IGNITE-16513
 Project: Ignite
  Issue Type: Improvement
  Components: general
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
 Fix For: 3.0.0-alpha5


Currently, 'cluster init' command does not have an end-to-end test because the 
init functionality is still being developed in IGNITE-16471



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16512) Change the style of named options in the CLI

2022-02-09 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-16512:
--

 Summary: Change the style of named options in the CLI
 Key: IGNITE-16512
 URL: https://issues.apache.org/jira/browse/IGNITE-16512
 Project: Ignite
  Issue Type: Improvement
  Components: general
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
 Fix For: 3.0.0-alpha5


Some named CLI options may have multiple values. There are few different ways 
to use such multi-valued options from the CLI:
 # --nodes "one two three" (that is, put all the values in the same command 
line argument)
 # --nodes one two three (that is, put each value as a separate command line 
argument)
 # --node one --node two --node three (repeat the option name with each value; 
please note that here the option name is in singular form)

A team-wide discussion was caried on in a Slack channel, and it was suggested 
that we use option 2. But the existing commands (like 'module add ' with --repo 
option) already use option 3.

The style needs to be changed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16496) SSLException: closing inbound before receiving peer's close_notify

2022-02-09 Thread Alexey Kukushkin (Jira)


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

Alexey Kukushkin updated IGNITE-16496:
--
Summary: SSLException: closing inbound before receiving peer's close_notify 
 (was: SSLException: closing inbound before receiving peer's close_notify (TLS 
1.2))

> SSLException: closing inbound before receiving peer's close_notify
> --
>
> Key: IGNITE-16496
> URL: https://issues.apache.org/jira/browse/IGNITE-16496
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.12
>Reporter: Alexey Kukushkin
>Priority: Major
>  Labels: cggg
>
> Ignite nodes output the warning below on startup when TLS protocol v1.2 is 
> used:
> {noformat}
> 2022-02-08 11:53:05.705  WARN 19384 --- [1:62095]-#4-#51] 
> o.a.i.spi.discovery.tcp.TcpDiscoverySpi  : Failed to shutdown socket: closing 
> inbound before receiving peer's close_notify
> javax.net.ssl.SSLException: closing inbound before receiving peer's 
> close_notify
>at 
> java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:745)
>  ~[na:na]
>at 
> java.base/sun.security.ssl.SSLSocketImpl.shutdownInput(SSLSocketImpl.java:724)
>  ~[na:na]
>at 
> org.apache.ignite.internal.util.IgniteUtils.close(IgniteUtils.java:4249) 
> ~[ignite-core-2.12.0.jar!/:2.12.0]
>at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$SocketReader.body(ServerImpl.java:7370)
>  ~[ignite-core-2.12.0.jar!/:2.12.0]
>at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:58) 
> ~[ignite-core-2.12.0.jar!/:2.12.0] {noformat}
> To reproduce the problem just start two server nodes with TLS v1.3 enabled 
> and the warnings will be printed in the log before the cluster is formed.
> h3. h3. Analysis
> The problem _probably_ happens due to  [this 
> code|https://github.com/apache/ignite/blob/2.12.0/modules/core/src/main/java/org/apache/ignite/internal/util/IgniteUtils.java#L4426]
>  calling {{Socket#shutdownInput()}} before receiving SSL {{close_notify}} 
> alert, which TLS 1.2 is expecting (see [RFC 
> 8446|https://datatracker.ietf.org/doc/html/rfc8446#section-6]). I guess the 
> right approach to close an SSL socket is just calling {{Socke#close}}, which 
> should properly wait/send a {{close_notify}}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16511) Calcite engine. Move system properties constants to IgniteSystemProperties class

2022-02-09 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-16511:
--

 Summary: Calcite engine. Move system properties constants to 
IgniteSystemProperties class 
 Key: IGNITE-16511
 URL: https://issues.apache.org/jira/browse/IGNITE-16511
 Project: Ignite
  Issue Type: Task
Reporter: Aleksey Plekhanov


We have a set of system properties constants for the Calcite-based SQL engine, 
which are placed in different classes and not documented:
{noformat}
IGNITE_CALCITE_EXEC_IN_BUFFER_SIZE
IGNITE_CALCITE_EXEC_BATCH_SIZE
IGNITE_CALCITE_EXEC_IO_BATCH_SIZE
IGNITE_CALCITE_EXEC_IO_BATCH_CNT
IGNITE_CALCITE_REL_JSON_PRETTY_PRINT{noformat}
They should be moved to {{IgniteSystemProperties}} class with a proper 
{{@SystemProperty}} annotation.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15554) Add logic for assignment recalculation in case of replicas changes

2022-02-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-15554:
-
Description: 
We need to provide the trigger when the number of partition replicas changes. 
At the moment, replicas is a table configuration. But at the same time, 
rebalance trigger mechanism assumes that changes triggered by metastore’s key 
change (IGNITE-16063). So, we need provide the bridge between configuration 
changes and metastore key, it can be:

separate metastore key, which duplicate the field from configuration and mirror 
all configuration changes

any better ways here…

  was:
TBD

 

(Phase 1)


> Add logic for assignment recalculation in case of replicas changes
> --
>
> Key: IGNITE-15554
> URL: https://issues.apache.org/jira/browse/IGNITE-15554
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>
> We need to provide the trigger when the number of partition replicas changes. 
> At the moment, replicas is a table configuration. But at the same time, 
> rebalance trigger mechanism assumes that changes triggered by metastore’s key 
> change (IGNITE-16063). So, we need provide the bridge between configuration 
> changes and metastore key, it can be:
> separate metastore key, which duplicate the field from configuration and 
> mirror all configuration changes
> any better ways here…



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-15554) Add logic for assignment recalculation in case of replicas changes

2022-02-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-15554:


Assignee: Mirza Aliev

> Add logic for assignment recalculation in case of replicas changes
> --
>
> Key: IGNITE-15554
> URL: https://issues.apache.org/jira/browse/IGNITE-15554
> Project: Ignite
>  Issue Type: Task
>Reporter: Alexander Lapin
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> We need to provide the trigger when the number of partition replicas changes. 
> At the moment, replicas is a table configuration. But at the same time, 
> rebalance trigger mechanism assumes that changes triggered by metastore’s key 
> change (IGNITE-16063). So, we need provide the bridge between configuration 
> changes and metastore key, it can be:
> separate metastore key, which duplicate the field from configuration and 
> mirror all configuration changes
> any better ways here…



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-16133) IndexQuery should check indexes for rebuild

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin commented on IGNITE-16133:
-

duplicate of IGNITE-16452

> IndexQuery should check indexes for rebuild
> ---
>
> Key: IGNITE-16133
> URL: https://issues.apache.org/jira/browse/IGNITE-16133
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
>
> IndexQuery doesn't check that index it runs over to is rebuilding. Then query 
> result can be inconsistent, as it returns only part of result.
>  
> IndexQuery should check index status and throw an exception if index is 
> concurrently rebuilding. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (IGNITE-16133) IndexQuery should check indexes for rebuild

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin resolved IGNITE-16133.
-
Resolution: Duplicate

> IndexQuery should check indexes for rebuild
> ---
>
> Key: IGNITE-16133
> URL: https://issues.apache.org/jira/browse/IGNITE-16133
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
>
> IndexQuery doesn't check that index it runs over to is rebuilding. Then query 
> result can be inconsistent, as it returns only part of result.
>  
> IndexQuery should check index status and throw an exception if index is 
> concurrently rebuilding. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16510) Calcite engine. Support "keep binary" flag

2022-02-09 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-16510:
--

 Summary: Calcite engine. Support "keep binary" flag
 Key: IGNITE-16510
 URL: https://issues.apache.org/jira/browse/IGNITE-16510
 Project: Ignite
  Issue Type: New Feature
Reporter: Aleksey Plekhanov


The "keep binary" flag is currently ignored by the Calcite-based SQL engine and 
there is no way to return a deserialized object: all POJO returned in binary 
format. We should support the "keep binary" flag and deserialize objects if 
needed.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16509) Calcite engine. Support OTHER data type

2022-02-09 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-16509:
--

 Summary: Calcite engine. Support OTHER data type
 Key: IGNITE-16509
 URL: https://issues.apache.org/jira/browse/IGNITE-16509
 Project: Ignite
  Issue Type: New Feature
Reporter: Aleksey Plekhanov


Table with {{OTHER}} (Object) data type can be created by H2-based SQL engine:
{noformat}
CREATE TABLE t(val OTHER)
{noformat}
But such a data type is not supported by Calcite-based SQL engine (at least in 
DDL)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16452) IndexQuery can run on non-ready dynamically created index or rebuilding indexes

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-16452:

Labels: IEP-49 IEP-71  (was: IEP-71)

> IndexQuery can run on non-ready dynamically created index or rebuilding 
> indexes
> ---
>
> Key: IGNITE-16452
> URL: https://issues.apache.org/jira/browse/IGNITE-16452
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.12
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-49, IEP-71
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> IndexProcessor register dynamically created index earlier than fill it with 
> data. 
> Then IndexQuery can reach the index before it actually ready. So we need to 
> restrict access for such indexes. 
> The same behavior is for rebuilding indexes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16452) IndexQuery can run on non-ready dynamically created index or rebuilding indexes

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-16452:

Summary: IndexQuery can run on non-ready dynamically created index or 
rebuilding indexes  (was: IndexQuery can run on non-ready dynamically created 
index)

> IndexQuery can run on non-ready dynamically created index or rebuilding 
> indexes
> ---
>
> Key: IGNITE-16452
> URL: https://issues.apache.org/jira/browse/IGNITE-16452
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.12
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> IndexProcessor register dynamically created index earlier than fill it with 
> data. 
> Then IndexQuery can reach the index before it actually ready. So we need to 
> restrict access for such indexes. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16452) IndexQuery can run on non-ready dynamically created index or rebuilding indexes

2022-02-09 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-16452:

Description: 
IndexProcessor register dynamically created index earlier than fill it with 
data. 

Then IndexQuery can reach the index before it actually ready. So we need to 
restrict access for such indexes. 

The same behavior is for rebuilding indexes.

  was:
IndexProcessor register dynamically created index earlier than fill it with 
data. 

Then IndexQuery can reach the index before it actually ready. So we need to 
restrict access for such indexes. 


> IndexQuery can run on non-ready dynamically created index or rebuilding 
> indexes
> ---
>
> Key: IGNITE-16452
> URL: https://issues.apache.org/jira/browse/IGNITE-16452
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.12
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> IndexProcessor register dynamically created index earlier than fill it with 
> data. 
> Then IndexQuery can reach the index before it actually ready. So we need to 
> restrict access for such indexes. 
> The same behavior is for rebuilding indexes.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16483) Improve ComputeGridMonitor test coverage

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16483:
-
Description: 
Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.

Add tests for *ComputeGridMonitor* in case of a client node.

  was:
Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.

Add tests for monitors in case of a client node.


> Improve ComputeGridMonitor test coverage
> 
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.
> Add tests for *ComputeGridMonitor* in case of a client node.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16483) Improve ComputeGridMonitor test coverage

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16483:
-
Description: 
Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.

Add tests for monitors in case of a client node.

  was:
Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.


> Improve ComputeGridMonitor test coverage
> 
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.
> Add tests for monitors in case of a client node.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16483) Improve ComputeGridMonitor test coverage

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16483:
-
Summary: Improve ComputeGridMonitor test coverage  (was: Fix flaky 
ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute)

> Improve ComputeGridMonitor test coverage
> 
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16508) Travis check should be duplicated at TC

2022-02-09 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-16508:
-
Description: 
Travis is broken now (INFRA-22827), and should be at least duplicated at TC

Build step (sh) in TC
{code}
set -o nounset; set -o errexit; set -o pipefail; set -o errtrace; set -o 
functrace
set -x

cd modules/ducktests/tests
tox -e codestyle,py38 || exit 1
{code}

  was:Travis is broken now (INFRA-22827), and should be at least duplicated at 
TC


> Travis check should be duplicated at TC
> ---
>
> Key: IGNITE-16508
> URL: https://issues.apache.org/jira/browse/IGNITE-16508
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>
> Travis is broken now (INFRA-22827), and should be at least duplicated at TC
> Build step (sh) in TC
> {code}
> set -o nounset; set -o errexit; set -o pipefail; set -o errtrace; set -o 
> functrace
> set -x
> cd modules/ducktests/tests
> tox -e codestyle,py38 || exit 1
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16508) Travis check should be duplicated at TC

2022-02-09 Thread Anton Vinogradov (Jira)
Anton Vinogradov created IGNITE-16508:
-

 Summary: Travis check should be duplicated at TC
 Key: IGNITE-16508
 URL: https://issues.apache.org/jira/browse/IGNITE-16508
 Project: Ignite
  Issue Type: Improvement
Reporter: Anton Vinogradov
Assignee: Anton Vinogradov


Travis is broken now (INFRA-22827), and should be at least duplicated at TC



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16507) Calcite engine. Redundant sort node when rewriting index scan on index rebuild

2022-02-09 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-16507:
--

 Summary: Calcite engine. Redundant sort node when rewriting index 
scan on index rebuild
 Key: IGNITE-16507
 URL: https://issues.apache.org/jira/browse/IGNITE-16507
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksey Plekhanov


When the query plan has an index scan, but the index is rebuilding we rewrite 
this scan to the chain of table scan/sort/spool/project nodes (see 
IGNITE-16111). In some cases sort node is redundant, but still created, for 
example, when index scan is used only for filtering:
{noformat}
SELECT * FROM emp WHERE dep_id = 10
{noformat}




--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-13389) Append additional settings to obtain full stack trace on thin client side if an error occurs on server side.

2022-02-09 Thread Evgeny Stanilovsky (Jira)


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

Evgeny Stanilovsky commented on IGNITE-13389:
-

I have no time for this issue, possibly someone could proceed with it. 
[~northdragon], [~ivandasch]

> Append additional settings to obtain full stack trace on thin client side if 
> an error occurs on server side.
> 
>
> Key: IGNITE-13389
> URL: https://issues.apache.org/jira/browse/IGNITE-13389
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 2.8.1
>Reporter: Evgeny Stanilovsky
>Priority: Major
>  Labels: ise
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> Some server side errors have deeply nested _suppressed_ or _caused by_ errors 
> which contains informative messages for further problem recognition. Possible 
> such mechanism need to be disabled on production environment. Example of non 
> informative error on client side:
> {noformat}
> org.apache.ignite.internal.client.thin.ClientServerError: Ignite failed to 
> process request [1]: Failed to update keys (retry update if possible).: [1] 
> (server status code [1])
> {noformat}
> but full stack holds the root case:
> {noformat}
> Caused by: class 
> org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException:
>  Failed to update keys (retry update if possible).: [1]
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.onPrimaryError(GridNearAtomicAbstractUpdateFuture.java:397)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316)
>   ... 13 more
>   Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to 
> update keys.
>   ... 23 more
>   Suppressed: class org.apache.ignite.IgniteCheckedException: 
> Runtime failure on search row: SearchRow
>   ... 25 more
>   Caused by: class org.apache.ignite.IgniteCheckedException: 
> org.apache.ignite.internal.binary.BinaryObjectImpl cannot be cast to 
> org.apache.ignite.client.IgniteBinaryTest$ThinBinaryValue <-- here !!!
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.update(GridCacheMapEntry.java:6379)
>   ... 30 more
> {noformat}
> looks like it would be useful to have additional setting in 
> ThinClientConfiguration#showFullStackOnClientSide configured both as direct 
> setting and through JMX (ClientProcessorMXBean#showFullStackOnClientSide).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-13389) Append additional settings to obtain full stack trace on thin client side if an error occurs on server side.

2022-02-09 Thread Evgeny Stanilovsky (Jira)


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

Evgeny Stanilovsky reassigned IGNITE-13389:
---

Assignee: (was: Evgeny Stanilovsky)

> Append additional settings to obtain full stack trace on thin client side if 
> an error occurs on server side.
> 
>
> Key: IGNITE-13389
> URL: https://issues.apache.org/jira/browse/IGNITE-13389
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 2.8.1
>Reporter: Evgeny Stanilovsky
>Priority: Major
>  Labels: ise
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> Some server side errors have deeply nested _suppressed_ or _caused by_ errors 
> which contains informative messages for further problem recognition. Possible 
> such mechanism need to be disabled on production environment. Example of non 
> informative error on client side:
> {noformat}
> org.apache.ignite.internal.client.thin.ClientServerError: Ignite failed to 
> process request [1]: Failed to update keys (retry update if possible).: [1] 
> (server status code [1])
> {noformat}
> but full stack holds the root case:
> {noformat}
> Caused by: class 
> org.apache.ignite.internal.processors.cache.CachePartialUpdateCheckedException:
>  Failed to update keys (retry update if possible).: [1]
>   at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.onPrimaryError(GridNearAtomicAbstractUpdateFuture.java:397)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2567)
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(GridCacheAdapter.java:2544)
>   at 
> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.put(IgniteCacheProxyImpl.java:1316)
>   ... 13 more
>   Suppressed: class org.apache.ignite.IgniteCheckedException: Failed to 
> update keys.
>   ... 23 more
>   Suppressed: class org.apache.ignite.IgniteCheckedException: 
> Runtime failure on search row: SearchRow
>   ... 25 more
>   Caused by: class org.apache.ignite.IgniteCheckedException: 
> org.apache.ignite.internal.binary.BinaryObjectImpl cannot be cast to 
> org.apache.ignite.client.IgniteBinaryTest$ThinBinaryValue <-- here !!!
>   at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry$AtomicCacheUpdateClosure.update(GridCacheMapEntry.java:6379)
>   ... 30 more
> {noformat}
> looks like it would be useful to have additional setting in 
> ThinClientConfiguration#showFullStackOnClientSide configured both as direct 
> setting and through JMX (ClientProcessorMXBean#showFullStackOnClientSide).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-14740) Add multiple python versions on TC agents for testing pyignite

2022-02-09 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov commented on IGNITE-14740:
---

[~vveider], could you please schedule this task for the nearest future.

Currently, we are unable to check Python using the Travis (see INFRA-22827), 
so, we need to relocate this check to TeamCity.

> Add multiple python versions on TC agents for testing pyignite
> --
>
> Key: IGNITE-14740
> URL: https://issues.apache.org/jira/browse/IGNITE-14740
> Project: Ignite
>  Issue Type: New Feature
>  Components: python, thin client
>Reporter: Ivan Daschinsky
>Assignee: Petr Ivanov
>Priority: Major
>  Labels: python, teamcity
>
> In order to test {{pyignite}} against different python versions, I suggests 
> followings
> 1. Install [pyenv|https://github.com/pyenv/pyenv]
> 2. Install through {{pyenv}} different python versions (3.6, 3.7, 3.8, 3.9)
> Before invoking {{tox}}, script should invoke {{pyenv init --path}} and 
> {{pyenv shell}} with specific python version. 



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16483) Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16483:
-
Description: 
Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.

  was:
Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.


> Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute
> --
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>
> Fix flaky *ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute*
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16483) Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute

2022-02-09 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-16483:
-
Description: 
Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute

The problem is in the test itself, there could be a rare race between 
completing a compute task and waiting for its attribute, so it was enough to 
add task completion after receiving the expected attribute.

  was:Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute


> Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute
> --
>
> Key: IGNITE-16483
> URL: https://issues.apache.org/jira/browse/IGNITE-16483
> Project: Ignite
>  Issue Type: Bug
>  Components: compute
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Minor
> Fix For: 2.13
>
>
> Fix flaky ComputeJobChangePriorityTest#testChangeTaskPriorityAttribute
> The problem is in the test itself, there could be a rare race between 
> completing a compute task and waiting for its attribute, so it was enough to 
> add task completion after receiving the expected attribute.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-15710) .NET: Some tests fail on Windows and net461

2022-02-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-15710:

Description: 
The following tests fail on Windows with .NET 4.6.1 and were disabled in 
IGNITE-15504 with conditional compilation:

* DataStreamerClientTest.TestFlushThrowsOnCacheStoreException
* 
PartitionAwarenessTest.CacheGet_NewNodeEnteredTopology_RequestIsRoutedToNewNode
* 
ClientClusterDiscoveryTestsNoLocalhost.TestClientWithOneEndpointDiscoversAllServers
* PartitionLossTest.TestReadWriteSafe

Re-enable the tests and fix them.

  was:
The following tests fail on Windows with .NET 4.6.1 and were disabled in 
IGNITE-15504 with conditional compilation:

* DataStreamerClientTest.TestFlushThrowsOnCacheStoreException
* 
PartitionAwarenessTest.CacheGet_NewNodeEnteredTopology_RequestIsRoutedToNewNode
* 
ClientClusterDiscoveryTestsNoLocalhost.TestClientWithOneEndpointDiscoversAllServers

Re-enable the tests and fix them.


> .NET: Some tests fail on Windows and net461
> ---
>
> Key: IGNITE-15710
> URL: https://issues.apache.org/jira/browse/IGNITE-15710
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms
>Affects Versions: 2.11
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Minor
>  Labels: .NET
> Fix For: 2.13
>
>
> The following tests fail on Windows with .NET 4.6.1 and were disabled in 
> IGNITE-15504 with conditional compilation:
> * DataStreamerClientTest.TestFlushThrowsOnCacheStoreException
> * 
> PartitionAwarenessTest.CacheGet_NewNodeEnteredTopology_RequestIsRoutedToNewNode
> * 
> ClientClusterDiscoveryTestsNoLocalhost.TestClientWithOneEndpointDiscoversAllServers
> * PartitionLossTest.TestReadWriteSafe
> Re-enable the tests and fix them.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-16377) Notification listeners of TableManager should rely on causality tokens when referring to dependee components

2022-02-09 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov reassigned IGNITE-16377:
--

Assignee: Vladislav Pyatkov

> Notification listeners of TableManager should rely on causality tokens when 
> referring to dependee components
> 
>
> Key: IGNITE-16377
> URL: https://issues.apache.org/jira/browse/IGNITE-16377
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> While handling the notifications, listeners should rely on the fact that the 
> components that they depend on, won’t return stale or inconsistent data. It 
> should be guaranteed by causality tokens mechanism.
> Listeners of TableManager should rely on the causality token futures to 
> finish all the logic that depends on other components or other listeners. 
> Therefore, this logic should be implemented in thenCompose blocks of 
> causality futures.
> The listeners should be aware of the current state of the component and do 
> every action in order to change the current state to the state that the 
> component should have after applying the metastorage update.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-11402) SQL: Add ability to specify inline size of PK and affinity key indexes from CREATE TABLE

2022-02-09 Thread Taras Ledkov (Jira)


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

Taras Ledkov commented on IGNITE-11402:
---

*Final decision:*
- inline size of primary and affinity sorted indexes can be defined only by 
CREATE TABLE command.
- {{QueryEntity}} cannot be changed, {{unwrapPk}} property cannot be set up by 
public API because a lot of compatibility issues are discovered.

> SQL: Add ability to specify inline size of PK and affinity key indexes from 
> CREATE TABLE
> 
>
> Key: IGNITE-11402
> URL: https://issues.apache.org/jira/browse/IGNITE-11402
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Vladimir Ozerov
>Assignee: Taras Ledkov
>Priority: Major
>  Labels: newbie
> Fix For: 2.13
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> Currently it is not possible to set inline size for automatically created 
> indexes easily. We need to make sure that user has a convenient way to set 
> them both programmatically and from DDL.
> Start point for automatically created indexes is 
> org.apache.ignite.internal.processors.query.h2.H2TableDescriptor#createSystemIndexes
>  where passed parameter inlineSize as -1 for 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing#createSortedIndex



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-11402) SQL: Add ability to specify inline size of PK and affinity key indexes from CREATE TABLE

2022-02-09 Thread Taras Ledkov (Jira)


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

Taras Ledkov updated IGNITE-11402:
--
Summary: SQL: Add ability to specify inline size of PK and affinity key 
indexes from CREATE TABLE  (was: SQL: Add ability to specify inline size of PK 
and affinity key indexes from CREATE TABLE and QueryEntity)

> SQL: Add ability to specify inline size of PK and affinity key indexes from 
> CREATE TABLE
> 
>
> Key: IGNITE-11402
> URL: https://issues.apache.org/jira/browse/IGNITE-11402
> Project: Ignite
>  Issue Type: Task
>  Components: sql
>Reporter: Vladimir Ozerov
>Assignee: Taras Ledkov
>Priority: Major
>  Labels: newbie
> Fix For: 2.13
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> Currently it is not possible to set inline size for automatically created 
> indexes easily. We need to make sure that user has a convenient way to set 
> them both programmatically and from DDL.
> Start point for automatically created indexes is 
> org.apache.ignite.internal.processors.query.h2.H2TableDescriptor#createSystemIndexes
>  where passed parameter inlineSize as -1 for 
> org.apache.ignite.internal.processors.query.h2.IgniteH2Indexing#createSortedIndex



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Assigned] (IGNITE-16207) JDBC driver for 3.0: Calcite throws class cast exception

2022-02-09 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich reassigned IGNITE-16207:
--

Assignee: Vladimir Ermakov

> JDBC driver for 3.0: Calcite throws class cast exception
> 
>
> Key: IGNITE-16207
> URL: https://issues.apache.org/jira/browse/IGNITE-16207
> Project: Ignite
>  Issue Type: New Feature
>  Components: jdbc
>Reporter: Vladimir Ermakov
>Assignee: Vladimir Ermakov
>Priority: Blocker
>  Labels: ignite-3
>
> Calcite throws
> java.lang.ClassCastException: class java.lang.String cannot be cast to class 
> java.lang.Integer (java.lang.String and java.lang.Integer are in module 
> java.base of loader 'bootstrap')
> when
> ItJdbcComplexDmlDdlSelfTest#testCreateSelectDrop() test running after
> ItJdbcInsertStatementSelfTest#testDuplicateKeys().
> However, single run passed correctly.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Updated] (IGNITE-16071) Read Repair futures should be rewritten to use wait-free sync instead of synchronized

2022-02-09 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov updated IGNITE-16071:
--
Reviewer: Maksim Timonin

> Read Repair futures should be rewritten to use wait-free sync instead of 
> synchronized
> -
>
> Key: IGNITE-16071
> URL: https://issues.apache.org/jira/browse/IGNITE-16071
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Labels: iep-31
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Read Repair was implemented as a PoC, so synchronized sync was suitable, but 
> now this should be replaced with CompoundFuture logic.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Commented] (IGNITE-16071) Read Repair futures should be rewritten to use wait-free sync instead of synchronized

2022-02-09 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-16071:


{panel:title=Branch: [pull/9807/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/9807/head] Base: [master] : No new tests 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *--> Run :: All* 
Results|https://ci.ignite.apache.org/viewLog.html?buildId=6408784&buildTypeId=IgniteTests24Java8_RunAll]

> Read Repair futures should be rewritten to use wait-free sync instead of 
> synchronized
> -
>
> Key: IGNITE-16071
> URL: https://issues.apache.org/jira/browse/IGNITE-16071
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Labels: iep-31
> Fix For: 2.13
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Read Repair was implemented as a PoC, so synchronized sync was suitable, but 
> now this should be replaced with CompoundFuture logic.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Resolved] (IGNITE-16484) sqlOnheapCacheEnabled leads to B+Tree corruption

2022-02-09 Thread Yury Gerzhedovich (Jira)


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

Yury Gerzhedovich resolved IGNITE-16484.

Resolution: Duplicate

> sqlOnheapCacheEnabled leads to B+Tree corruption
> 
>
> Key: IGNITE-16484
> URL: https://issues.apache.org/jira/browse/IGNITE-16484
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 2.12
>Reporter: Ilya Kazakov
>Priority: Major
>
> This code leads to B+Tree corruption:
> {code:java}
> public static void main(String[] args) {
> IgniteConfiguration cfg = new IgniteConfiguration()
> .setCacheConfiguration(new CacheConfiguration()
> .setSqlOnheapCacheEnabled(true)
> .setName("PERSON")
> .setIndexedTypes(PersonKey.class, Integer.class));
> Ignite ignite = Ignition.start(cfg);
> try (IgniteCache cache = ignite.cache("PERSON")) {
> for (int i = 0; i < Integer.MAX_VALUE; i++) {
> cache.put(new PersonKey(i), i);
> if (i % 100 == 0)
> System.out.println(i);
> }
> }
> }
> private static class PersonKey {
> @QuerySqlField
> private long id;
> public PersonKey(long id) {
> this.id = id;
> }
> }{code}
> {code:java}
> class 
> org.apache.ignite.internal.processors.cache.persistence.tree.CorruptedTreeException:
>  B+Tree is corrupted [groupId=-1938387115, pageIds=[844420635166787], 
> cacheId=-1938387115, cacheName=PERSON, indexName=_key_PK, msg=Runtime failure 
> on row: Row@6c2ed0cd[ key: org.apache.ignite.examples.CacheStore$PersonKey 
> [idHash=2107543287, hash=-1581735888, id=4870], val: 4870 ][  ]]
>     at 
> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexTree.corruptedTreeException(InlineIndexTree.java:585)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.doPut(BPlusTree.java:2572)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.tree.BPlusTree.putx(BPlusTree.java:2512)
>     at 
> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexImpl.putx(InlineIndexImpl.java:265)
>     at 
> org.apache.ignite.internal.cache.query.index.sorted.inline.InlineIndexImpl.onUpdate(InlineIndexImpl.java:247)
>     at 
> org.apache.ignite.internal.cache.query.index.IndexProcessor.updateIndex(IndexProcessor.java:452)
>     at 
> org.apache.ignite.internal.cache.query.index.IndexProcessor.updateIndexes(IndexProcessor.java:295)
>     at 
> org.apache.ignite.internal.cache.query.index.IndexProcessor.store(IndexProcessor.java:142)
>     at 
> org.apache.ignite.internal.processors.query.GridQueryProcessor.store(GridQueryProcessor.java:2548)
>     at 
> org.apache.ignite.internal.processors.cache.query.GridCacheQueryManager.store(GridCacheQueryManager.java:422)
>     at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.finishUpdate(IgniteCacheOffheapManagerImpl.java:2674)
>     at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke0(IgniteCacheOffheapManagerImpl.java:1750)
>     at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.invoke(IgniteCacheOffheapManagerImpl.java:1725)
>     at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl.invoke(IgniteCacheOffheapManagerImpl.java:449)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheMapEntry.innerUpdate(GridCacheMapEntry.java:2331)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateSingle(GridDhtAtomicCache.java:2541)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update(GridDhtAtomicCache.java:2004)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal0(GridDhtAtomicCache.java:1821)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.updateAllAsyncInternal(GridDhtAtomicCache.java:1694)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.sendSingleRequest(GridNearAtomicAbstractUpdateFuture.java:300)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.map(GridNearAtomicSingleUpdateFuture.java:481)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:441)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:249)
>     at 
> org.apache.ignite.internal.process

[jira] [Commented] (IGNITE-16363) Provide a guarantee of completeness of pre-recovery actions

2022-02-09 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-16363:


LGTM

> Provide a guarantee of completeness of pre-recovery actions
> ---
>
> Key: IGNITE-16363
> URL: https://issues.apache.org/jira/browse/IGNITE-16363
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> We need to be sure that recovery should perform on the node after it has 
> joined physical topology and has been validated via node join protocol.
> Necessary prerequisites for the recovery start are following:
>  * the node has retrieved the information and metastorage group from Vault;
>  * the node has received a join response in case of non-standalone mode, 
> meaning that the node is validated and is allowed to join the cluster. This 
> step can be mocked for now;
>  * all components have started and subscribed on configuration updates and 
> events. After this, notifications should be allowed and the recovery actually 
> starts.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)


[jira] [Created] (IGNITE-16506) Modernizer plugin does not find any violations during the build even if they exist

2022-02-09 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-16506:
--

 Summary: Modernizer plugin does not find any violations during the 
build even if they exist
 Key: IGNITE-16506
 URL: https://issues.apache.org/jira/browse/IGNITE-16506
 Project: Ignite
  Issue Type: Bug
  Components: build
Reporter: Roman Puchkovskiy
Assignee: Petr Ivanov
 Fix For: 3.0.0-alpha5


If I add the following code in any java class (except the excluded packages)

String s = new String(new byte[0]);

then the modernizer plugin should fail the build, but the build finishes 
successfully.

I build using 'mvn clean verify -DskipTests'.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)