[jira] [Commented] (IGNITE-13510) Getting status of snapshot execution via command line and jmx

2022-08-16 Thread Sergei Ryzhov (Jira)


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

Sergei Ryzhov commented on IGNITE-13510:


[~NSAmelchev] Hi, i don't have time to continue this right now.

> Getting status of snapshot execution via command line and jmx
> -
>
> Key: IGNITE-13510
> URL: https://issues.apache.org/jira/browse/IGNITE-13510
> Project: Ignite
>  Issue Type: Task
>Reporter: Sergei Ryzhov
>Assignee: Amelchev Nikita
>Priority: Major
>  Labels: iep-43, ise, snapshot
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> the control.sh utility immediately relinquishes control
> and without using metricExporter it is impossible to understand whether the 
> snapshot completed or not
> Restoring
> {code:java}
> Control utility [ver. 2.12.0-SNAPSHOT#20211004-sha1:77de60a7]
> 2021 Copyright(C) Apache Software Foundation
> User: sega
> Time: 2021-10-07T14:18:59.523
> Command [SNAPSHOT] started
> Arguments: --snapshot status --yes 
> 
> Status of SNAPSHOT operations:
> gridCommandHandlerTest0 -> Restoring to snapshot with name: snapshot_02052020
> gridCommandHandlerTest1 -> Restoring to snapshot with name: snapshot_02052020
> Command [SNAPSHOT] finished with code: 0
> Control utility has completed execution at: 2021-10-07T14:18:59.546
> Execution time: 23 ms
> {code}
> Creating
> {code:java}
> Control utility [ver. 2.12.0-SNAPSHOT#20211004-sha1:77de60a7]
> 2021 Copyright(C) Apache Software Foundation
> User: sega
> Time: 2021-10-07T14:18:55.368
> Command [SNAPSHOT] started
> Arguments: --snapshot status --yes 
> 
> Status of SNAPSHOT operations:
> gridCommandHandlerTest0 -> Creating the snapshot with name: snapshot_02052020
> gridCommandHandlerTest1 -> Creating the snapshot with name: snapshot_02052020
> Command [SNAPSHOT] finished with code: 0
> Control utility has completed execution at: 2021-10-07T14:18:55.391
> Execution time: 23 ms
> {code}
> No snapshot operation
> {code:java}
> Control utility [ver. 2.12.0-SNAPSHOT#20211004-sha1:77de60a7]
> 2021 Copyright(C) Apache Software Foundation
> User: sega
> Time: 2021-10-07T14:18:58.408
> Command [SNAPSHOT] started
> Arguments: --snapshot status --yes 
> 
> Status of SNAPSHOT operations:
> gridCommandHandlerTest0 -> No snapshot operation.
> gridCommandHandlerTest1 -> No snapshot operation.
> Command [SNAPSHOT] finished with code: 0
> Control utility has completed execution at: 2021-10-07T14:18:58.439
> Execution time: 31 ms
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17540) Create error codes for volatile raft configuration

2022-08-16 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-17540:
--

 Summary: Create error codes for volatile raft configuration
 Key: IGNITE-17540
 URL: https://issues.apache.org/jira/browse/IGNITE-17540
 Project: Ignite
  Issue Type: Improvement
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
 Fix For: 3.0.0-alpha6


VolatileLogStorageFactory throws deprecated IgniteInternalException without 
error codes. Explicit error codes need to be used.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17177) Implement PITR based on Consistent Cut algorithm

2022-08-16 Thread Dmitry Pavlov (Jira)


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

Dmitry Pavlov updated IGNITE-17177:
---
Fix Version/s: 2.14

> Implement PITR based on Consistent Cut algorithm
> 
>
> Key: IGNITE-17177
> URL: https://issues.apache.org/jira/browse/IGNITE-17177
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-89, ise
> Fix For: 2.14
>
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] (IGNITE-17457) Cluster locks after the transaction recovery procedure if the tx primary node fail

2022-08-16 Thread Anton Vinogradov (Jira)


[ https://issues.apache.org/jira/browse/IGNITE-17457 ]


Anton Vinogradov deleted comment on IGNITE-17457:
---

was (Author: ignitetcbot):
{panel:title=Branch: [pull/10178/head] Base: [master] : Possible Blockers 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Cache 12{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6717474]]
* IgniteCacheTestSuite12: 
TxRecoveryWithConcurrentRollbackTest.testRecoveryNotDeadLockOnPrimaryFail - New 
test duration 96s is more that 1 minute

{panel}
{panel:title=Branch: [pull/10178/head] Base: [master] : New Tests 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Cache 12{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6717474]]
* {color:#013220}IgniteCacheTestSuite12: 
TxRecoveryWithConcurrentRollbackTest.testRecoveryNotDeadLockOnPrimaryFail - 
PASSED{color}

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

> Cluster locks after the transaction recovery procedure if the tx primary node 
> fail
> --
>
> Key: IGNITE-17457
> URL: https://issues.apache.org/jira/browse/IGNITE-17457
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Major
>  Time Spent: 7h 20m
>  Remaining Estimate: 0h
>
> Ignite cluster may be locked (all client operations would block) after the tx 
> recovery procedure executed on the tx primary node failure.
> The prepared transaction may remain un-commited on the backup node after the 
> tx recovery.  So the partition exchange wouldn't complete. So cluster would 
> be locked.
> 
> The Immediate reason is the race condition in the method:
> {code:java}
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter::markFinalizing(RECOVERY_FINISH){code}
> If 2 or more backups are configured It may be called concurrently for the 
> same transaction both from the recovery procedure:
> {code:java}
> IgniteTxManager::commitIfPrepared{code}
> and from the tx recovery request handler:
> {code:java}
> IgniteTxHandler::processCheckPreparedTxRequest{code}
> Problem occur if thread context is switched between old finalization status 
> request and status update.
> 
> The problematic sequence of events is as follows (the lock will be in the 
> node1):
> 1. Start cluster with 3 nodes (node0, node1, node2) and cache with 2 backups.
> 2. On node2 start and prepare transaction choosing key with primary partition 
> stored on node2.
> 3. Kill node2
> 4. The tx recovery procedure is started both on node0 and node1
> 5. In scope of the recovery procedure node0 sends tx recovery request to node1
> 6. The following steps are executed on the node1 in two threads ("procedure" 
> which is a system pool thread executing the tx recovery procedure and 
> "handler" which is a striped pool thread processing the tx recovery request 
> sent from node0):
>  - tx.finalization == NONE
>  - "procedure": calls markFinalizing(RECOVERY_FINISH)
>  - "handler": calls markFinalizing(RECOVERY_FINISH)
>  - "procedure": gets old tx.finlalization - it's NONE
>  - "handler": gets old tx.finalization - it's NONE
>  - "handler": updates tx.finalization - now it's RECOVERY_FINISH
>  - "procedure": tries to update tx.finalization via compareAndSet and fails 
> since compare fails.
>  - "procedure": stops transaction processing and does not try to commit it.
>  - Transaction remains not finished on node1.
> 
> Reproducer is in the pull request.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-14703) Add merge-sort reducer for cache queries.

2022-08-16 Thread Dmitry Pavlov (Jira)


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

Dmitry Pavlov updated IGNITE-14703:
---
Labels: IEP-71 ise  (was: IEP-71)

> Add merge-sort reducer for cache queries.
> -
>
> Key: IGNITE-14703
> URL: https://issues.apache.org/jira/browse/IGNITE-14703
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.12
>
> Attachments: MasterPerfTest2.png, PRPerfTest2.png
>
>  Time Spent: 26h 50m
>  Remaining Estimate: 0h
>
> MergeSort reducer is required for TextQueries (and IndexQuery in future) that 
> should provide a sorted result for user.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] (IGNITE-17457) Cluster locks after the transaction recovery procedure if the tx primary node fail

2022-08-16 Thread Anton Vinogradov (Jira)


[ https://issues.apache.org/jira/browse/IGNITE-17457 ]


Anton Vinogradov deleted comment on IGNITE-17457:
---

was (Author: ignitetcbot):
{panel:title=Branch: [pull/10178/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10178/head] Base: [master] : New Tests 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Cache 12{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6710160]]
* {color:#013220}IgniteCacheTestSuite12: 
TxRecoveryWithConcurrentRollbackTest.testRecoveryNotDeadLockOnPrimaryFail - 
PASSED{color}

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

> Cluster locks after the transaction recovery procedure if the tx primary node 
> fail
> --
>
> Key: IGNITE-17457
> URL: https://issues.apache.org/jira/browse/IGNITE-17457
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Major
>  Time Spent: 7h 20m
>  Remaining Estimate: 0h
>
> Ignite cluster may be locked (all client operations would block) after the tx 
> recovery procedure executed on the tx primary node failure.
> The prepared transaction may remain un-commited on the backup node after the 
> tx recovery.  So the partition exchange wouldn't complete. So cluster would 
> be locked.
> 
> The Immediate reason is the race condition in the method:
> {code:java}
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter::markFinalizing(RECOVERY_FINISH){code}
> If 2 or more backups are configured It may be called concurrently for the 
> same transaction both from the recovery procedure:
> {code:java}
> IgniteTxManager::commitIfPrepared{code}
> and from the tx recovery request handler:
> {code:java}
> IgniteTxHandler::processCheckPreparedTxRequest{code}
> Problem occur if thread context is switched between old finalization status 
> request and status update.
> 
> The problematic sequence of events is as follows (the lock will be in the 
> node1):
> 1. Start cluster with 3 nodes (node0, node1, node2) and cache with 2 backups.
> 2. On node2 start and prepare transaction choosing key with primary partition 
> stored on node2.
> 3. Kill node2
> 4. The tx recovery procedure is started both on node0 and node1
> 5. In scope of the recovery procedure node0 sends tx recovery request to node1
> 6. The following steps are executed on the node1 in two threads ("procedure" 
> which is a system pool thread executing the tx recovery procedure and 
> "handler" which is a striped pool thread processing the tx recovery request 
> sent from node0):
>  - tx.finalization == NONE
>  - "procedure": calls markFinalizing(RECOVERY_FINISH)
>  - "handler": calls markFinalizing(RECOVERY_FINISH)
>  - "procedure": gets old tx.finlalization - it's NONE
>  - "handler": gets old tx.finalization - it's NONE
>  - "handler": updates tx.finalization - now it's RECOVERY_FINISH
>  - "procedure": tries to update tx.finalization via compareAndSet and fails 
> since compare fails.
>  - "procedure": stops transaction processing and does not try to commit it.
>  - Transaction remains not finished on node1.
> 
> Reproducer is in the pull request.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] (IGNITE-17457) Cluster locks after the transaction recovery procedure if the tx primary node fail

2022-08-16 Thread Anton Vinogradov (Jira)


[ https://issues.apache.org/jira/browse/IGNITE-17457 ]


Anton Vinogradov deleted comment on IGNITE-17457:
---

was (Author: ignitetcbot):
{panel:title=Branch: [pull/10178/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10178/head] Base: [master] : New Tests 
(1)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Cache 12{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=6720371]]
* {color:#013220}IgniteCacheTestSuite12: 
TxRecoveryConcurrentOnPrimaryFailTest.testRecoveryNotDeadLockOnPrimaryFail - 
PASSED{color}

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

> Cluster locks after the transaction recovery procedure if the tx primary node 
> fail
> --
>
> Key: IGNITE-17457
> URL: https://issues.apache.org/jira/browse/IGNITE-17457
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Major
>  Time Spent: 7h 20m
>  Remaining Estimate: 0h
>
> Ignite cluster may be locked (all client operations would block) after the tx 
> recovery procedure executed on the tx primary node failure.
> The prepared transaction may remain un-commited on the backup node after the 
> tx recovery.  So the partition exchange wouldn't complete. So cluster would 
> be locked.
> 
> The Immediate reason is the race condition in the method:
> {code:java}
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxAdapter::markFinalizing(RECOVERY_FINISH){code}
> If 2 or more backups are configured It may be called concurrently for the 
> same transaction both from the recovery procedure:
> {code:java}
> IgniteTxManager::commitIfPrepared{code}
> and from the tx recovery request handler:
> {code:java}
> IgniteTxHandler::processCheckPreparedTxRequest{code}
> Problem occur if thread context is switched between old finalization status 
> request and status update.
> 
> The problematic sequence of events is as follows (the lock will be in the 
> node1):
> 1. Start cluster with 3 nodes (node0, node1, node2) and cache with 2 backups.
> 2. On node2 start and prepare transaction choosing key with primary partition 
> stored on node2.
> 3. Kill node2
> 4. The tx recovery procedure is started both on node0 and node1
> 5. In scope of the recovery procedure node0 sends tx recovery request to node1
> 6. The following steps are executed on the node1 in two threads ("procedure" 
> which is a system pool thread executing the tx recovery procedure and 
> "handler" which is a striped pool thread processing the tx recovery request 
> sent from node0):
>  - tx.finalization == NONE
>  - "procedure": calls markFinalizing(RECOVERY_FINISH)
>  - "handler": calls markFinalizing(RECOVERY_FINISH)
>  - "procedure": gets old tx.finlalization - it's NONE
>  - "handler": gets old tx.finalization - it's NONE
>  - "handler": updates tx.finalization - now it's RECOVERY_FINISH
>  - "procedure": tries to update tx.finalization via compareAndSet and fails 
> since compare fails.
>  - "procedure": stops transaction processing and does not try to commit it.
>  - Transaction remains not finished on node1.
> 
> Reproducer is in the pull request.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17512) Load logger and test configuration from the classpath.

2022-08-16 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-17512:


{panel:title=Branch: [pull/10193/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10193/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=6733427buildTypeId=IgniteTests24Java8_RunAll]

> Load logger and test configuration from the classpath.
> --
>
> Key: IGNITE-17512
> URL: https://issues.apache.org/jira/browse/IGNITE-17512
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Pereslegin
>Assignee: Pavel Pereslegin
>Priority: Minor
>  Labels: test-framework
> Fix For: 2.14
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We currently only load log4j2-test.xml/test.properties from the ignite config 
> directory. These files are not included in the test jar.
> This is very inconvenient for modules that use the Ignite test framework 
> (extensions, for the most part).
> Suggestion:
> 1. include log4j2-test.xml and test.properties into test jar.
> 2. if log4j2-test.xml/test.properties was not found in ignite config 
> directory - load them from the classpath.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17378) Check the replica is a primary before processing request at Replica

2022-08-16 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel commented on IGNITE-17378:


Merged into https://github.com/gridgain/apache-ignite-3/tree/ignite3_tx

> Check the replica is a primary before processing request at Replica
> ---
>
> Key: IGNITE-17378
> URL: https://issues.apache.org/jira/browse/IGNITE-17378
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3, transaction3_rw
>
> Need to check that a current leader and a leader from request are equals on 
> Replica#processRequest. For this purpose we need to use  
> RaftGroupService#refreshAndGetLeaderWithTerm in InternalTableImpl#enlist, 
> send Leader and Term with request and compare it in Replica#processRequest. 
> If they not equals then need to throw PrimaryReplicaMissException.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17526) NPE in GridCacheDistributedQueryFuture for node failure

2022-08-16 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-17526:

Ignite Flags:   (was: Release Notes Required)

> NPE in GridCacheDistributedQueryFuture for node failure
> ---
>
> Key: IGNITE-17526
> URL: https://issues.apache.org/jira/browse/IGNITE-17526
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
> Fix For: 2.14
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> NPE in #onNodeLeft as it doesn't check whether node is in the `#streams` or 
> not.
>  
>   java.lang.NullPointerException: null
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryFuture.onNodeLeft(GridCacheDistributedQueryFuture.java:144)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$3.onEvent(GridCacheDistributedQueryManager.java:118)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager$LocalListenerWrapper.onEvent(GridEventStorageManager.java:1408)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:903)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:888)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record0(GridEventStorageManager.java:359)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:322)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:3056)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:3273)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:3076)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) 
> [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291]
>  
> [https://ci2.ignite.apache.org/test/-8353273041775919887?currentProjectId=IgniteTests24Java8=%3Cdefault%3E=true]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-14914) Support in() clause in IndexQuery.

2022-08-16 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-14914:


{panel:title=Branch: [pull/10195/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10195/head] Base: [master] : New Tests 
(58)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Index Query API{color} [[tests 
58|https://ci.ignite.apache.org/viewLog.html?buildId=6733518]]
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleValueInCriterion - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleInCriterionOnSecondField - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInWithRangeCrossCriterionOnSecondField
 - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleInWithSingleRangeCriterion - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testTwoValuesInCriterion - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleInWithMultipleRangeCriterion - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInWithSingleRangeCriterionCrossing - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInCriteriaAndRangeCriteriaNoCross - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionTest.testExplcitiInCriterionWithNullVal - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionTest.testDuplicatedInCriterionFailure - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInCriterion - PASSED{color}
... and 47 new tests

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

> Support in() clause in IndexQuery.
> --
>
> Key: IGNITE-14914
> URL: https://issues.apache.org/jira/browse/IGNITE-14914
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.14
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> IndexQuery should support IN criterion:
> {{IndexQuery.setCriteria(in("A", Arrays.asList(1, 2 ,3)));}}
>  # IN criterion accepts collection of values to find. This collections is 
> transformed to {{SortedSet(1, 2, 3)}} because IndexQuery provides to user 
> sorted result.
>  # When IN applies on first indexed field - IN(A0, A1) for index (A, B) - it 
> converts to multiple {{eq}} operations are joint with OR operation: 
> {{{}EQ(A0) or EQ(A1){}}}.
>  # Other range criteria for other fields are applied to every such separate 
> operation:
> {{IN(A0, A1) and GT(B)}} converts to {{{}(EQ(A0) and GT(B)) or (EQ(A1) and 
> GT(B)){}}}.
>  # When IN applies to non-leading indexed field - IN(B0, B1) for index (A, B) 
> - it works like a filter for prepared range:
> {{GTE(A) and IN(B0, B1)}} converts to range {{[[A, B0]; [A, B1]]}} and every 
> cache entry within this range is checked for being included to SortedSet(B0, 
> B1).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17531) Tests covers consistency repair at inconsistent cluster with nonfinalized counters

2022-08-16 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-17531:


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

> Tests covers consistency repair at inconsistent cluster with nonfinalized 
> counters
> --
>
> Key: IGNITE-17531
> URL: https://issues.apache.org/jira/browse/IGNITE-17531
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Test must 
> 1) Generate data with missed unordered update counter (gaps)
> 2) Perform restart with rebalance (full or historiical)
> 3) Check consistency on restart using idle_verify
> 4) Fix inconsistency using consistency_repair 
> 5) Check result using idle_verify
> The main goal is to check recovery at production (where cluster may fail 
> under the load) tools and approaches.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Comment Edited] (IGNITE-16136) System Thread pool starvation and out of memory

2022-08-16 Thread David Albrecht (Jira)


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

David Albrecht edited comment on IGNITE-16136 at 8/16/22 3:03 PM:
--

Yes we are using thick clients (Spring applications running in Tomcats) with 
one single server node. *But we do not use continous queries at least not 
intentionally.*

Up to now the problem has occurred on three different systems, each in a 
different application acting as an Ignite node. However unfortunately, we do 
not know how to reproduce the problem. 

We investigated two of the systems according to your questions and the above 
command returned:

System 1:
ignite\work\db\marshaller = 125 Files

System 2:
ignite\work\db\marshaller = 124 Files

We define the configuration using Spring configuration and properties. You can 
find the corresponding files attached.

 [^configuration.zip] 

Please let me know if thats sufficient to proceed.


was (Author: sawfish):
Yes we are using thick clients (Spring applications running in Tomcats). *But 
we do not use continous queries at least not intentionally.*

Up to now the problem has occurred on three different systems, each in a 
different application acting as an Ignite node. However unfortunately, we do 
not know how to reproduce the problem. 

We investigated two of the systems according to your questions and the above 
command returned:

System 1:
ignite\work\db\marshaller = 125 Files

System 2:
ignite\work\db\marshaller = 124 Files

We define the configuration using Spring configuration and properties. You can 
find the corresponding files attached.

 [^configuration.zip] 

Please let me know if thats sufficient to proceed.

> System Thread pool starvation and out of memory
> ---
>
> Key: IGNITE-16136
> URL: https://issues.apache.org/jira/browse/IGNITE-16136
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.6
>Reporter: David Albrecht
>Assignee: Maxim Muzafarov
>Priority: Critical
>  Labels: ise
> Fix For: 2.14
>
> Attachments: configuration.zip, image-2021-12-15-21-13-43-775.png, 
> image-2021-12-15-21-17-47-652.png
>
>
> We are experiencing thread pool starvations and after some time out of memory 
> exceptions in some of our ignite client nodes while the server node seems to 
> be running without any problems. It seems like all sys threads are stuck when 
> calling MarshallerContextImpl.getClassName. Which in turn leads to a growing 
> worker queue.
>  
> First warnings regarding the thread pool starvation:
> {code:java}
> 10.12.21 11:22:34.603 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:27:34.654 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:32:34.713 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:37:34.764 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:42:34.796 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:47:34.839 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> {code}
> Out of memory error leading to a crash of the application:
> {code}
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "https-openssl-nio-16443-ClientPoller"
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "ajp-nio-16009-ClientPoller"
> 11-Dec-2021 03:07:24.446 SEVERE [Catalina-utility-1] 
> org.apache.coyote.AbstractProtocol.startAsyncTimeout Error processing async 
> timeouts
>   java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: 
> Java heap space
> {code}
> The queue full of messages:
>  !image-2021-12-15-21-17-47-652.png! 
> It seems like all sys threads are stuck while waiting at:
> {code}
> sys-#170
>   at jdk.internal.misc.Unsafe.park(ZJ)V (Native Method)
>   at java.util.concurrent.locks.LockSupport.park()V 

[jira] [Comment Edited] (IGNITE-16136) System Thread pool starvation and out of memory

2022-08-16 Thread David Albrecht (Jira)


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

David Albrecht edited comment on IGNITE-16136 at 8/16/22 3:03 PM:
--

Yes we are using thick clients (Spring applications running in Tomcats) with 
one single server node. *But we do not use continous queries at least not 
intentionally.*

Up to now the problem has occurred on three different systems, each in a 
different application acting as an Ignite client node. However unfortunately, 
we do not know how to reproduce the problem. 

We investigated two of the systems according to your questions and the above 
command returned:

System 1:
ignite\work\db\marshaller = 125 Files

System 2:
ignite\work\db\marshaller = 124 Files

We define the configuration using Spring configuration and properties. You can 
find the corresponding files attached.

 [^configuration.zip] 

Please let me know if thats sufficient to proceed.


was (Author: sawfish):
Yes we are using thick clients (Spring applications running in Tomcats) with 
one single server node. *But we do not use continous queries at least not 
intentionally.*

Up to now the problem has occurred on three different systems, each in a 
different application acting as an Ignite node. However unfortunately, we do 
not know how to reproduce the problem. 

We investigated two of the systems according to your questions and the above 
command returned:

System 1:
ignite\work\db\marshaller = 125 Files

System 2:
ignite\work\db\marshaller = 124 Files

We define the configuration using Spring configuration and properties. You can 
find the corresponding files attached.

 [^configuration.zip] 

Please let me know if thats sufficient to proceed.

> System Thread pool starvation and out of memory
> ---
>
> Key: IGNITE-16136
> URL: https://issues.apache.org/jira/browse/IGNITE-16136
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.6
>Reporter: David Albrecht
>Assignee: Maxim Muzafarov
>Priority: Critical
>  Labels: ise
> Fix For: 2.14
>
> Attachments: configuration.zip, image-2021-12-15-21-13-43-775.png, 
> image-2021-12-15-21-17-47-652.png
>
>
> We are experiencing thread pool starvations and after some time out of memory 
> exceptions in some of our ignite client nodes while the server node seems to 
> be running without any problems. It seems like all sys threads are stuck when 
> calling MarshallerContextImpl.getClassName. Which in turn leads to a growing 
> worker queue.
>  
> First warnings regarding the thread pool starvation:
> {code:java}
> 10.12.21 11:22:34.603 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:27:34.654 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:32:34.713 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:37:34.764 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:42:34.796 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:47:34.839 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> {code}
> Out of memory error leading to a crash of the application:
> {code}
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "https-openssl-nio-16443-ClientPoller"
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "ajp-nio-16009-ClientPoller"
> 11-Dec-2021 03:07:24.446 SEVERE [Catalina-utility-1] 
> org.apache.coyote.AbstractProtocol.startAsyncTimeout Error processing async 
> timeouts
>   java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: 
> Java heap space
> {code}
> The queue full of messages:
>  !image-2021-12-15-21-17-47-652.png! 
> It seems like all sys threads are stuck while waiting at:
> {code}
> sys-#170
>   at jdk.internal.misc.Unsafe.park(ZJ)V (Native Method)
>   at 

[jira] [Updated] (IGNITE-16136) System Thread pool starvation and out of memory

2022-08-16 Thread David Albrecht (Jira)


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

David Albrecht updated IGNITE-16136:

Attachment: configuration.zip

> System Thread pool starvation and out of memory
> ---
>
> Key: IGNITE-16136
> URL: https://issues.apache.org/jira/browse/IGNITE-16136
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.6
>Reporter: David Albrecht
>Assignee: Maxim Muzafarov
>Priority: Critical
>  Labels: ise
> Fix For: 2.14
>
> Attachments: configuration.zip, image-2021-12-15-21-13-43-775.png, 
> image-2021-12-15-21-17-47-652.png
>
>
> We are experiencing thread pool starvations and after some time out of memory 
> exceptions in some of our ignite client nodes while the server node seems to 
> be running without any problems. It seems like all sys threads are stuck when 
> calling MarshallerContextImpl.getClassName. Which in turn leads to a growing 
> worker queue.
>  
> First warnings regarding the thread pool starvation:
> {code:java}
> 10.12.21 11:22:34.603 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:27:34.654 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:32:34.713 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:37:34.764 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:42:34.796 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:47:34.839 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> {code}
> Out of memory error leading to a crash of the application:
> {code}
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "https-openssl-nio-16443-ClientPoller"
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "ajp-nio-16009-ClientPoller"
> 11-Dec-2021 03:07:24.446 SEVERE [Catalina-utility-1] 
> org.apache.coyote.AbstractProtocol.startAsyncTimeout Error processing async 
> timeouts
>   java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: 
> Java heap space
> {code}
> The queue full of messages:
>  !image-2021-12-15-21-17-47-652.png! 
> It seems like all sys threads are stuck while waiting at:
> {code}
> sys-#170
>   at jdk.internal.misc.Unsafe.park(ZJ)V (Native Method)
>   at java.util.concurrent.locks.LockSupport.park()V (LockSupport.java:323)
>   at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(Z)Ljava/lang/Object;
>  (GridFutureAdapter.java:178)
>   at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get()Ljava/lang/Object;
>  (GridFutureAdapter.java:141)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClassName(BI)Ljava/lang/String;
>  (MarshallerContextImpl.java:379)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(ILjava/lang/ClassLoader;)Ljava/lang/Class;
>  (MarshallerContextImpl.java:344)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(Ljava/util/concurrent/ConcurrentMap;ILjava/lang/ClassLoader;Lorg/apache/ignite/marshaller/MarshallerContext;Lorg/apache/ignite/internal/marshaller/optimized/OptimizedMarshallerIdMapper;)Lorg/apache/ignite/internal/marshaller/optimized/OptimizedClassDescriptor;
>  (OptimizedMarshallerUtils.java:264)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0()Ljava/lang/Object;
>  (OptimizedObjectInputStream.java:341)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride()Ljava/lang/Object;
>  (OptimizedObjectInputStream.java:198)
>   at 
> java.io.ObjectInputStream.readObject(Ljava/lang/Class;)Ljava/lang/Object; 
> (ObjectInputStream.java:484)
>   at java.io.ObjectInputStream.readObject()Ljava/lang/Object; 
> (ObjectInputStream.java:451)
>   at 
> 

[jira] [Commented] (IGNITE-16136) System Thread pool starvation and out of memory

2022-08-16 Thread David Albrecht (Jira)


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

David Albrecht commented on IGNITE-16136:
-

Yes we are using thick clients (Spring applications running in Tomcats). *But 
we do not use continous queries at least not intentionally.*

Up to now the problem has occurred on three different systems, each in a 
different application acting as an Ignite node. However unfortunately, we do 
not know how to reproduce the problem. 

We investigated two of the systems according to your questions and the above 
command returned:

System 1:
ignite\work\db\marshaller = 125 Files

System 2:
ignite\work\db\marshaller = 124 Files

We define the configuration using Spring configuration and properties. You can 
find the corresponding files attached.

 [^configuration.zip] 

Please let me know if thats sufficient to proceed.

> System Thread pool starvation and out of memory
> ---
>
> Key: IGNITE-16136
> URL: https://issues.apache.org/jira/browse/IGNITE-16136
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.6
>Reporter: David Albrecht
>Assignee: Maxim Muzafarov
>Priority: Critical
>  Labels: ise
> Fix For: 2.14
>
> Attachments: configuration.zip, image-2021-12-15-21-13-43-775.png, 
> image-2021-12-15-21-17-47-652.png
>
>
> We are experiencing thread pool starvations and after some time out of memory 
> exceptions in some of our ignite client nodes while the server node seems to 
> be running without any problems. It seems like all sys threads are stuck when 
> calling MarshallerContextImpl.getClassName. Which in turn leads to a growing 
> worker queue.
>  
> First warnings regarding the thread pool starvation:
> {code:java}
> 10.12.21 11:22:34.603 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:27:34.654 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:32:34.713 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:37:34.764 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:42:34.796 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:47:34.839 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> {code}
> Out of memory error leading to a crash of the application:
> {code}
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "https-openssl-nio-16443-ClientPoller"
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "ajp-nio-16009-ClientPoller"
> 11-Dec-2021 03:07:24.446 SEVERE [Catalina-utility-1] 
> org.apache.coyote.AbstractProtocol.startAsyncTimeout Error processing async 
> timeouts
>   java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: 
> Java heap space
> {code}
> The queue full of messages:
>  !image-2021-12-15-21-17-47-652.png! 
> It seems like all sys threads are stuck while waiting at:
> {code}
> sys-#170
>   at jdk.internal.misc.Unsafe.park(ZJ)V (Native Method)
>   at java.util.concurrent.locks.LockSupport.park()V (LockSupport.java:323)
>   at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(Z)Ljava/lang/Object;
>  (GridFutureAdapter.java:178)
>   at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get()Ljava/lang/Object;
>  (GridFutureAdapter.java:141)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClassName(BI)Ljava/lang/String;
>  (MarshallerContextImpl.java:379)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(ILjava/lang/ClassLoader;)Ljava/lang/Class;
>  (MarshallerContextImpl.java:344)
>   at 
> 

[jira] [Updated] (IGNITE-17286) Race between completing table creation and stopping TableManager

2022-08-16 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-17286:
-
Description: 
As IGNITE-17048 demonstrates, our tests sometimes fail with message like the 
following:

java.lang.AssertionError: Raft groups are still running

The leftover Raft groups always relate to table partitions (and NOT 
metastorage/cmg).

It looks like this can happen due to TableManager.stop() being called before 
some table creation is completed (on some Ignite node). As a result, 
TableManager.stop() does not see this table, so the table does not get stopped, 
and its Raft groups are left forever.

Adding a delay to table creation completion

public void onSqlSchemaReady(long causalityToken) {
    if (Math.random() < 0.33) {
        try

{             Thread.sleep(1000);         }

catch (InterruptedException e)

{             // ignore         }

    }

    LOG.info("SCHEMA READY FOR " + causalityToken);

    tablesByIdVv.complete(causalityToken);
}

makes the failure manifest itself easily.

The reproducer is in 
[https://github.com/gridgain/apache-ignite-3/tree/ignite-17286-repr]

To run the reproducer, just run 
ItComputeTest.executesColocatedByClassNameWithTupleKey()

It usually takes less than 10 iterations to bump into the assertion.

UPD:
As a result, a set of busylock were added to the table creation flow, in places 
like {{SqlSchemaManagerImpl}} , {{SchemaManager}} and others. Also, added logic 
of stopping resources in case of stopping node in the middle of the table 
creation flow

  was:
As IGNITE-17048 demonstrates, our tests sometimes fail with message like the 
following:

java.lang.AssertionError: Raft groups are still running

The leftover Raft groups always relate to table partitions (and NOT 
metastorage/cmg).

It looks like this can happen due to TableManager.stop() being called before 
some table creation is completed (on some Ignite node). As a result, 
TableManager.stop() does not see this table, so the table does not get stopped, 
and its Raft groups are left forever.

Adding a delay to table creation completion

public void onSqlSchemaReady(long causalityToken) {
    if (Math.random() < 0.33) {
        try

{             Thread.sleep(1000);         }

catch (InterruptedException e)

{             // ignore         }

    }

    LOG.info("SCHEMA READY FOR " + causalityToken);

    tablesByIdVv.complete(causalityToken);
}

makes the failure manifest itself easily.

The reproducer is in 
[https://github.com/gridgain/apache-ignite-3/tree/ignite-17286-repr]

To run the reproducer, just run 
ItComputeTest.executesColocatedByClassNameWithTupleKey()

It usually takes less than 10 iterations to bump into the assertion.


> Race between completing table creation and stopping TableManager
> 
>
> Key: IGNITE-17286
> URL: https://issues.apache.org/jira/browse/IGNITE-17286
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> As IGNITE-17048 demonstrates, our tests sometimes fail with message like the 
> following:
> java.lang.AssertionError: Raft groups are still running
> The leftover Raft groups always relate to table partitions (and NOT 
> metastorage/cmg).
> It looks like this can happen due to TableManager.stop() being called before 
> some table creation is completed (on some Ignite node). As a result, 
> TableManager.stop() does not see this table, so the table does not get 
> stopped, and its Raft groups are left forever.
> Adding a delay to table creation completion
> public void onSqlSchemaReady(long causalityToken) {
>     if (Math.random() < 0.33) {
>         try
> {             Thread.sleep(1000);         }
> catch (InterruptedException e)
> {             // ignore         }
>     }
>     LOG.info("SCHEMA READY FOR " + causalityToken);
>     tablesByIdVv.complete(causalityToken);
> }
> makes the failure manifest itself easily.
> The reproducer is in 
> [https://github.com/gridgain/apache-ignite-3/tree/ignite-17286-repr]
> To run the reproducer, just run 
> ItComputeTest.executesColocatedByClassNameWithTupleKey()
> It usually takes less than 10 iterations to bump into the assertion.
> UPD:
> As a result, a set of busylock were added to the table creation flow, in 
> places like {{SqlSchemaManagerImpl}} , {{SchemaManager}} and others. Also, 
> added logic of stopping resources in case of stopping node in the middle of 
> the table creation flow



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17378) Check the replica is a primary before processing request at Replica

2022-08-16 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-17378:


LGTM

> Check the replica is a primary before processing request at Replica
> ---
>
> Key: IGNITE-17378
> URL: https://issues.apache.org/jira/browse/IGNITE-17378
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3, transaction3_rw
>
> Need to check that a current leader and a leader from request are equals on 
> Replica#processRequest. For this purpose we need to use  
> RaftGroupService#refreshAndGetLeaderWithTerm in InternalTableImpl#enlist, 
> send Leader and Term with request and compare it in Replica#processRequest. 
> If they not equals then need to throw PrimaryReplicaMissException.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (IGNITE-16136) System Thread pool starvation and out of memory

2022-08-16 Thread Maxim Muzafarov (Jira)


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

Maxim Muzafarov reassigned IGNITE-16136:


Assignee: Maxim Muzafarov

> System Thread pool starvation and out of memory
> ---
>
> Key: IGNITE-16136
> URL: https://issues.apache.org/jira/browse/IGNITE-16136
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.7.6
>Reporter: David Albrecht
>Assignee: Maxim Muzafarov
>Priority: Critical
>  Labels: ise
> Fix For: 2.14
>
> Attachments: image-2021-12-15-21-13-43-775.png, 
> image-2021-12-15-21-17-47-652.png
>
>
> We are experiencing thread pool starvations and after some time out of memory 
> exceptions in some of our ignite client nodes while the server node seems to 
> be running without any problems. It seems like all sys threads are stuck when 
> calling MarshallerContextImpl.getClassName. Which in turn leads to a growing 
> worker queue.
>  
> First warnings regarding the thread pool starvation:
> {code:java}
> 10.12.21 11:22:34.603 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:27:34.654 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:32:34.713 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:37:34.764 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:42:34.796 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> 10.12.21 11:47:34.839 [WARN ] 
> IgniteKernal.warning(127): Possible thread pool starvation detected (no task 
> completed in last 3ms, is system thread pool size large enough?)
> {code}
> Out of memory error leading to a crash of the application:
> {code}
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "https-openssl-nio-16443-ClientPoller"
> Exception: java.lang.OutOfMemoryError thrown from the 
> UncaughtExceptionHandler in thread "ajp-nio-16009-ClientPoller"
> 11-Dec-2021 03:07:24.446 SEVERE [Catalina-utility-1] 
> org.apache.coyote.AbstractProtocol.startAsyncTimeout Error processing async 
> timeouts
>   java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: 
> Java heap space
> {code}
> The queue full of messages:
>  !image-2021-12-15-21-17-47-652.png! 
> It seems like all sys threads are stuck while waiting at:
> {code}
> sys-#170
>   at jdk.internal.misc.Unsafe.park(ZJ)V (Native Method)
>   at java.util.concurrent.locks.LockSupport.park()V (LockSupport.java:323)
>   at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get0(Z)Ljava/lang/Object;
>  (GridFutureAdapter.java:178)
>   at 
> org.apache.ignite.internal.util.future.GridFutureAdapter.get()Ljava/lang/Object;
>  (GridFutureAdapter.java:141)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClassName(BI)Ljava/lang/String;
>  (MarshallerContextImpl.java:379)
>   at 
> org.apache.ignite.internal.MarshallerContextImpl.getClass(ILjava/lang/ClassLoader;)Ljava/lang/Class;
>  (MarshallerContextImpl.java:344)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedMarshallerUtils.classDescriptor(Ljava/util/concurrent/ConcurrentMap;ILjava/lang/ClassLoader;Lorg/apache/ignite/marshaller/MarshallerContext;Lorg/apache/ignite/internal/marshaller/optimized/OptimizedMarshallerIdMapper;)Lorg/apache/ignite/internal/marshaller/optimized/OptimizedClassDescriptor;
>  (OptimizedMarshallerUtils.java:264)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObject0()Ljava/lang/Object;
>  (OptimizedObjectInputStream.java:341)
>   at 
> org.apache.ignite.internal.marshaller.optimized.OptimizedObjectInputStream.readObjectOverride()Ljava/lang/Object;
>  (OptimizedObjectInputStream.java:198)
>   at 
> java.io.ObjectInputStream.readObject(Ljava/lang/Class;)Ljava/lang/Object; 
> (ObjectInputStream.java:484)
>   at java.io.ObjectInputStream.readObject()Ljava/lang/Object; 
> (ObjectInputStream.java:451)
>   at 
> 

[jira] [Resolved] (IGNITE-17466) Remove TableStorage and PartitionStorage implementations

2022-08-16 Thread Ivan Bessonov (Jira)


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

Ivan Bessonov resolved IGNITE-17466.

Resolution: Fixed

> Remove TableStorage and PartitionStorage implementations
> 
>
> Key: IGNITE-17466
> URL: https://issues.apache.org/jira/browse/IGNITE-17466
> Project: Ignite
>  Issue Type: Task
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> All implementations of *TableStorage* and *PartitionStorage* should be 
> removed, as well as the code associated with them.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17526) NPE in GridCacheDistributedQueryFuture for node failure

2022-08-16 Thread Dmitry Pavlov (Jira)


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

Dmitry Pavlov updated IGNITE-17526:
---
Labels: ise  (was: )

> NPE in GridCacheDistributedQueryFuture for node failure
> ---
>
> Key: IGNITE-17526
> URL: https://issues.apache.org/jira/browse/IGNITE-17526
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
> Fix For: 2.14
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> NPE in #onNodeLeft as it doesn't check whether node is in the `#streams` or 
> not.
>  
>   java.lang.NullPointerException: null
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryFuture.onNodeLeft(GridCacheDistributedQueryFuture.java:144)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$3.onEvent(GridCacheDistributedQueryManager.java:118)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager$LocalListenerWrapper.onEvent(GridEventStorageManager.java:1408)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:903)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:888)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record0(GridEventStorageManager.java:359)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:322)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:3056)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:3273)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:3076)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) 
> [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291]
>  
> [https://ci2.ignite.apache.org/test/-8353273041775919887?currentProjectId=IgniteTests24Java8=%3Cdefault%3E=true]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-15921) Vulnerability in thin client protocol leads to OOM

2022-08-16 Thread Dmitry Pavlov (Jira)


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

Dmitry Pavlov updated IGNITE-15921:
---
Labels: ise ise.lts  (was: ise.lts)

> Vulnerability in thin client protocol leads to OOM
> --
>
> Key: IGNITE-15921
> URL: https://issues.apache.org/jira/browse/IGNITE-15921
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 2.11
>Reporter: Ilya Kazakov
>Assignee: Pavel Tupitsyn
>Priority: Critical
>  Labels: ise, ise.lts
> Fix For: 2.13
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> As thin client protocol interprets first 4 bytes as message size and allocate 
> array for it. Any "big" 4 bytes sent on thin client port could leads to OOM.
> Some ideas to resolve:
>  - print WARN in case of big client message
>  - allocate array not for all message, but allocate it gradually.
>  - read more then first4 bytes to understand is it real client message, or it 
> is some trash.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17539) ErrorGroups is not called in CLI

2022-08-16 Thread Aleksandr (Jira)
Aleksandr created IGNITE-17539:
--

 Summary: ErrorGroups is not called in CLI
 Key: IGNITE-17539
 URL: https://issues.apache.org/jira/browse/IGNITE-17539
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr


{{ErrorGroups}} static initializers are not called in CLI. It leads to the NPE 
here {{TcpClientChannel line 322: new IgniteException(traceId, code, 
errClassName + ": " + errMsg, causeWithStackTrace)}} because 
{{ErrorGroup#registeredGroups}} is an empty map.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (IGNITE-17539) ErrorGroups is not called in CLI

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr reassigned IGNITE-17539:
--

Assignee: Vyacheslav Koptilin  (was: Aleksandr)

> ErrorGroups is not called in CLI
> 
>
> Key: IGNITE-17539
> URL: https://issues.apache.org/jira/browse/IGNITE-17539
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr
>Assignee: Vyacheslav Koptilin
>Priority: Major
>  Labels: ignite-3
>
> {{ErrorGroups}} static initializers are not called in CLI. It leads to the 
> NPE here {{TcpClientChannel line 322: new IgniteException(traceId, code, 
> errClassName + ": " + errMsg, causeWithStackTrace)}} because 
> {{ErrorGroup#registeredGroups}} is an empty map.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (IGNITE-17539) ErrorGroups is not called in CLI

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr reassigned IGNITE-17539:
--

Assignee: Aleksandr

> ErrorGroups is not called in CLI
> 
>
> Key: IGNITE-17539
> URL: https://issues.apache.org/jira/browse/IGNITE-17539
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr
>Assignee: Aleksandr
>Priority: Major
>  Labels: ignite-3
>
> {{ErrorGroups}} static initializers are not called in CLI. It leads to the 
> NPE here {{TcpClientChannel line 322: new IgniteException(traceId, code, 
> errClassName + ": " + errMsg, causeWithStackTrace)}} because 
> {{ErrorGroup#registeredGroups}} is an empty map.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17538) [Ignite Website] Ignite Summit Europe_Update website banners

2022-08-16 Thread Evgenia (Jira)
Evgenia created IGNITE-17538:


 Summary: [Ignite Website] Ignite Summit Europe_Update website 
banners
 Key: IGNITE-17538
 URL: https://issues.apache.org/jira/browse/IGNITE-17538
 Project: Ignite
  Issue Type: Task
  Components: website
Reporter: Evgenia
 Attachments: docs.jpg, event.jpg, ignite-Summit.jpg

Please add a new Ignite Summit and update event banners.

 

All the links should lead to [Ignite Summit November 9-10, 2022 
|https://ignite-summit.org/2022-november/]

Places to update banners:

1) Featured events

[Distributed Database - Apache Ignite|https://ignite.apache.org/]

2) Doc's banner

[https://ignite.apache.org/docs/latest/]

3) Text banner at the top (doc's page)

Change from

Ignite Summit—June 2022—Recordings Now Available!

to

Ignite Summit Europe—November 2022—Call For Speakers Is Now Open!

4) Update event page with a new event

[Apache Ignite Events - Meetups, Summit, 
Conference|https://ignite.apache.org/events.html#summit]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17455) IndexQuery should support setPartition

2022-08-16 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-17455:
-
Fix Version/s: 2.14

> IndexQuery should support setPartition
> --
>
> Key: IGNITE-17455
> URL: https://issues.apache.org/jira/browse/IGNITE-17455
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.14
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Currently IndexQuery doesn't support querying specified partition. But other 
> types of queries provide this option - ScanQuery, SqlFieldsQuery.
> It's useful option for working with affinity requests. Then IndexQuery should 
> work over single partition.
> To make it possible to migrate to IndexQuery from others queries let's add 
> such opportunity.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17532) RocksDB partition destruction

2022-08-16 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-17532:
-
Labels: ignite-3  (was: )

> RocksDB partition destruction
> -
>
> Key: IGNITE-17532
> URL: https://issues.apache.org/jira/browse/IGNITE-17532
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Current implementation has WAL disabled. This means that deleted partition 
> can resurrect bu itself after restart and no one will delete it.
> Partition should be treated as deleted only when it's deleted on disc. For 
> this reason "destroyPartition" method should return a future.
> EDIT: current implementation does return a future, but with explicit flush, 
> which is technically unnecessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (IGNITE-17532) RocksDB partition destruction

2022-08-16 Thread Ivan Bessonov (Jira)


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

Ivan Bessonov resolved IGNITE-17532.

Resolution: Fixed

> RocksDB partition destruction
> -
>
> Key: IGNITE-17532
> URL: https://issues.apache.org/jira/browse/IGNITE-17532
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Current implementation has WAL disabled. This means that deleted partition 
> can resurrect bu itself after restart and no one will delete it.
> Partition should be treated as deleted only when it's deleted on disc. For 
> this reason "destroyPartition" method should return a future.
> EDIT: current implementation does return a future, but with explicit flush, 
> which is technically unnecessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17517) Clean up todo's with closed tickets in CLI

2022-08-16 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-17517:
-
Labels: ignite-3  (was: ignite,)

> Clean up todo's with closed tickets in CLI
> --
>
> Key: IGNITE-17517
> URL: https://issues.apache.org/jira/browse/IGNITE-17517
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Aleksandr
>Priority: Minor
>  Labels: ignite-3
>
> There are a couple of todo's that are forgotten, clean them up or create new 
> tickets that are not in CLOSED state. 
> https://issues.apache.org/jira/browse/IGNITE-17091 
> https://issues.apache.org/jira/browse/IGNITE-17092 
> https://issues.apache.org/jira/browse/IGNITE-17162



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (IGNITE-13510) Getting status of snapshot execution via command line and jmx

2022-08-16 Thread Amelchev Nikita (Jira)


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

Amelchev Nikita reassigned IGNITE-13510:


Assignee: Amelchev Nikita  (was: Sergei Ryzhov)

> Getting status of snapshot execution via command line and jmx
> -
>
> Key: IGNITE-13510
> URL: https://issues.apache.org/jira/browse/IGNITE-13510
> Project: Ignite
>  Issue Type: Task
>Reporter: Sergei Ryzhov
>Assignee: Amelchev Nikita
>Priority: Major
>  Labels: iep-43, ise, snapshot
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> the control.sh utility immediately relinquishes control
> and without using metricExporter it is impossible to understand whether the 
> snapshot completed or not
> Restoring
> {code:java}
> Control utility [ver. 2.12.0-SNAPSHOT#20211004-sha1:77de60a7]
> 2021 Copyright(C) Apache Software Foundation
> User: sega
> Time: 2021-10-07T14:18:59.523
> Command [SNAPSHOT] started
> Arguments: --snapshot status --yes 
> 
> Status of SNAPSHOT operations:
> gridCommandHandlerTest0 -> Restoring to snapshot with name: snapshot_02052020
> gridCommandHandlerTest1 -> Restoring to snapshot with name: snapshot_02052020
> Command [SNAPSHOT] finished with code: 0
> Control utility has completed execution at: 2021-10-07T14:18:59.546
> Execution time: 23 ms
> {code}
> Creating
> {code:java}
> Control utility [ver. 2.12.0-SNAPSHOT#20211004-sha1:77de60a7]
> 2021 Copyright(C) Apache Software Foundation
> User: sega
> Time: 2021-10-07T14:18:55.368
> Command [SNAPSHOT] started
> Arguments: --snapshot status --yes 
> 
> Status of SNAPSHOT operations:
> gridCommandHandlerTest0 -> Creating the snapshot with name: snapshot_02052020
> gridCommandHandlerTest1 -> Creating the snapshot with name: snapshot_02052020
> Command [SNAPSHOT] finished with code: 0
> Control utility has completed execution at: 2021-10-07T14:18:55.391
> Execution time: 23 ms
> {code}
> No snapshot operation
> {code:java}
> Control utility [ver. 2.12.0-SNAPSHOT#20211004-sha1:77de60a7]
> 2021 Copyright(C) Apache Software Foundation
> User: sega
> Time: 2021-10-07T14:18:58.408
> Command [SNAPSHOT] started
> Arguments: --snapshot status --yes 
> 
> Status of SNAPSHOT operations:
> gridCommandHandlerTest0 -> No snapshot operation.
> gridCommandHandlerTest1 -> No snapshot operation.
> Command [SNAPSHOT] finished with code: 0
> Control utility has completed execution at: 2021-10-07T14:18:58.439
> Execution time: 31 ms
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Description: 
Execution of {{control.sh --tx}} command produces output of matching 
transactions, eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286

  was:
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286


> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Trivial
>  Labels: ise, newbie
>
> Execution of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds [1], while timeout is printed in milliseconds. 
> We can improve output in one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.
> Links:
> # 
> https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17532) RocksDB partition destruction

2022-08-16 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-17532:
-
Reviewer: Kirill Tkalenko

> RocksDB partition destruction
> -
>
> Key: IGNITE-17532
> URL: https://issues.apache.org/jira/browse/IGNITE-17532
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Current implementation has WAL disabled. This means that deleted partition 
> can resurrect bu itself after restart and no one will delete it.
> Partition should be treated as deleted only when it's deleted on disc. For 
> this reason "destroyPartition" method should return a future.
> EDIT: current implementation does return a future, but with explicit flush, 
> which is technically unnecessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Description: 
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286

  was:
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in the one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286


> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Trivial
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds [1], while timeout is printed in milliseconds. 
> We can improve output in one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.
> Links:
> # 
> https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Description: 
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in the one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286

  was:
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, size=0, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in the one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286


> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Trivial
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds [1], while timeout is printed in milliseconds. 
> We can improve output in the one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.
> Links:
> # 
> https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17526) NPE in GridCacheDistributedQueryFuture for node failure

2022-08-16 Thread Maksim Timonin (Jira)


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

Maksim Timonin commented on IGNITE-17526:
-

[~mmuzaf] thanks for review!

> NPE in GridCacheDistributedQueryFuture for node failure
> ---
>
> Key: IGNITE-17526
> URL: https://issues.apache.org/jira/browse/IGNITE-17526
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
> Fix For: 2.14
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> NPE in #onNodeLeft as it doesn't check whether node is in the `#streams` or 
> not.
>  
>   java.lang.NullPointerException: null
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryFuture.onNodeLeft(GridCacheDistributedQueryFuture.java:144)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.processors.cache.query.GridCacheDistributedQueryManager$3.onEvent(GridCacheDistributedQueryManager.java:118)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager$LocalListenerWrapper.onEvent(GridEventStorageManager.java:1408)
>  ~[ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:903)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.notifyListeners(GridEventStorageManager.java:888)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record0(GridEventStorageManager.java:359)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.eventstorage.GridEventStorageManager.record(GridEventStorageManager.java:322)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.recordEvent(GridDiscoveryManager.java:3056)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body0(GridDiscoveryManager.java:3273)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.managers.discovery.GridDiscoveryManager$DiscoveryWorker.body(GridDiscoveryManager.java:3076)
>  [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) 
> [ignite-core-2.14.0-SNAPSHOT.jar:2.14.0-SNAPSHOT]
> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_291]
>  
> [https://ci2.ignite.apache.org/test/-8353273041775919887?currentProjectId=IgniteTests24Java8=%3Cdefault%3E=true]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Priority: Minor  (was: Major)

> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Minor
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, size=0, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds [1], while timeout is printed in milliseconds. 
> We can improve output in the one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.
> Links:
> # 
> https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Priority: Trivial  (was: Minor)

> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Trivial
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, size=0, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds [1], while timeout is printed in milliseconds. 
> We can improve output in the one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.
> Links:
> # 
> https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Description: 
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, size=0, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds [1], while timeout is printed in milliseconds. 
We can improve output in the one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.

Links:
# 
https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286

  was:
Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#FF}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#FF}timeout=4{color}{*}, size=0, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds, while timeout is printed in milliseconds. 
We can improve output in the one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.


> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Major
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#ff}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#ff}timeout=4{color}{*}, size=0, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds [1], while timeout is printed in milliseconds. 
> We can improve output in the one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.
> Links:
> # 
> https://github.com/apache/ignite/blob/bf9a460eccd07701cacac2a414c65707243350f1/modules/core/src/main/java/org/apache/ignite/internal/visor/tx/VisorTxInfo.java#L286



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Labels: ise newbie  (was: newbie)

> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ilya Shishkov
>Priority: Major
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#FF}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#FF}timeout=4{color}{*}, size=0, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds, while timeout is printed in milliseconds. 
> We can improve output in the one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)
Ilya Shishkov created IGNITE-17537:
--

 Summary: Make units of 'timeout' and 'duration' more explicit in 
control.sh --tx output
 Key: IGNITE-17537
 URL: https://issues.apache.org/jira/browse/IGNITE-17537
 Project: Ignite
  Issue Type: Improvement
Reporter: Ilya Shishkov


Output of {{control.sh --tx}} command produces output of matching transactions, 
eg.:
{quote}Matching transactions:
Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
{*}{color:#FF}duration=778{color}{*}, isolation=REPEATABLE_READ, 
concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
minorTopVer=0], {*}{color:#FF}timeout=4{color}{*}, size=0, ...]
{quote}
But, from the above line it is unclear, that in fact, duration is printed in 
seconds, while timeout is printed in milliseconds. 
We can improve output in the one of the following ways:
 # Explicitly append unit for seconds and milliseconds.
 # Print duration and timeout in same units: both in seconds or both in 
milliseconds.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17537) Make units of 'timeout' and 'duration' more explicit in control.sh --tx output

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17537:
---
Component/s: control.sh

> Make units of 'timeout' and 'duration' more explicit in control.sh --tx output
> --
>
> Key: IGNITE-17537
> URL: https://issues.apache.org/jira/browse/IGNITE-17537
> Project: Ignite
>  Issue Type: Improvement
>  Components: control.sh
>Reporter: Ilya Shishkov
>Priority: Major
>  Labels: ise, newbie
>
> Output of {{control.sh --tx}} command produces output of matching 
> transactions, eg.:
> {quote}Matching transactions:
> Tx: [xid=fdc4d720281--0fd8-0177--0012, label=null, 
> state=ACTIVE, startTime=2022-07-06 05:05:07.432, 
> {*}{color:#FF}duration=778{color}{*}, isolation=REPEATABLE_READ, 
> concurrency=PESSIMISTIC, topVer=AffinityTopologyVersion [topVer=199, 
> minorTopVer=0], {*}{color:#FF}timeout=4{color}{*}, size=0, ...]
> {quote}
> But, from the above line it is unclear, that in fact, duration is printed in 
> seconds, while timeout is printed in milliseconds. 
> We can improve output in the one of the following ways:
>  # Explicitly append unit for seconds and milliseconds.
>  # Print duration and timeout in same units: both in seconds or both in 
> milliseconds.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17383) IdleVerify hangs when called on inactive cluster with persistence

2022-08-16 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-17383:
---
Description: 
When you call {{control.sh --cache idle_verify}} on inactive cluster with 
persistence, control script hangs and no actions are performed. As you can see 
below in 'rest' thread dump, {{VerifyBackupPartitionsTaskV2}} waits for 
checkpoint start in {{GridCacheDatabaseSharedManager#waitForCheckpoint}}.

It seems, that we can interrupt task execution and print message in control 
script output, that IdleVerify can't work on inactive cluster.

{code:title=Thread dump}
"rest-#82%ignite-server%" #146 prio=5 os_prio=31 tid=0x7fe0cf97c000 
nid=0x3607 waiting on condition [0x700010149000]
   java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:304)
at 
org.apache.ignite.internal.util.future.GridFutureAdapter.get0(GridFutureAdapter.java:178)
at 
org.apache.ignite.internal.util.future.GridFutureAdapter.get(GridFutureAdapter.java:141)
at 
org.apache.ignite.internal.processors.cache.persistence.GridCacheDatabaseSharedManager.waitForCheckpoint(GridCacheDatabaseSharedManager.java:1869)
at 
org.apache.ignite.internal.processors.cache.persistence.IgniteCacheDatabaseSharedManager.waitForCheckpoint(IgniteCacheDatabaseSharedManager.java:1107)
at 
org.apache.ignite.internal.processors.cache.verify.VerifyBackupPartitionsTaskV2$VerifyBackupPartitionsJobV2.execute(VerifyBackupPartitionsTaskV2.java:199)
at 
org.apache.ignite.internal.processors.cache.verify.VerifyBackupPartitionsTaskV2$VerifyBackupPartitionsJobV2.execute(VerifyBackupPartitionsTaskV2.java:171)
at 
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:620)
at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7366)
at 
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:614)
at 
org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:539)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
at 
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1343)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1444)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:674)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:540)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:860)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:470)
at 
org.apache.ignite.internal.IgniteComputeImpl.executeAsync0(IgniteComputeImpl.java:514)
at 
org.apache.ignite.internal.IgniteComputeImpl.executeAsync(IgniteComputeImpl.java:496)
at 
org.apache.ignite.internal.visor.verify.VisorIdleVerifyJob.run(VisorIdleVerifyJob.java:70)
at 
org.apache.ignite.internal.visor.verify.VisorIdleVerifyJob.run(VisorIdleVerifyJob.java:35)
at org.apache.ignite.internal.visor.VisorJob.execute(VisorJob.java:69)
at 
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:620)
at 
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:7366)
at 
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:614)
at 
org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:539)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
at 
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1343)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.sendRequest(GridTaskWorker.java:1444)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.processMappedJobs(GridTaskWorker.java:674)
at 
org.apache.ignite.internal.processors.task.GridTaskWorker.body(GridTaskWorker.java:540)
at 
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.startTask(GridTaskProcessor.java:860)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:590)
at 
org.apache.ignite.internal.processors.task.GridTaskProcessor.execute(GridTaskProcessor.java:570)
at 

[jira] [Updated] (IGNITE-17334) Basic volatile RAFT log storage

2022-08-16 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-17334:
---
Description: 
The storage should contain the following components:
 # An elastic (but with possible hard-limit) in-memory storage for log entries. 
On this iteration it will be on-heap data structure (for instance, a skip 
list). Later, we'll build something better (like an off-heap implementation, 
maybe using pagemem).
 # An algorithm for determining when the in-memory storage cannot accept new 
entries. On this iteration, the only supported algorithm will be simply 
limiting the store by the number of stored entries. Later we will add something 
smarter, like the total size of the stored entries and adaptive algorithms.
 # Logic for spilling out to disk. This should not be implemented on this 
iteration, but it will be implemented later, in IGNITE-17336

  was:
The storage should contain the following components:
 # An elastic (but with possible hard-limit) in-memory storage for log entries. 
On this iteration it will be on-heap data structure (for instance, a skip 
list). Later, we'll build something better (like an off-heap implementation, 
maybe using pagemem).
 # An algorithm for determining when the in-memory storage cannot accept new 
entries. On this iteration, the only supported algorithm will be simply 
limiting the store by the number of stored entries. Later we will add something 
smarter, like the total size of the stored entries and adaptive algorithms.
 # A policy for what to do if the store cannot accept a record. On this 
iteration, it will be just to reject the entry. Later, we can add support for 
spilling out to disk.


> Basic volatile RAFT log storage
> ---
>
> Key: IGNITE-17334
> URL: https://issues.apache.org/jira/browse/IGNITE-17334
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> The storage should contain the following components:
>  # An elastic (but with possible hard-limit) in-memory storage for log 
> entries. On this iteration it will be on-heap data structure (for instance, a 
> skip list). Later, we'll build something better (like an off-heap 
> implementation, maybe using pagemem).
>  # An algorithm for determining when the in-memory storage cannot accept new 
> entries. On this iteration, the only supported algorithm will be simply 
> limiting the store by the number of stored entries. Later we will add 
> something smarter, like the total size of the stored entries and adaptive 
> algorithms.
>  # Logic for spilling out to disk. This should not be implemented on this 
> iteration, but it will be implemented later, in IGNITE-17336



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17466) Remove TableStorage and PartitionStorage implementations

2022-08-16 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko commented on IGNITE-17466:
--

[~ibessonov] Please make code review.

> Remove TableStorage and PartitionStorage implementations
> 
>
> Key: IGNITE-17466
> URL: https://issues.apache.org/jira/browse/IGNITE-17466
> Project: Ignite
>  Issue Type: Task
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> All implementations of *TableStorage* and *PartitionStorage* should be 
> removed, as well as the code associated with them.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17466) Remove TableStorage and PartitionStorage implementations

2022-08-16 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-17466:
-
Reviewer: Ivan Bessonov

> Remove TableStorage and PartitionStorage implementations
> 
>
> Key: IGNITE-17466
> URL: https://issues.apache.org/jira/browse/IGNITE-17466
> Project: Ignite
>  Issue Type: Task
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> All implementations of *TableStorage* and *PartitionStorage* should be 
> removed, as well as the code associated with them.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (IGNITE-16370) Use precomputed hash of a SearchRow in storage

2022-08-16 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev resolved IGNITE-16370.
--
Resolution: Won't Fix

Closing this issue as the Partition Storage implementation is deprecated

> Use precomputed hash of a SearchRow in storage 
> ---
>
> Key: IGNITE-16370
> URL: https://issues.apache.org/jira/browse/IGNITE-16370
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> After IGNITE-16102, Partition Storage based on RocksDB uses 
> {{Arrays.hashCode}} to compute the hash of the storage key. However, binary 
> representation relies on {{BinaryRow}} serialization, which already contains 
> a precomputed hash code. It is proposed to add a {{keyHash}} method to the 
> {{SearchRow}} interface, which will provide the hash code from the underlying 
> {{BinaryRow}} to the storage.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-14914) Support in() clause in IndexQuery.

2022-08-16 Thread Taras Ledkov (Jira)


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

Taras Ledkov commented on IGNITE-14914:
---

[~timonin.maksim] , please file tickets for .NET, c++, python thin client to 
support new feature.

> Support in() clause in IndexQuery.
> --
>
> Key: IGNITE-14914
> URL: https://issues.apache.org/jira/browse/IGNITE-14914
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.14
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> IndexQuery should support IN criterion:
> {{IndexQuery.setCriteria(in("A", Arrays.asList(1, 2 ,3)));}}
>  # IN criterion accepts collection of values to find. This collections is 
> transformed to {{SortedSet(1, 2, 3)}} because IndexQuery provides to user 
> sorted result.
>  # When IN applies on first indexed field - IN(A0, A1) for index (A, B) - it 
> converts to multiple {{eq}} operations are joint with OR operation: 
> {{{}EQ(A0) or EQ(A1){}}}.
>  # Other range criteria for other fields are applied to every such separate 
> operation:
> {{IN(A0, A1) and GT(B)}} converts to {{{}(EQ(A0) and GT(B)) or (EQ(A1) and 
> GT(B)){}}}.
>  # When IN applies to non-leading indexed field - IN(B0, B1) for index (A, B) 
> - it works like a filter for prepared range:
> {{GTE(A) and IN(B0, B1)}} converts to range {{[[A, B0]; [A, B1]]}} and every 
> cache entry within this range is checked for being included to SortedSet(B0, 
> B1).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17496) LWM may be after HWM (reserved) on primary after the node restart

2022-08-16 Thread Anton Vinogradov (Jira)


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

Anton Vinogradov commented on IGNITE-17496:
---

Merged to the master.

[~mmuzaf] , thanks for the review!

> LWM may be after HWM (reserved) on primary after the node restart
> -
>
> Key: IGNITE-17496
> URL: https://issues.apache.org/jira/browse/IGNITE-17496
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Anton Vinogradov
>Assignee: Anton Vinogradov
>Priority: Major
>  Labels: iep-31
> Fix For: 2.14
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> {code:java}
> java.lang.AssertionError: LWM after HWM: lwm=10010, hwm=10003, cntr=Counter 
> [lwm=10010, missed=[10011 - 10012, 10021, 10031 - 10032, 10043 - 10044], 
> maxApplied=10047, hwm=10004]
>     at 
> org.apache.ignite.internal.processors.cache.PartitionUpdateCounterTrackingImpl.reserve(PartitionUpdateCounterTrackingImpl.java:265)
>     at 
> org.apache.ignite.internal.processors.cache.PartitionUpdateCounterErrorWrapper.reserve(PartitionUpdateCounterErrorWrapper.java:58)
>     at 
> org.apache.ignite.internal.processors.cache.IgniteCacheOffheapManagerImpl$CacheDataStoreImpl.getAndIncrementUpdateCounter(IgniteCacheOffheapManagerImpl.java:1620)
>     at 
> org.apache.ignite.internal.processors.cache.persistence.GridCacheOffheapManager$GridCacheDataStore.getAndIncrementUpdateCounter(GridCacheOffheapManager.java:2538)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.topology.GridDhtLocalPartition.getAndIncrementUpdateCounter(GridDhtLocalPartition.java:942)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxLocalAdapter.calculatePartitionUpdateCounters(IgniteTxLocalAdapter.java:510)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare0(GridDhtTxPrepareFuture.java:1360)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.mapIfLocked(GridDhtTxPrepareFuture.java:730)
>     at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxPrepareFuture.prepare(GridDhtTxPrepareFuture.java:1136)
>     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:581)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.prepareNearTx(IgniteTxHandler.java:378)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest0(IgniteTxHandler.java:201)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.processNearTxPrepareRequest(IgniteTxHandler.java:175)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler.access$000(IgniteTxHandler.java:135)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:223)
>     at 
> org.apache.ignite.internal.processors.cache.transactions.IgniteTxHandler$1.apply(IgniteTxHandler.java:221)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.processMessage(GridCacheIoManager.java:1151)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.onMessage0(GridCacheIoManager.java:592)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:393)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.handleMessage(GridCacheIoManager.java:319)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager.access$100(GridCacheIoManager.java:110)
>     at 
> org.apache.ignite.internal.processors.cache.GridCacheIoManager$1.onMessage(GridCacheIoManager.java:309)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1907)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1528)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager.access$5300(GridIoManager.java:243)
>     at 
> org.apache.ignite.internal.managers.communication.GridIoManager$9.execute(GridIoManager.java:1421)
>     at 
> org.apache.ignite.internal.managers.communication.TraceRunnable.run(TraceRunnable.java:55)
>     at 
> org.apache.ignite.internal.util.StripedExecutor$Stripe.body(StripedExecutor.java:637)
>     at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
>     at java.lang.Thread.run(Thread.java:750) {code}
> It looks like we have incorrect initialization problem here.
> 

[jira] [Assigned] (IGNITE-17466) Remove TableStorage and PartitionStorage implementations

2022-08-16 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko reassigned IGNITE-17466:


Assignee: Kirill Tkalenko

> Remove TableStorage and PartitionStorage implementations
> 
>
> Key: IGNITE-17466
> URL: https://issues.apache.org/jira/browse/IGNITE-17466
> Project: Ignite
>  Issue Type: Task
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>
> All implementations of *TableStorage* and *PartitionStorage* should be 
> removed, as well as the code associated with them.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17532) RocksDB partition destruction

2022-08-16 Thread Ivan Bessonov (Jira)


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

Ivan Bessonov updated IGNITE-17532:
---
Description: 
Current implementation has WAL disabled. This means that deleted partition can 
resurrect bu itself after restart and no one will delete it.

Partition should be treated as deleted only when it's deleted on disc. For this 
reason "destroyPartition" method should return a future.

EDIT: current implementation does return a future, but with explicit flush, 
which is technically unnecessary.

  was:
Current implementation has WAL disabled. This means that deleted partition can 
resurrect bu itself after restart and no one will delete it.

Partition should be treated as deleted only when it's deleted on disc. For this 
reason "destroyPartition" method should return a future.


> RocksDB partition destruction
> -
>
> Key: IGNITE-17532
> URL: https://issues.apache.org/jira/browse/IGNITE-17532
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
> Fix For: 3.0.0-alpha6
>
>
> Current implementation has WAL disabled. This means that deleted partition 
> can resurrect bu itself after restart and no one will delete it.
> Partition should be treated as deleted only when it's deleted on disc. For 
> this reason "destroyPartition" method should return a future.
> EDIT: current implementation does return a future, but with explicit flush, 
> which is technically unnecessary.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17536) Implement BinaryTuple inlining in a hash index B+Tree

2022-08-16 Thread Kirill Tkalenko (Jira)
Kirill Tkalenko created IGNITE-17536:


 Summary: Implement BinaryTuple inlining in a hash index B+Tree
 Key: IGNITE-17536
 URL: https://issues.apache.org/jira/browse/IGNITE-17536
 Project: Ignite
  Issue Type: Task
Reporter: Kirill Tkalenko
 Fix For: 3.0.0-alpha6


In a simple implementation, instead of a *BinaryTuple*, we store its link from 
the *FreeList* in the key, this is not optimal and we need to inline the 
*BinaryTuple* in the key, for starters, you can see how to do this in 2.0.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-14914) Support in() clause in IndexQuery.

2022-08-16 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-14914:

Description: 
IndexQuery should support IN criterion:

{{IndexQuery.setCriteria(in("A", Arrays.asList(1, 2 ,3)));}}
 # IN criterion accepts collection of values to find. This collections is 
transformed to {{SortedSet(1, 2, 3)}} because IndexQuery provides to user 
sorted result.
 # When IN applies on first indexed field - IN(A0, A1) for index (A, B) - it 
converts to multiple {{eq}} operations are joint with OR operation: {{{}EQ(A0) 
or EQ(A1){}}}.
 # Other range criteria for other fields are applied to every such separate 
operation:
{{IN(A0, A1) and GT(B)}} converts to {{{}(EQ(A0) and GT(B)) or (EQ(A1) and 
GT(B)){}}}.
 # When IN applies to non-leading indexed field - IN(B0, B1) for index (A, B) - 
it works like a filter for prepared range:
{{GTE(A) and IN(B0, B1)}} converts to range {{[[A, B0]; [A, B1]]}} and every 
cache entry within this range is checked for being included to SortedSet(B0, 
B1).

  was:
IndexQuery should support IN criterion:

1. For first indexed field it should split query on multiple ranges 


> Support in() clause in IndexQuery.
> --
>
> Key: IGNITE-14914
> URL: https://issues.apache.org/jira/browse/IGNITE-14914
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.14
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> IndexQuery should support IN criterion:
> {{IndexQuery.setCriteria(in("A", Arrays.asList(1, 2 ,3)));}}
>  # IN criterion accepts collection of values to find. This collections is 
> transformed to {{SortedSet(1, 2, 3)}} because IndexQuery provides to user 
> sorted result.
>  # When IN applies on first indexed field - IN(A0, A1) for index (A, B) - it 
> converts to multiple {{eq}} operations are joint with OR operation: 
> {{{}EQ(A0) or EQ(A1){}}}.
>  # Other range criteria for other fields are applied to every such separate 
> operation:
> {{IN(A0, A1) and GT(B)}} converts to {{{}(EQ(A0) and GT(B)) or (EQ(A1) and 
> GT(B)){}}}.
>  # When IN applies to non-leading indexed field - IN(B0, B1) for index (A, B) 
> - it works like a filter for prepared range:
> {{GTE(A) and IN(B0, B1)}} converts to range {{[[A, B0]; [A, B1]]}} and every 
> cache entry within this range is checked for being included to SortedSet(B0, 
> B1).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-14914) Support in() clause in IndexQuery.

2022-08-16 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-14914:

Description: 
IndexQuery should support IN criterion:

1. For first indexed field it should split query on multiple ranges 

> Support in() clause in IndexQuery.
> --
>
> Key: IGNITE-14914
> URL: https://issues.apache.org/jira/browse/IGNITE-14914
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.14
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> IndexQuery should support IN criterion:
> 1. For first indexed field it should split query on multiple ranges 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-14914) Support in() clause in IndexQuery.

2022-08-16 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-14914:


{panel:title=Branch: [pull/10195/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/10195/head] Base: [master] : New Tests 
(58)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Index Query API{color} [[tests 
58|https://ci.ignite.apache.org/viewLog.html?buildId=6731885]]
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleValueInCriterion - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleInCriterionOnSecondField - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInWithRangeCrossCriterionOnSecondField
 - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleInWithSingleRangeCriterion - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testTwoValuesInCriterion - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testSingleInWithMultipleRangeCriterion - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInWithSingleRangeCriterionCrossing - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInCriteriaAndRangeCriteriaNoCross - 
PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionTest.testExplcitiInCriterionWithNullVal - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionTest.testDuplicatedInCriterionFailure - PASSED{color}
* {color:#013220}IndexQueryTestSuite: 
IndexQueryInCriterionDescTest.testMultipleInCriterion - PASSED{color}
... and 47 new tests

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

> Support in() clause in IndexQuery.
> --
>
> Key: IGNITE-14914
> URL: https://issues.apache.org/jira/browse/IGNITE-14914
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-14914) Support in() clause in IndexQuery.

2022-08-16 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-14914:

Fix Version/s: 2.14

> Support in() clause in IndexQuery.
> --
>
> Key: IGNITE-14914
> URL: https://issues.apache.org/jira/browse/IGNITE-14914
> Project: Ignite
>  Issue Type: New Feature
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-71, ise
> Fix For: 2.14
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17534) Introduce an interface for Hash Indices

2022-08-16 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-17534:
-
Description: 
We need to create an interface for the Hash Index with the following methods:

{code:java}
public interface HashIndexStorage {
/**
 * Returns the Index Descriptor of this storage.
 */
HashIndexDescriptor indexDescriptor();

/**
 * Returns a collection of {@code RowId}s that correspond to the given 
index key.
 */
Collection get(BinaryTuple key);

/**
 * Adds the given index row to the index.
 */
void put(IndexRow row);

/**
 * Removes the given row from the index.
 *
 * Removing a non-existent row is a no-op.
 */
void remove(IndexRow row);
}
{code}

It is also required to provide a test-only reference implementation and create 
tests


  was:
We need to create an interface for the Hash Index with the following methods:

{code:java}
public interface HashIndexStorage {
/**
 * Returns the Index Descriptor of this storage.
 */
HashIndexDescriptor indexDescriptor();

/**
 * Returns a collection of {@code RowId}s that correspond to the given 
index key.
 */
Collection get(IndexRow row);

/**
 * Adds the given index row to the index.
 */
void put(IndexRow row);

/**
 * Removes the given row from the index.
 *
 * Removing a non-existent row is a no-op.
 */
void remove(IndexRow row);
}
{code}

It is also required to provide a test-only reference implementation and create 
tests



> Introduce an interface for Hash Indices
> ---
>
> Key: IGNITE-17534
> URL: https://issues.apache.org/jira/browse/IGNITE-17534
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We need to create an interface for the Hash Index with the following methods:
> {code:java}
> public interface HashIndexStorage {
> /**
>  * Returns the Index Descriptor of this storage.
>  */
> HashIndexDescriptor indexDescriptor();
> 
> /**
>  * Returns a collection of {@code RowId}s that correspond to the given 
> index key.
>  */
> Collection get(BinaryTuple key);
> /**
>  * Adds the given index row to the index.
>  */
> void put(IndexRow row);
> /**
>  * Removes the given row from the index.
>  *
>  * Removing a non-existent row is a no-op.
>  */
> void remove(IndexRow row);
> }
> {code}
> It is also required to provide a test-only reference implementation and 
> create tests



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17534) Introduce an interface for Hash Indices

2022-08-16 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-17534:
-
Description: 
We need to create an interface for the Hash Index with the following methods:

{code:java}
public interface HashIndexStorage {
/**
 * Returns the Index Descriptor of this storage.
 */
HashIndexDescriptor indexDescriptor();

/**
 * Returns a collection of {@code RowId}s that correspond to the given 
index key.
 */
Collection get(IndexRow row);

/**
 * Adds the given index row to the index.
 */
void put(IndexRow row);

/**
 * Removes the given row from the index.
 *
 * Removing a non-existent row is a no-op.
 */
void remove(IndexRow row);
}
{code}

It is also required to provide a test-only reference implementation and create 
tests


  was:We need to create an interface for the Hash Index with the following 
methods


> Introduce an interface for Hash Indices
> ---
>
> Key: IGNITE-17534
> URL: https://issues.apache.org/jira/browse/IGNITE-17534
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We need to create an interface for the Hash Index with the following methods:
> {code:java}
> public interface HashIndexStorage {
> /**
>  * Returns the Index Descriptor of this storage.
>  */
> HashIndexDescriptor indexDescriptor();
> 
> /**
>  * Returns a collection of {@code RowId}s that correspond to the given 
> index key.
>  */
> Collection get(IndexRow row);
> /**
>  * Adds the given index row to the index.
>  */
> void put(IndexRow row);
> /**
>  * Removes the given row from the index.
>  *
>  * Removing a non-existent row is a no-op.
>  */
> void remove(IndexRow row);
> }
> {code}
> It is also required to provide a test-only reference implementation and 
> create tests



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17469) cli profile commands unification

2022-08-16 Thread Vadim Pakhnushev (Jira)


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

Vadim Pakhnushev updated IGNITE-17469:
--
Component/s: (was: ignite-3)
  Epic Link: IGNITE-16970

> cli profile commands unification
> 
>
> Key: IGNITE-17469
> URL: https://issues.apache.org/jira/browse/IGNITE-17469
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Yury Yudin
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> cli config profile now has two commands show and create, while setting a 
> profile is done through a parameter, which is confusing.
> There should be a separate command to set the profile.
> In general I would suggest the commands there to look like:
> cli config show
> cli config set
> cli config get
> All repl cli commands should not accept --profile or -p parameters, all 
> setting and getting of the params in a profile should go through its 
> activation instead. I.e. cli config profile create newprofile ; cli config 
> profile activate newprofile; cli config set 
> ignite.cluster-url=[http://localhost:10300|http://localhost:10300/]
> We should retain --profile in non-repl mode.
> Profile manipulation should go like below:
> cli config profile show []
> cli config profile list
> cli config profile create  --copy-from
> cli config profile activate 
>  
> Let’s please update IEP with the corresponding changes as well.
>  
> Let's also make sure non-repl commands do have --profile option and 
> auto-completion scripts are updated accordingly. Currently I don't see any 
> suggestions on --profile there:
> {noformat}
> tests@ubuntu:~/Work/apache-ignite-3.0.0-SNAPSHOT$ ./ignite cluster config 
> show --profile te
> st
> Unknown options: '--profile', 'test'
> Usage: ignite cluster config show [-h] [--cluster-url=]
>                                   [--selector=]
> Shows cluster configuration.
>       --cluster-url=
>                Url to ignite node.
>   -h, --help   Show this help message and exit.
>       --selector=
>                Configuration path selector.
> tests@ubuntu:~/Work/apache-ignite-3.0.0-SNAPSHOT$
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17517) Clean up todo's with closed tickets in CLI

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17517:
---
Labels: ignite,  (was: )

> Clean up todo's with closed tickets in CLI
> --
>
> Key: IGNITE-17517
> URL: https://issues.apache.org/jira/browse/IGNITE-17517
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Aleksandr
>Priority: Minor
>  Labels: ignite,
>
> There are a couple of todo's that are forgotten, clean them up or create new 
> tickets that are not in CLOSED state. 
> https://issues.apache.org/jira/browse/IGNITE-17091 
> https://issues.apache.org/jira/browse/IGNITE-17092 
> https://issues.apache.org/jira/browse/IGNITE-17162



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17510) NPE in cluster configuration REST calls

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17510:
---
Component/s: (was: ignite-3)

> NPE in cluster configuration REST calls
> ---
>
> Key: IGNITE-17510
> URL: https://issues.apache.org/jira/browse/IGNITE-17510
> Project: Ignite
>  Issue Type: Task
>  Components: cli, rest
>Reporter: Aleksandr
>Priority: Major
>
> When calling {{/management/v1/configuration/cluster}} on the cluster that is 
> not initialized, then we got the NPE and as a result, a 500 error code is 
> returned.
> {{ItNotInitializedClusterRestTest#clusterConfiguration}} and 
> {{ItNotInitializedClusterRestTest#clusterConfigurationUpdate}} reproduce the 
> issue and have TODO for that. 
> I would suggest to return 404 in that case as 
> {{/management/v1/cluster/topology/logical}} does. So, there is no such 
> resource on the cluster that is not initialized.
> The {{cluster config show/update}}  error handling should be updated as well.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17517) Clean up todo's with closed tickets in CLI

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17517:
---
Component/s: (was: ignite-3)

> Clean up todo's with closed tickets in CLI
> --
>
> Key: IGNITE-17517
> URL: https://issues.apache.org/jira/browse/IGNITE-17517
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Aleksandr
>Priority: Minor
>
> There are a couple of todo's that are forgotten, clean them up or create new 
> tickets that are not in CLOSED state. 
> https://issues.apache.org/jira/browse/IGNITE-17091 
> https://issues.apache.org/jira/browse/IGNITE-17092 
> https://issues.apache.org/jira/browse/IGNITE-17162



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17510) NPE in cluster configuration REST calls

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17510:
---
Labels: ignite-3  (was: )

> NPE in cluster configuration REST calls
> ---
>
> Key: IGNITE-17510
> URL: https://issues.apache.org/jira/browse/IGNITE-17510
> Project: Ignite
>  Issue Type: Task
>  Components: cli, rest
>Reporter: Aleksandr
>Priority: Major
>  Labels: ignite-3
>
> When calling {{/management/v1/configuration/cluster}} on the cluster that is 
> not initialized, then we got the NPE and as a result, a 500 error code is 
> returned.
> {{ItNotInitializedClusterRestTest#clusterConfiguration}} and 
> {{ItNotInitializedClusterRestTest#clusterConfigurationUpdate}} reproduce the 
> issue and have TODO for that. 
> I would suggest to return 404 in that case as 
> {{/management/v1/cluster/topology/logical}} does. So, there is no such 
> resource on the cluster that is not initialized.
> The {{cluster config show/update}}  error handling should be updated as well.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17518) Actualize cli module

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17518:
---
Component/s: (was: ignite-3)

> Actualize cli module
> 
>
> Key: IGNITE-17518
> URL: https://issues.apache.org/jira/browse/IGNITE-17518
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Aleksandr
>Priority: Minor
>
> 1) move all classes in CLI module under 'internal' package
> 2) remove cli-common module that is not needed any more.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17519) Fix error handlers in Flow

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17519:
---
Component/s: (was: ignite-3)

> Fix error handlers in Flow
> --
>
> Key: IGNITE-17519
> URL: https://issues.apache.org/jira/browse/IGNITE-17519
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Aleksandr
>Priority: Major
>  Labels: ignite-3
>
> In FlowTest there is a couple of tests that reproduce the issue. In case the 
> custom exception hander is set to Flow, it is not used.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17518) Actualize cli module

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17518:
---
Labels: ignite-3  (was: )

> Actualize cli module
> 
>
> Key: IGNITE-17518
> URL: https://issues.apache.org/jira/browse/IGNITE-17518
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Aleksandr
>Priority: Minor
>  Labels: ignite-3
>
> 1) move all classes in CLI module under 'internal' package
> 2) remove cli-common module that is not needed any more.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17519) Fix error handlers in Flow

2022-08-16 Thread Aleksandr (Jira)


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

Aleksandr updated IGNITE-17519:
---
Labels: ignite-3  (was: )

> Fix error handlers in Flow
> --
>
> Key: IGNITE-17519
> URL: https://issues.apache.org/jira/browse/IGNITE-17519
> Project: Ignite
>  Issue Type: Task
>  Components: cli, ignite-3
>Reporter: Aleksandr
>Priority: Major
>  Labels: ignite-3
>
> In FlowTest there is a couple of tests that reproduce the issue. In case the 
> custom exception hander is set to Flow, it is not used.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17534) Introduce an interface for Hash Indices

2022-08-16 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-17534:


 Summary: Introduce an interface for Hash Indices
 Key: IGNITE-17534
 URL: https://issues.apache.org/jira/browse/IGNITE-17534
 Project: Ignite
  Issue Type: Task
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


We need to create an interface for the Hash Index with the following methods



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17535) Implementing a hash index B+Tree

2022-08-16 Thread Kirill Tkalenko (Jira)
Kirill Tkalenko created IGNITE-17535:


 Summary: Implementing a hash index B+Tree
 Key: IGNITE-17535
 URL: https://issues.apache.org/jira/browse/IGNITE-17535
 Project: Ignite
  Issue Type: Task
Reporter: Kirill Tkalenko
 Fix For: 3.0.0-alpha6


It is necessary to implement a hash index B+Tree, for simplicity, without 
inlining  a *BinaryTuple*, but simply storing a link to it.

The key will be: hash and link of the *BinaryTuple*.
The value will be: *RowId*.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Updated] (IGNITE-17529) Override CLI config file path via environment variable

2022-08-16 Thread Vadim Pakhnushev (Jira)


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

Vadim Pakhnushev updated IGNITE-17529:
--
Summary: Override CLI config file path via environment variable  (was: 
Allow changing CLI config file path via environment variable)

> Override CLI config file path via environment variable
> --
>
> Key: IGNITE-17529
> URL: https://issues.apache.org/jira/browse/IGNITE-17529
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Vadim Pakhnushev
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
>
> Use {{IGNITE_CLI_CONFIG_FILE}} to define path to the CLI config file which is 
> currently defined as {{XDG_CONFIG_HOME/ignitecli/defaults}} where 
> {{XDG_CONFIG_HOME}} defaults to {{~/.config}}.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17286) Race between completing table creation and stopping TableManager

2022-08-16 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-17286:
--

And actually, nothing was reverted on the main branch

> Race between completing table creation and stopping TableManager
> 
>
> Key: IGNITE-17286
> URL: https://issues.apache.org/jira/browse/IGNITE-17286
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> As IGNITE-17048 demonstrates, our tests sometimes fail with message like the 
> following:
> java.lang.AssertionError: Raft groups are still running
> The leftover Raft groups always relate to table partitions (and NOT 
> metastorage/cmg).
> It looks like this can happen due to TableManager.stop() being called before 
> some table creation is completed (on some Ignite node). As a result, 
> TableManager.stop() does not see this table, so the table does not get 
> stopped, and its Raft groups are left forever.
> Adding a delay to table creation completion
> public void onSqlSchemaReady(long causalityToken) {
>     if (Math.random() < 0.33) {
>         try
> {             Thread.sleep(1000);         }
> catch (InterruptedException e)
> {             // ignore         }
>     }
>     LOG.info("SCHEMA READY FOR " + causalityToken);
>     tablesByIdVv.complete(causalityToken);
> }
> makes the failure manifest itself easily.
> The reproducer is in 
> [https://github.com/gridgain/apache-ignite-3/tree/ignite-17286-repr]
> To run the reproducer, just run 
> ItComputeTest.executesColocatedByClassNameWithTupleKey()
> It usually takes less than 10 iterations to bump into the assertion.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Resolved] (IGNITE-17501) Integration between index and partition storages

2022-08-16 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev resolved IGNITE-17501.
--
Resolution: Invalid

Closing this issue as it has been resolved as part of the transactions 
implementation

> Integration between index and partition storages
> 
>
> Key: IGNITE-17501
> URL: https://issues.apache.org/jira/browse/IGNITE-17501
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17533) Implement a meta B+Tree of indexes

2022-08-16 Thread Kirill Tkalenko (Jira)
Kirill Tkalenko created IGNITE-17533:


 Summary: Implement a meta B+Tree of indexes
 Key: IGNITE-17533
 URL: https://issues.apache.org/jira/browse/IGNITE-17533
 Project: Ignite
  Issue Type: Task
Reporter: Kirill Tkalenko
Assignee: Kirill Tkalenko
 Fix For: 3.0.0-alpha6


In order for us to work with many index B+Tree, we need to store their roots 
somewhere, a separate B+Tree is suitable for this, as done in 2.0, but instead 
of a key in the form of an index name, we need to use something more unique, 
for example, UUID.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17286) Race between completing table creation and stopping TableManager

2022-08-16 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-17286:
--

[~rpuch] I think, that we shouldn't, seems like that was infrastructural 
problems on TC

> Race between completing table creation and stopping TableManager
> 
>
> Key: IGNITE-17286
> URL: https://issues.apache.org/jira/browse/IGNITE-17286
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> As IGNITE-17048 demonstrates, our tests sometimes fail with message like the 
> following:
> java.lang.AssertionError: Raft groups are still running
> The leftover Raft groups always relate to table partitions (and NOT 
> metastorage/cmg).
> It looks like this can happen due to TableManager.stop() being called before 
> some table creation is completed (on some Ignite node). As a result, 
> TableManager.stop() does not see this table, so the table does not get 
> stopped, and its Raft groups are left forever.
> Adding a delay to table creation completion
> public void onSqlSchemaReady(long causalityToken) {
>     if (Math.random() < 0.33) {
>         try
> {             Thread.sleep(1000);         }
> catch (InterruptedException e)
> {             // ignore         }
>     }
>     LOG.info("SCHEMA READY FOR " + causalityToken);
>     tablesByIdVv.complete(causalityToken);
> }
> makes the failure manifest itself easily.
> The reproducer is in 
> [https://github.com/gridgain/apache-ignite-3/tree/ignite-17286-repr]
> To run the reproducer, just run 
> ItComputeTest.executesColocatedByClassNameWithTupleKey()
> It usually takes less than 10 iterations to bump into the assertion.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (IGNITE-17532) RocksDB partition destruction

2022-08-16 Thread Ivan Bessonov (Jira)
Ivan Bessonov created IGNITE-17532:
--

 Summary: RocksDB partition destruction
 Key: IGNITE-17532
 URL: https://issues.apache.org/jira/browse/IGNITE-17532
 Project: Ignite
  Issue Type: Improvement
Reporter: Ivan Bessonov
Assignee: Ivan Bessonov
 Fix For: 3.0.0-alpha6


Current implementation has WAL disabled. This means that deleted partition can 
resurrect bu itself after restart and no one will delete it.

Partition should be treated as deleted only when it's deleted on disc. For this 
reason "destroyPartition" method should return a future.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Commented] (IGNITE-17286) Race between completing table creation and stopping TableManager

2022-08-16 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-17286:


[~v.pyatkov] should we reopen the issue then?

> Race between completing table creation and stopping TableManager
> 
>
> Key: IGNITE-17286
> URL: https://issues.apache.org/jira/browse/IGNITE-17286
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-alpha6
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> As IGNITE-17048 demonstrates, our tests sometimes fail with message like the 
> following:
> java.lang.AssertionError: Raft groups are still running
> The leftover Raft groups always relate to table partitions (and NOT 
> metastorage/cmg).
> It looks like this can happen due to TableManager.stop() being called before 
> some table creation is completed (on some Ignite node). As a result, 
> TableManager.stop() does not see this table, so the table does not get 
> stopped, and its Raft groups are left forever.
> Adding a delay to table creation completion
> public void onSqlSchemaReady(long causalityToken) {
>     if (Math.random() < 0.33) {
>         try
> {             Thread.sleep(1000);         }
> catch (InterruptedException e)
> {             // ignore         }
>     }
>     LOG.info("SCHEMA READY FOR " + causalityToken);
>     tablesByIdVv.complete(causalityToken);
> }
> makes the failure manifest itself easily.
> The reproducer is in 
> [https://github.com/gridgain/apache-ignite-3/tree/ignite-17286-repr]
> To run the reproducer, just run 
> ItComputeTest.executesColocatedByClassNameWithTupleKey()
> It usually takes less than 10 iterations to bump into the assertion.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Assigned] (IGNITE-17521) Need to retry enlisting new partition in a transaction if first ReplicaService#invoke() return PrimaryReplicaMissException

2022-08-16 Thread Sergey Uttsel (Jira)


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

Sergey Uttsel reassigned IGNITE-17521:
--

Assignee: Sergey Uttsel

> Need to retry enlisting new partition in a transaction if first 
> ReplicaService#invoke() return PrimaryReplicaMissException
> --
>
> Key: IGNITE-17521
> URL: https://issues.apache.org/jira/browse/IGNITE-17521
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Sergey Uttsel
>Assignee: Sergey Uttsel
>Priority: Major
>  Labels: ignite-3, transaction3_rw
>
> If a transaction enlist new partition and ReplicaService#invoke() return 
> PrimaryReplicaMissException then it's need to retry enlisting several times.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)