[jira] [Commented] (IGNITE-23132) java.lang.NullPointerException: null in LogId.compareTo when handle vote request

2024-09-19 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-23132:
--

Possible root cause https://github.com/sofastack/sofa-jraft/issues/1152

> java.lang.NullPointerException: null in LogId.compareTo when handle vote 
> request
> 
>
> Key: IGNITE-23132
> URL: https://issues.apache.org/jira/browse/IGNITE-23132
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: _Integration_Tests_Module_Table_27645.log.zip
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> TC main has started to detect NullPointerException in builds logs. This 
> happens in {{ItEstimatedSizeTest#testEstimatedSize}}, seems like it happens 
> when node has already been stopped, but still handle vote request with 
> already cleared states. We need to figure out and fix NPE.
> {noformat}
> [2024-08-30T13:58:43,614][ERROR][%iest_tes_1%JRaft-Request-Processor-13][RpcRequestProcessor]
>  handleRequest RequestVoteRequestImpl [groupId=12_part_10, lastLogIndex=193, 
> lastLogTerm=1, peerId=iest_tes_1, preVote=false, serverId=iest_tes_2, term=2] 
> failed
> java.lang.NullPointerException: null
>   at org.apache.ignite.raft.jraft.entity.LogId.compareTo(LogId.java:91) 
> ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.core.NodeImpl.handleRequestVoteRequest(NodeImpl.java:2071)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.core.RequestVoteRequestProcessor.processRequest0(RequestVoteRequestProcessor.java:52)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.core.RequestVoteRequestProcessor.processRequest0(RequestVoteRequestProcessor.java:29)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.core.NodeRequestProcessor.processRequest(NodeRequestProcessor.java:55)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:49)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:29)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$RpcMessageHandler.lambda$onReceived$0(IgniteRpcServer.java:181)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
> {noformat}
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8439410?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandCode+Inspection=true&expandBuildChangesSection=true&expandBuildDeploymentsSection=false&expandBuildProblemsSection=true&logFilter=debug&logView=flowAware



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


[jira] [Updated] (IGNITE-23225) Add logging to LogManagerImpl

2024-09-18 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-23225:
-
Description: We have an idea why NPE happens in 
https://issues.apache.org/jira/browse/IGNITE-23132, seems like 
{{LastLogIdClosure}} from 
{{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#getLastLogId}} is 
completed when {{LogManagerImpl.stopped}}, so 
{{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#offerEvent}} leads 
to completing {{LastLogIdClosure}}  with {{RaftError.ESTOP}} and 
{{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.LastLogIdClosure#lastLogId}}
 is not set. To check that, we want to add some logging and monitor TC.  (was: 
We have an idea why NPE happens in 
https://issues.apache.org/jira/browse/IGNITE-23132, seems like 
{{LastLogIdClosure}} from 
{{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#getLastLogId}} is 
completed when {{this.stopped}})

> Add logging to LogManagerImpl
> -
>
> Key: IGNITE-23225
> URL: https://issues.apache.org/jira/browse/IGNITE-23225
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> We have an idea why NPE happens in 
> https://issues.apache.org/jira/browse/IGNITE-23132, seems like 
> {{LastLogIdClosure}} from 
> {{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#getLastLogId}} is 
> completed when {{LogManagerImpl.stopped}}, so 
> {{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#offerEvent}} leads 
> to completing {{LastLogIdClosure}}  with {{RaftError.ESTOP}} and 
> {{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.LastLogIdClosure#lastLogId}}
>  is not set. To check that, we want to add some logging and monitor TC.



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


[jira] [Updated] (IGNITE-23225) Add logging to LogManagerImpl

2024-09-18 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-23225:
-
Description: We have an idea why NPE happens in 
https://issues.apache.org/jira/browse/IGNITE-23132, seems like 
{{LastLogIdClosure}} from 
{{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#getLastLogId}} is 
completed when {{this.stopped}}

> Add logging to LogManagerImpl
> -
>
> Key: IGNITE-23225
> URL: https://issues.apache.org/jira/browse/IGNITE-23225
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> We have an idea why NPE happens in 
> https://issues.apache.org/jira/browse/IGNITE-23132, seems like 
> {{LastLogIdClosure}} from 
> {{org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl#getLastLogId}} is 
> completed when {{this.stopped}}



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


[jira] [Created] (IGNITE-23225) Add logging to LogManagerImpl

2024-09-18 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-23225:


 Summary: Add logging to LogManagerImpl
 Key: IGNITE-23225
 URL: https://issues.apache.org/jira/browse/IGNITE-23225
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev
Assignee: Mirza Aliev






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


[jira] [Updated] (IGNITE-22802) Gather requirements for replica factor 2 scenario

2024-09-17 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22802:
-
Attachment: Replica Factor 2_Majority unavalability requirements .docx

> Gather requirements for replica factor 2 scenario
> -
>
> Key: IGNITE-22802
> URL: https://issues.apache.org/jira/browse/IGNITE-22802
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: Replica Factor 2_Majority unavalability requirements 
> .docx
>
>
> In this task we want to summarise all requirements for the scenario of tables 
> with replica factor 2. 
>  
> We want to have answers for several questions:
> 1) What exactly we want from the scenario of replica factor 2, should it work 
> the same as we have in ignite 2, is this possible to do it easily or it 
> requires a lot of work?
> 2) How can we implement this, taking into account that Raft, that is the base 
> replication algorithm, works unstable when its cluster has 2 nodes.
>  
> As a result of this ticket, we should have a vision on the further work that 
> must be done on this track.



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


[jira] [Assigned] (IGNITE-23132) java.lang.NullPointerException: null in LogId.compareTo when handle vote request

2024-09-03 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-23132:


Assignee: Mirza Aliev

> java.lang.NullPointerException: null in LogId.compareTo when handle vote 
> request
> 
>
> Key: IGNITE-23132
> URL: https://issues.apache.org/jira/browse/IGNITE-23132
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: _Integration_Tests_Module_Table_27645.log.zip
>
>
> TC main has started to detect NullPointerException in builds logs. This 
> happens in {{ItEstimatedSizeTest#testEstimatedSize}}, seems like it happens 
> when node has already been stopped, but still handle vote request with 
> already cleared states. We need to figure out and fix NPE.
> {noformat}
> [2024-08-30T13:58:43,614][ERROR][%iest_tes_1%JRaft-Request-Processor-13][RpcRequestProcessor]
>  handleRequest RequestVoteRequestImpl [groupId=12_part_10, lastLogIndex=193, 
> lastLogTerm=1, peerId=iest_tes_1, preVote=false, serverId=iest_tes_2, term=2] 
> failed
> java.lang.NullPointerException: null
>   at org.apache.ignite.raft.jraft.entity.LogId.compareTo(LogId.java:91) 
> ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.core.NodeImpl.handleRequestVoteRequest(NodeImpl.java:2071)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.core.RequestVoteRequestProcessor.processRequest0(RequestVoteRequestProcessor.java:52)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.core.RequestVoteRequestProcessor.processRequest0(RequestVoteRequestProcessor.java:29)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.core.NodeRequestProcessor.processRequest(NodeRequestProcessor.java:55)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:49)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:29)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$RpcMessageHandler.lambda$onReceived$0(IgniteRpcServer.java:181)
>  ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
> {noformat}
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8439410?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandCode+Inspection=true&expandBuildChangesSection=true&expandBuildDeploymentsSection=false&expandBuildProblemsSection=true&logFilter=debug&logView=flowAware



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


[jira] [Assigned] (IGNITE-23131) java.lang.AssertionError: The local node is outside of the replication group

2024-09-03 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-23131:


Assignee: Mikhail Efremov

> java.lang.AssertionError: The local node is outside of the replication group
> 
>
> Key: IGNITE-23131
> URL: https://issues.apache.org/jira/browse/IGNITE-23131
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mikhail Efremov
>Priority: Major
>  Labels: ignite-3
> Attachments: _Integration_Tests_Run_All_Other_27436.log.zip
>
>
> We've started to receive a lot of {{AssertionError}} during TC builds on 
> main. These exceptions do not lead to failed tests, but must be investigated.
> {noformat}
> [2024-09-02T12:09:05,392][WARN 
> ][%irlt_trisons_20002%tableManager-io-19][PartitionReplicaLifecycleManager] 
> Unable to process pending assignments event
> java.lang.AssertionError: The local node is outside of the replication group 
> [, stable=Assignments [nodes=HashSet [Assignment 
> [consistentId=irlt_trisons_2, isPeer=true]], force=false, 
> timestamp=113067880806875136], pending=Assignments [nodes=HashSet [Assignment 
> [consistentId=irlt_trisons_20002, isPeer=true]], force=false, 
> timestamp=113067880806875136], reduce=null, localName=irlt_trisons_20002].
>   at 
> org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.isNodeInReducedStableOrPendingAssignments(PartitionReplicaLifecycleManager.java:1175)
>  ~[ignite-partition-replicator-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.lambda$handleChangePendingAssignmentEvent$48(PartitionReplicaLifecycleManager.java:1015)
>  ~[ignite-partition-replicator-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:872) 
> ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.lambda$handleChangePendingAssignmentEvent$49(PartitionReplicaLifecycleManager.java:1014)
>  ~[ignite-partition-replicator-3.0.0-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714)
>  [?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
> {noformat}
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8444342?expandBuildDeploymentsSection=false&hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildProblemsSection=true&expandCode+Inspection=true&expandBuildChangesSection=true&logFilter=debug&logView=flowAware



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


[jira] [Created] (IGNITE-23132) java.lang.NullPointerException: null in LogId.compareTo when handle vote request

2024-09-03 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-23132:


 Summary: java.lang.NullPointerException: null in LogId.compareTo 
when handle vote request
 Key: IGNITE-23132
 URL: https://issues.apache.org/jira/browse/IGNITE-23132
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev
 Attachments: _Integration_Tests_Module_Table_27645.log.zip

TC main has started to detect NullPointerException in builds logs. This happens 
in {{ItEstimatedSizeTest#testEstimatedSize}}, seems like it happens when node 
has already been stopped, but still handle vote request with already cleared 
states. We need to figure out and fix NPE.

{noformat}
[2024-08-30T13:58:43,614][ERROR][%iest_tes_1%JRaft-Request-Processor-13][RpcRequestProcessor]
 handleRequest RequestVoteRequestImpl [groupId=12_part_10, lastLogIndex=193, 
lastLogTerm=1, peerId=iest_tes_1, preVote=false, serverId=iest_tes_2, term=2] 
failed
java.lang.NullPointerException: null
  at org.apache.ignite.raft.jraft.entity.LogId.compareTo(LogId.java:91) 
~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.core.NodeImpl.handleRequestVoteRequest(NodeImpl.java:2071)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.rpc.impl.core.RequestVoteRequestProcessor.processRequest0(RequestVoteRequestProcessor.java:52)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.rpc.impl.core.RequestVoteRequestProcessor.processRequest0(RequestVoteRequestProcessor.java:29)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.rpc.impl.core.NodeRequestProcessor.processRequest(NodeRequestProcessor.java:55)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:49)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.rpc.RpcRequestProcessor.handleRequest(RpcRequestProcessor.java:29)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.raft.jraft.rpc.impl.IgniteRpcServer$RpcMessageHandler.lambda$onReceived$0(IgniteRpcServer.java:181)
 ~[ignite-raft-3.0.0-SNAPSHOT.jar:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
  at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}

https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8439410?hideProblemsFromDependencies=false&hideTestsFromDependencies=false&expandCode+Inspection=true&expandBuildChangesSection=true&expandBuildDeploymentsSection=false&expandBuildProblemsSection=true&logFilter=debug&logView=flowAware




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


[jira] [Created] (IGNITE-23131) java.lang.AssertionError: The local node is outside of the replication group

2024-09-03 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-23131:


 Summary: java.lang.AssertionError: The local node is outside of 
the replication group
 Key: IGNITE-23131
 URL: https://issues.apache.org/jira/browse/IGNITE-23131
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev
 Attachments: _Integration_Tests_Run_All_Other_27436.log.zip

We've started to receive a lot of {{AssertionError}} during TC builds on main. 
These exceptions do not lead to failed tests, but must be investigated.


{noformat}
[2024-09-02T12:09:05,392][WARN 
][%irlt_trisons_20002%tableManager-io-19][PartitionReplicaLifecycleManager] 
Unable to process pending assignments event
java.lang.AssertionError: The local node is outside of the replication group [, 
stable=Assignments [nodes=HashSet [Assignment [consistentId=irlt_trisons_2, 
isPeer=true]], force=false, timestamp=113067880806875136], pending=Assignments 
[nodes=HashSet [Assignment [consistentId=irlt_trisons_20002, isPeer=true]], 
force=false, timestamp=113067880806875136], reduce=null, 
localName=irlt_trisons_20002].
  at 
org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.isNodeInReducedStableOrPendingAssignments(PartitionReplicaLifecycleManager.java:1175)
 ~[ignite-partition-replicator-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.lambda$handleChangePendingAssignmentEvent$48(PartitionReplicaLifecycleManager.java:1015)
 ~[ignite-partition-replicator-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:872) 
~[ignite-core-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.partition.replicator.PartitionReplicaLifecycleManager.lambda$handleChangePendingAssignmentEvent$49(PartitionReplicaLifecycleManager.java:1014)
 ~[ignite-partition-replicator-3.0.0-SNAPSHOT.jar:?]
  at 
java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:714)
 [?:?]
  at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
  at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}

https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8444342?expandBuildDeploymentsSection=false&hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildProblemsSection=true&expandCode+Inspection=true&expandBuildChangesSection=true&logFilter=debug&logView=flowAware



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


[jira] [Assigned] (IGNITE-22267) Improve Table API javadocs

2024-08-16 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22267:


Assignee: Mirza Aliev

> Improve Table API javadocs
> --
>
> Key: IGNITE-22267
> URL: https://issues.apache.org/jira/browse/IGNITE-22267
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Tupitsyn
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> 1. Remove "started table" term, "table" is enough
> 2. Remove "binary object" mentions
> 3. Explain how KV view "splits" row data in two parts. It does not actually 
> operate on separate keys and values.
> 4. Replace "Transaction or null to auto-commit" with "Transaction or null for 
> implicit transaction"
> 5. Remove "@throws IgniteException If an unspecified platform exception has 
> occurred internally", it is not useful
> 6. Declare order of tables in *tables()* and *tablesAsync()*



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


[jira] [Updated] (IGNITE-22923) Backport releases form 1.3.10 until 1.3.14 from the JRaft

2024-08-12 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22923:
-
Description: 
In this task, we need to backport commits until 1.3.14 release from original 
JRaft repo.

Previous task for backport https://issues.apache.org/jira/browse/IGNITE-19960



  was:
In this task, we need to backport commits from 1.3.14 release from original 
JRaft repo.

Previous task for backport https://issues.apache.org/jira/browse/IGNITE-19960




> Backport releases form 1.3.10 until 1.3.14 from the JRaft
> -
>
> Key: IGNITE-22923
> URL: https://issues.apache.org/jira/browse/IGNITE-22923
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In this task, we need to backport commits until 1.3.14 release from original 
> JRaft repo.
> Previous task for backport https://issues.apache.org/jira/browse/IGNITE-19960



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


[jira] [Updated] (IGNITE-22923) Backport releases form 1.3.10 until 1.3.14 from the JRaft

2024-08-12 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22923:
-
Summary: Backport releases form 1.3.10 until 1.3.14 from the JRaft  (was: 
Backport 1.3.14 release form the JRaft)

> Backport releases form 1.3.10 until 1.3.14 from the JRaft
> -
>
> Key: IGNITE-22923
> URL: https://issues.apache.org/jira/browse/IGNITE-22923
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In this task, we need to backport commits from 1.3.14 release from original 
> JRaft repo.
> Previous task for backport https://issues.apache.org/jira/browse/IGNITE-19960



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


[jira] [Created] (IGNITE-22973) Analyse porting a diff between 1.3.10 and 1.3.14 from Jraft

2024-08-12 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22973:


 Summary: Analyse porting a diff between 1.3.10 and 1.3.14 from 
Jraft
 Key: IGNITE-22973
 URL: https://issues.apache.org/jira/browse/IGNITE-22973
 Project: Ignite
  Issue Type: Task
Reporter: Mirza Aliev
 Attachments: List of diff between original JRaft and our fork.xlsx

We have a task for backporting releases since 1.3.10 to 1.3.14 from JRaft. As a 
first step we made a refinement where briefly analysed the scope, but we 
realised that we must deeply understand some changes. Commits could be found in 
the attachment. 

After this task is done we must understand fully all made changes from JRaft.



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


[jira] [Assigned] (IGNITE-22599) Exception inside RAFT listener does not invoke falure handler

2024-08-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22599:


Assignee: Mirza Aliev  (was: Vladislav Pyatkov)

> Exception inside RAFT listener does not invoke falure handler
> -
>
> Key: IGNITE-22599
> URL: https://issues.apache.org/jira/browse/IGNITE-22599
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: 
> poc-tester-SERVER-192.168.1.41-id-0-2024-06-27-09-14-17-client.log.2
>
>
> h3. Motivation
> An exception that is thrown during handling RAFT command cannot be recovered, 
> because a RAFT storage is already corrupted. This is a reason to call Falure 
> handler:
> {code:java}
> failureProcessor.process(new FailureContext(CRITICAL_ERROR, err));
> {code}
> Currently, I do not see any FH invokation in the log, but many exception has 
> been thrown.
> h3. Definition of done
> FH is invoked in the case where RAFT listener fails.
> h3. Implementation Notes
>  * Failure handler should be invoked in case of critical exceptions while 
> onWrite processing onRead processing, snapshotting and snapshot installation.
>  * While testing, it's required to test all CMG MG and Partition listeners.
>  * In order to ease testing, it worth implementing a test failure handler in 
> order to detect that it was triggered.



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


[jira] [Comment Edited] (IGNITE-22034) ItRebalanceTest#testRebalanceTablesCounterForZone is flaky

2024-08-06 Thread Mirza Aliev (Jira)


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

Mirza Aliev edited comment on IGNITE-22034 at 8/6/24 11:29 AM:
---

This test was removed in https://issues.apache.org/jira/browse/IGNITE-22806


was (Author: maliev):
This test were removed in https://issues.apache.org/jira/browse/IGNITE-22806

> ItRebalanceTest#testRebalanceTablesCounterForZone is flaky
> --
>
> Key: IGNITE-22034
> URL: https://issues.apache.org/jira/browse/IGNITE-22034
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> {noformat}
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.rebalance.ItRebalanceTest.waitForTablesCounterInMetastore(ItRebalanceTest.java:261)
>   at 
> org.apache.ignite.internal.rebalance.ItRebalanceTest.testRebalanceTablesCounterForZone(ItRebalanceTest.java:199)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
> {noformat}
> The reason of this NPE is {{lastAssignmentsHolderForLog[0]}} equals {{null}}. 
> We have not wait of appier a key in the metastorage.



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


[jira] [Resolved] (IGNITE-22034) ItRebalanceTest#testRebalanceTablesCounterForZone is flaky

2024-08-06 Thread Mirza Aliev (Jira)


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

Mirza Aliev resolved IGNITE-22034.
--
Resolution: Won't Fix

This test were removed in https://issues.apache.org/jira/browse/IGNITE-22806

> ItRebalanceTest#testRebalanceTablesCounterForZone is flaky
> --
>
> Key: IGNITE-22034
> URL: https://issues.apache.org/jira/browse/IGNITE-22034
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> {noformat}
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.rebalance.ItRebalanceTest.waitForTablesCounterInMetastore(ItRebalanceTest.java:261)
>   at 
> org.apache.ignite.internal.rebalance.ItRebalanceTest.testRebalanceTablesCounterForZone(ItRebalanceTest.java:199)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
> {noformat}
> The reason of this NPE is {{lastAssignmentsHolderForLog[0]}} equals {{null}}. 
> We have not wait of appier a key in the metastorage.



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


[jira] [Updated] (IGNITE-22923) Backport 1.3.14 release form the JRaft

2024-08-06 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22923:
-
Description: 
In this task, we need to backport commits from 1.3.14 release from original 
JRaft repo.

Previous task for backport https://issues.apache.org/jira/browse/IGNITE-19960



  was:
In this task, we need to backport commits from 1.3.14 release from original 
JRaft repo.




> Backport 1.3.14 release form the JRaft
> --
>
> Key: IGNITE-22923
> URL: https://issues.apache.org/jira/browse/IGNITE-22923
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In this task, we need to backport commits from 1.3.14 release from original 
> JRaft repo.
> Previous task for backport https://issues.apache.org/jira/browse/IGNITE-19960



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


[jira] [Created] (IGNITE-22923) Backport 1.3.14 release form the JRaft

2024-08-04 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22923:


 Summary: Backport 1.3.14 release form the JRaft
 Key: IGNITE-22923
 URL: https://issues.apache.org/jira/browse/IGNITE-22923
 Project: Ignite
  Issue Type: Task
Reporter: Mirza Aliev


In this task, we need to backport commits from 1.3.14 release from original 
JRaft repo.





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


[jira] [Updated] (IGNITE-22833) Test DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation is flaky

2024-07-30 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22833:
-
Description: 
{noformat}
[10:10:14] : [:ignite-distribution-zones:test] 
DistributionZoneCausalityDataNodesTest > 
testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(int, 
int) > [1] 1, 1 STANDARD_ERROR
[10:10:14] : [:ignite-distribution-zones:test] 
[2024-07-23T10:10:14,100][WARN 
][%test%metastorage-watch-executor-2][UpdateLogImpl] Unable to process catalog 
event
[10:10:14] : [:ignite-distribution-zones:test] 
java.lang.NullPointerException: null
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.initDataNodesAndTriggerKeysInMetaStorage(DistributionZoneManager.java:527)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.onCreateZone(DistributionZoneManager.java:456)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$37(DistributionZoneManager.java:1396)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:832) 
~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$38(DistributionZoneManager.java:1395)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:81)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:577)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:544)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:320)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}


*UPD*: After some investigation, I would suggest rewrite this test, so we don't 
use mocks of metastorage and don't block some metastorage updates and wait for 
further metastorage intereactions, like catalog updates. As an idea, we could 
use {{org.apache.ignite.internal.test.WatchListenerInhibitor}} to block 
reaction on changing of 
{{org.apache.ignite.internal.distributionzones.DistributionZonesUtil#zonesLogicalTopologyKey}}
 so that means that we will skip data nodes update as we wanted in the test 

  was:
{noformat}
[10:10:14] : [:ig

[jira] [Updated] (IGNITE-22833) Test DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation is flaky

2024-07-30 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22833:
-
Description: 
{noformat}
[10:10:14] : [:ignite-distribution-zones:test] 
DistributionZoneCausalityDataNodesTest > 
testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(int, 
int) > [1] 1, 1 STANDARD_ERROR
[10:10:14] : [:ignite-distribution-zones:test] 
[2024-07-23T10:10:14,100][WARN 
][%test%metastorage-watch-executor-2][UpdateLogImpl] Unable to process catalog 
event
[10:10:14] : [:ignite-distribution-zones:test] 
java.lang.NullPointerException: null
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.initDataNodesAndTriggerKeysInMetaStorage(DistributionZoneManager.java:527)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.onCreateZone(DistributionZoneManager.java:456)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$37(DistributionZoneManager.java:1396)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:832) 
~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$38(DistributionZoneManager.java:1395)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:81)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:577)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:544)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:320)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}


*UPD*: After some investigation, I would suggest to rewrite this test, so we 
don't use mocks of metastorage and don't block some metastorage updates and 
wait for further metastorage intereactions, like catalog updates. As an idea, 
we could use {{org.apache.ignite.internal.test.WatchListenerInhibitor}} to 
block reaction on changing of 
{{org.apache.ignite.internal.distributionzones.DistributionZonesUtil#zonesLogicalTopologyKey}}
 so that means that we can skip data nodes update as we wanted in the test 

  was:
{noformat}
[10:10:14] : [:

[jira] [Updated] (IGNITE-22833) Test DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation is flaky

2024-07-30 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22833:
-
Description: 
{noformat}
[10:10:14] : [:ignite-distribution-zones:test] 
DistributionZoneCausalityDataNodesTest > 
testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(int, 
int) > [1] 1, 1 STANDARD_ERROR
[10:10:14] : [:ignite-distribution-zones:test] 
[2024-07-23T10:10:14,100][WARN 
][%test%metastorage-watch-executor-2][UpdateLogImpl] Unable to process catalog 
event
[10:10:14] : [:ignite-distribution-zones:test] 
java.lang.NullPointerException: null
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.initDataNodesAndTriggerKeysInMetaStorage(DistributionZoneManager.java:527)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.onCreateZone(DistributionZoneManager.java:456)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$37(DistributionZoneManager.java:1396)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:832) 
~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$38(DistributionZoneManager.java:1395)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:81)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:577)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:544)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:320)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}


*UPD*: After some investigation, I would suggest to rewrite this test, so we 
don't use mocks of metastorage and don't block some metastorage updates and 
wait for further metastorage intereactions, like catalog updates. As an idea, 
we could use {{org.apache.ignite.internal.test.WatchListenerInhibitor}} to 
block reaction on changing of 
{{org.apache.ignite.internal.distributionzones.DistributionZonesUtil#zonesLogicalTopologyKey}}
 so that means that we will skip data nodes update as we wanted in the test 

  was:
{noformat}
[10:10:14] : [

[jira] [Updated] (IGNITE-22833) Test DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation is flaky

2024-07-29 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22833:
-
Description: 
{noformat}
[10:10:14] : [:ignite-distribution-zones:test] 
DistributionZoneCausalityDataNodesTest > 
testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(int, 
int) > [1] 1, 1 STANDARD_ERROR
[10:10:14] : [:ignite-distribution-zones:test] 
[2024-07-23T10:10:14,100][WARN 
][%test%metastorage-watch-executor-2][UpdateLogImpl] Unable to process catalog 
event
[10:10:14] : [:ignite-distribution-zones:test] 
java.lang.NullPointerException: null
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.initDataNodesAndTriggerKeysInMetaStorage(DistributionZoneManager.java:527)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.onCreateZone(DistributionZoneManager.java:456)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$37(DistributionZoneManager.java:1396)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLock(IgniteUtils.java:832) 
~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.lambda$registerCatalogEventListenersOnStartManagerBusy$38(DistributionZoneManager.java:1395)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[ignite-core-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:81)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:577)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:544)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:320)
 ~[ignite-catalog-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
 ~[ignite-metastorage-3.0.0-SNAPSHOT.jar:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
[10:10:14] : [:ignite-distribution-zones:test]  at 
java.base/java.lang.Thread.run(Thread.java:834) [?:?]
{noformat}


*UPD*: After some investigation, I would suggest rewrite this test, so we don't 
use mocks of metastorage and don't block some metastorage updates and wait for 
further metastorage intereactions, like catalog updates. 

  was:
{noformat}
[10:10:14] : [:ignite-distribution-zones:test] 
DistributionZoneCausalityDataNodesTest > 
testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(int, 
int) > [1] 1, 1 STANDARD_ERROR
[10:10:14] : [:ignite-distribution-zones:test] 
[2024-07-23T10:10:14,100][WARN 
][%test%meta

[jira] [Updated] (IGNITE-22834) Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown

2024-07-26 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22834:
-
Description: 
We need to mute 
{{org.apache.ignite.internal.table.ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown}}
 because it fails with 
{noformat}
[2024-07-24T14:59:50,794][ERROR][%iest_teasd_0%rebalance-scheduler-12][RebalanceRaftGroupEventsListener]
 Unable to count down partitions counter in metastore: 16_part_17
java.lang.AssertionError: null
  at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.countDownPartitionsFromZone(RebalanceRaftGroupEventsListener.java:260)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.lambda$onNewPeersConfigurationApplied$1(RebalanceRaftGroupEventsListener.java:238)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
  at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
 [?:?]
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
  at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
  at java.base/java.lang.Thread.run(Thread.java:834) [?:?]{noformat}
 It will be fixed in https://issues.apache.org/jira/browse/IGNITE-22806 by 
removing counters logic at all

  was:
We need to mute 
{{org.apache.ignite.internal.table.ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp}}
 because it fails with 
{noformat}
[2024-07-24T14:59:50,794][ERROR][%iest_teasd_0%rebalance-scheduler-12][RebalanceRaftGroupEventsListener]
 Unable to count down partitions counter in metastore: 16_part_17
java.lang.AssertionError: null
  at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.countDownPartitionsFromZone(RebalanceRaftGroupEventsListener.java:260)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.lambda$onNewPeersConfigurationApplied$1(RebalanceRaftGroupEventsListener.java:238)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
  at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
 [?:?]
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
  at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
  at java.base/java.lang.Thread.run(Thread.java:834) [?:?]{noformat}
 It will be fixed in https://issues.apache.org/jira/browse/IGNITE-22806 by 
removing counters logic at all


> Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown
> 
>
> Key: IGNITE-22834
> URL: https://issues.apache.org/jira/browse/IGNITE-22834
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> We need to mute 
> {{org.apache.ignite.internal.table.ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown}}
>  because it fails with 
> {noformat}
> [2024-07-24T14:59:50,794][ERROR][%iest_teasd_0%rebalance-scheduler-12][RebalanceRaftGroupEventsListener]
>  Unable to count down partitions counter in metastore: 16_part_17
> java.lang.AssertionError: null
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.countDownPartitionsFromZone(RebalanceRaftGroupEventsListener.java:260)
>  ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.lambda$onNewPeersConfigurationApplied$1(RebalanceRaftGroupEventsListener.java:238)
>  ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:

[jira] [Updated] (IGNITE-22834) Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown

2024-07-26 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22834:
-
Summary: Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown  (was: 
Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp)

> Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleDown
> 
>
> Key: IGNITE-22834
> URL: https://issues.apache.org/jira/browse/IGNITE-22834
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> We need to mute 
> {{org.apache.ignite.internal.table.ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp}}
>  because it fails with 
> {noformat}
> [2024-07-24T14:59:50,794][ERROR][%iest_teasd_0%rebalance-scheduler-12][RebalanceRaftGroupEventsListener]
>  Unable to count down partitions counter in metastore: 16_part_17
> java.lang.AssertionError: null
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.countDownPartitionsFromZone(RebalanceRaftGroupEventsListener.java:260)
>  ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.lambda$onNewPeersConfigurationApplied$1(RebalanceRaftGroupEventsListener.java:238)
>  ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:834) [?:?]{noformat}
>  It will be fixed in https://issues.apache.org/jira/browse/IGNITE-22806 by 
> removing counters logic at all



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


[jira] [Assigned] (IGNITE-22834) Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp

2024-07-26 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22834:


Assignee: Mirza Aliev

> Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp
> --
>
> Key: IGNITE-22834
> URL: https://issues.apache.org/jira/browse/IGNITE-22834
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> We need to mute 
> {{org.apache.ignite.internal.table.ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp}}
>  because it fails with 
> {noformat}
> [2024-07-24T14:59:50,794][ERROR][%iest_teasd_0%rebalance-scheduler-12][RebalanceRaftGroupEventsListener]
>  Unable to count down partitions counter in metastore: 16_part_17
> java.lang.AssertionError: null
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.countDownPartitionsFromZone(RebalanceRaftGroupEventsListener.java:260)
>  ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.lambda$onNewPeersConfigurationApplied$1(RebalanceRaftGroupEventsListener.java:238)
>  ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:834) [?:?]{noformat}
>  It will be fixed in https://issues.apache.org/jira/browse/IGNITE-22806 by 
> removing counters logic at all



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


[jira] [Created] (IGNITE-22834) Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp

2024-07-25 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22834:


 Summary: Mute ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp
 Key: IGNITE-22834
 URL: https://issues.apache.org/jira/browse/IGNITE-22834
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev


We need to mute 
{{org.apache.ignite.internal.table.ItEstimatedSizeTest#testEstimatedSizeAfterScaleUp}}
 because it fails with 
{noformat}
[2024-07-24T14:59:50,794][ERROR][%iest_teasd_0%rebalance-scheduler-12][RebalanceRaftGroupEventsListener]
 Unable to count down partitions counter in metastore: 16_part_17
java.lang.AssertionError: null
  at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.countDownPartitionsFromZone(RebalanceRaftGroupEventsListener.java:260)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.lambda$onNewPeersConfigurationApplied$1(RebalanceRaftGroupEventsListener.java:238)
 ~[ignite-distribution-zones-3.0.0-SNAPSHOT.jar:?]
  at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
 [?:?]
  at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
  at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
  at java.base/java.lang.Thread.run(Thread.java:834) [?:?]{noformat}
 It will be fixed in https://issues.apache.org/jira/browse/IGNITE-22806 by 
removing counters logic at all



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


[jira] [Created] (IGNITE-22806) Investigate table counters problems

2024-07-23 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22806:


 Summary: Investigate table counters problems
 Key: IGNITE-22806
 URL: https://issues.apache.org/jira/browse/IGNITE-22806
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev


For the purposes of the colocation feature, we have implemented counters for 
table rebalances from a zone https://issues.apache.org/jira/browse/IGNITE-21253.

 

This solution has a lot of restrictions, like we cannot start a table in a zone 
if there is ongoing rebalance in this zone, or we cannot remove a table, etc.

 

In general, solution was implemented as a workaround in we had a plan to remove 
it once colocation feature is implemented.

 

Now we have several flaky tests because of some bugs in the counters 
implementation. 

1) When we receive call back from raft that configuration of a group was 
applied, we count down counter, but we don't have a revision of MS and we 
cannot take actual counter for this event. It could lead to problems for some 
recovery scenarios or disaster recovery.

 

2) Also there is a NPE problem when we count down, because counter could be 
null, as we can see from 
`org.apache.ignite.internal.disaster.ItDisasterRecoveryReconfigurationTest#testManualRebalanceIfPartitionIsLost`

 

*Definition of done*
 * We must decide, should we rollback this feature, as long as corresponding 
logic for zone-based rebalance has already been implemented
 * We must invent some solution for Raft configuration applying and reading MS 
in that callbacks  



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


[jira] [Assigned] (IGNITE-22802) Gather requirements for replica factor 2 scenario

2024-07-23 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22802:


Assignee: Mirza Aliev

> Gather requirements for replica factor 2 scenario
> -
>
> Key: IGNITE-22802
> URL: https://issues.apache.org/jira/browse/IGNITE-22802
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In this task we want to summarise all requirements for the scenario of tables 
> with replica factor 2. 
>  
> We want to have answers for several questions:
> 1) What exactly we want from the scenario of replica factor 2, should it work 
> the same as we have in ignite 2, is this possible to do it easily or it 
> requires a lot of work?
> 2) How can we implement this, taking into account that Raft, that is the base 
> replication algorithm, works unstable when its cluster has 2 nodes.
>  
> As a result of this ticket, we should have a vision on the further work that 
> must be done on this track.



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


[jira] [Assigned] (IGNITE-22806) Investigate table counters problems

2024-07-23 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22806:


Assignee: Mirza Aliev

> Investigate table counters problems
> ---
>
> Key: IGNITE-22806
> URL: https://issues.apache.org/jira/browse/IGNITE-22806
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> For the purposes of the colocation feature, we have implemented counters for 
> table rebalances from a zone 
> https://issues.apache.org/jira/browse/IGNITE-21253.
>  
> This solution has a lot of restrictions, like we cannot start a table in a 
> zone if there is ongoing rebalance in this zone, or we cannot remove a table, 
> etc.
>  
> In general, solution was implemented as a workaround in we had a plan to 
> remove it once colocation feature is implemented.
>  
> Now we have several flaky tests because of some bugs in the counters 
> implementation. 
> 1) When we receive call back from raft that configuration of a group was 
> applied, we count down counter, but we don't have a revision of MS and we 
> cannot take actual counter for this event. It could lead to problems for some 
> recovery scenarios or disaster recovery.
>  
> 2) Also there is a NPE problem when we count down, because counter could be 
> null, as we can see from 
> `org.apache.ignite.internal.disaster.ItDisasterRecoveryReconfigurationTest#testManualRebalanceIfPartitionIsLost`
>  
> *Definition of done*
>  * We must decide, should we rollback this feature, as long as corresponding 
> logic for zone-based rebalance has already been implemented
>  * We must invent some solution for Raft configuration applying and reading 
> MS in that callbacks  



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


[jira] [Updated] (IGNITE-22802) Gather requirements for replica factor 2 scenario

2024-07-23 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22802:
-
Summary: Gather requirements for replica factor 2 scenario  (was: Gather 
requirements for two replica scenario)

> Gather requirements for replica factor 2 scenario
> -
>
> Key: IGNITE-22802
> URL: https://issues.apache.org/jira/browse/IGNITE-22802
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In this task we want to summarise all requirements for the scenario of tables 
> with replica factor 2. 
>  
> We want to have answers for several questions:
> 1) What exactly we want from the scenario of replica factor 2, should it work 
> the same as we have in ignite 2?
> 2) How can we implement this, taking into account that Raft, that is the base 
> replication algorithm, works unstable when its cluster has 2 nodes.
>  
> As a result of this ticket, we should have a vision on the further work that 
> must be done on this track.



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


[jira] [Updated] (IGNITE-22802) Gather requirements for replica factor 2 scenario

2024-07-23 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22802:
-
Description: 
In this task we want to summarise all requirements for the scenario of tables 
with replica factor 2. 

 

We want to have answers for several questions:

1) What exactly we want from the scenario of replica factor 2, should it work 
the same as we have in ignite 2, is this possible to do it easily or it 
requires a lot of work?

2) How can we implement this, taking into account that Raft, that is the base 
replication algorithm, works unstable when its cluster has 2 nodes.

 

As a result of this ticket, we should have a vision on the further work that 
must be done on this track.

  was:
In this task we want to summarise all requirements for the scenario of tables 
with replica factor 2. 

 

We want to have answers for several questions:

1) What exactly we want from the scenario of replica factor 2, should it work 
the same as we have in ignite 2?

2) How can we implement this, taking into account that Raft, that is the base 
replication algorithm, works unstable when its cluster has 2 nodes.

 

As a result of this ticket, we should have a vision on the further work that 
must be done on this track.


> Gather requirements for replica factor 2 scenario
> -
>
> Key: IGNITE-22802
> URL: https://issues.apache.org/jira/browse/IGNITE-22802
> Project: Ignite
>  Issue Type: Task
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In this task we want to summarise all requirements for the scenario of tables 
> with replica factor 2. 
>  
> We want to have answers for several questions:
> 1) What exactly we want from the scenario of replica factor 2, should it work 
> the same as we have in ignite 2, is this possible to do it easily or it 
> requires a lot of work?
> 2) How can we implement this, taking into account that Raft, that is the base 
> replication algorithm, works unstable when its cluster has 2 nodes.
>  
> As a result of this ticket, we should have a vision on the further work that 
> must be done on this track.



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


[jira] [Created] (IGNITE-22802) Gather requirements for two replica scenario

2024-07-23 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22802:


 Summary: Gather requirements for two replica scenario
 Key: IGNITE-22802
 URL: https://issues.apache.org/jira/browse/IGNITE-22802
 Project: Ignite
  Issue Type: Task
Reporter: Mirza Aliev


In this task we want to summarise all requirements for the scenario of tables 
with replica factor 2. 

 

We want to have answers for several questions:

1) What exactly we want from the scenario of replica factor 2, should it work 
the same as we have in ignite 2?

2) How can we implement this, taking into account that Raft, that is the base 
replication algorithm, works unstable when its cluster has 2 nodes.

 

As a result of this ticket, we should have a vision on the further work that 
must be done on this track.



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


[jira] [Commented] (IGNITE-22597) Exception trace id is not propagated from RAFT listener

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-22597:
--

[~v.pyatkov] 
This is from server side (it also will be improved with traceId and code here 
https://issues.apache.org/jira/browse/IGNITE-22634)
{noformat}
[2024-07-01T18:39:23,138][WARN 
][%isnt_tmpar_0%JRaft-FSMCaller-Disruptor_stripe_0-0][ActionRequestProcessor] 
Error occurred on a user's state machine
 org.apache.ignite.internal.lang.IgniteInternalException: Expected message
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleUpdateCommand(PartitionListener.java:277)
 ~[main/:?]
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:210)
{noformat}


and like this from a client side

{noformat}
org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:27960e0f-a0e9-4a11-9370-03ab1c7af36e Expected message

at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.mapToPublicException(IgniteExceptionMapperUtil.java:118)
at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.lambda$convertToPublicFuture$2(IgniteExceptionMapperUtil.java:138)
...
at 
org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:326)
at 
org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:283)
at 
com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:167)
at 
com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:122)
at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.apache.ignite.internal.lang.IgniteInternalException: 
IGN-CMN-65535 TraceId:27960e0f-a0e9-4a11-9370-03ab1c7af36e Expected message
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleUpdateCommand(PartitionListener.java:277)
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:210)
... 13 more
Caused by: java.lang.RuntimeException: TEST
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleUpdateCommand(PartitionListener.java:275)
... 14 more
{noformat}


> Exception trace id is not propagated from RAFT listener
> ---
>
> Key: IGNITE-22597
> URL: https://issues.apache.org/jira/browse/IGNITE-22597
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: error_log.txt
>
>
> h3. Motivation
> The trace id is generated at the place where the original exception was 
> created and should be propogated to other derevatives. Right now, we send 
> only an exception message and class name to the RAFT listener response.
> {code:java}
> private void sendSMError(RpcContext ctx, Throwable th, boolean compacted) {
> RpcRequests.SMErrorResponse resp = factory.sMErrorResponse()
> .error(compacted ? new SMCompactedThrowable(th) : new 
> SMFullThrowable(th))
> .build();
> ctx.sendResponse(resp);
> LOG.info("Error occurred on a user's state machine", th);
> }
> {code}
> Hence, we cannot restore the trace id and create an exception with a new 
> trace id:
> {code:java}
> Throwable restoredTh = (Throwable) 
> Class.forName(compactedThrowable.throwableClassName())
> .getConstructor(String.class)
> .newInstance(compactedThrowable.throwableMessage());
> fut.completeExceptionally(restoredTh);
> {code}
> h3. Definition of done
> * Both attached logs should be logged with the same trace id.
> * Massage in the RAFT listener should be logged in error (or warning) level.



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


[jira] [Updated] (IGNITE-22634) IgniteLogger does not print traceId and code for TraceableException

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22634:
-
Description: 
We've noticed that construction like this does not work as we expected:
{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}
*Expected behaviour:* 
We see in logs traceId and code of the {{IgniteInternalException}}

*Actual behaviour:*
{code:java}
[2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
 {code}

Also it is worth to mention that this behaviour is reproducible in {{log4j2}}, 
but not in {{JUL}}

  was:
We've noticed that construction like this does not work as we expected:
{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}
*Expected behaviour:* 
We see in logs traceId and code of the {{IgniteInternalException}}

*Actual behaviour:*
{code:java}
[2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
 {code}


> IgniteLogger does not print traceId and code for TraceableException 
> 
>
> Key: IGNITE-22634
> URL: https://issues.apache.org/jira/browse/IGNITE-22634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: screenshot-1.png
>
>
> We've noticed that construction like this does not work as we expected:
> {code:java}
> Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
> message");
> log.info("SOME MESSAGE", e);
> log.warn("SOME MESSAGE", e);
> log.error("SOME MESSAGE", e);
> {code}
> *Expected behaviour:* 
> We see in logs traceId and code of the {{IgniteInternalException}}
> *Actual behaviour:*
> {code:java}
> [2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
>  {code}
> Also it is worth to mention that this behaviour is reproducible in 
> {{log4j2}}, but not in {{JUL}}



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


[jira] [Updated] (IGNITE-22634) IgniteLogger does not print traceId and code for TraceableException

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22634:
-
Labels: ignite-3  (was: )

> IgniteLogger does not print traceId and code for TraceableException 
> 
>
> Key: IGNITE-22634
> URL: https://issues.apache.org/jira/browse/IGNITE-22634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: screenshot-1.png
>
>
> We've noticed that construction like this does not work as we expected:
> {code:java}
> Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
> message");
> log.info("SOME MESSAGE", e);
> log.warn("SOME MESSAGE", e);
> log.error("SOME MESSAGE", e);
> {code}
> *Expected behaviour:* 
> We see in logs traceId and code of the {{IgniteInternalException}}
> *Actual behaviour:*
> {code:java}
> [2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
>  {code}



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


[jira] [Updated] (IGNITE-22634) IgniteLogger does not print traceId and code for TraceableException

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22634:
-
Description: 
We've noticed that construction like this does not work as we expected:
{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}
Expected behaviour: 
We see in logs traceId and code of the {{IgniteInternalException}}

Actual behaviour:
{code:java}
[2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
 {code}

  was:
We've noticed that construction like this does not work as we expected:

{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}

Expected behaviour: 
We see in logs traceId and code of the {{IgniteInternalException}}

Actual behaviour:



> IgniteLogger does not print traceId and code for TraceableException 
> 
>
> Key: IGNITE-22634
> URL: https://issues.apache.org/jira/browse/IGNITE-22634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Priority: Major
> Attachments: screenshot-1.png
>
>
> We've noticed that construction like this does not work as we expected:
> {code:java}
> Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
> message");
> log.info("SOME MESSAGE", e);
> log.warn("SOME MESSAGE", e);
> log.error("SOME MESSAGE", e);
> {code}
> Expected behaviour: 
> We see in logs traceId and code of the {{IgniteInternalException}}
> Actual behaviour:
> {code:java}
> [2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
>  {code}



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


[jira] [Updated] (IGNITE-22634) IgniteLogger does not print traceId and code for TraceableException

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22634:
-
Description: 
We've noticed that construction like this does not work as we expected:
{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}
*Expected behaviour:* 
We see in logs traceId and code of the {{IgniteInternalException}}

*Actual behaviour:*
{code:java}
[2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
 {code}

  was:
We've noticed that construction like this does not work as we expected:
{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}
Expected behaviour: 
We see in logs traceId and code of the {{IgniteInternalException}}

Actual behaviour:
{code:java}
[2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
...
[2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
org.apache.ignite.internal.lang.IgniteInternalException: Expected message
 {code}


> IgniteLogger does not print traceId and code for TraceableException 
> 
>
> Key: IGNITE-22634
> URL: https://issues.apache.org/jira/browse/IGNITE-22634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Priority: Major
> Attachments: screenshot-1.png
>
>
> We've noticed that construction like this does not work as we expected:
> {code:java}
> Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
> message");
> log.info("SOME MESSAGE", e);
> log.warn("SOME MESSAGE", e);
> log.error("SOME MESSAGE", e);
> {code}
> *Expected behaviour:* 
> We see in logs traceId and code of the {{IgniteInternalException}}
> *Actual behaviour:*
> {code:java}
> [2024-07-01T16:35:11,435][INFO ][main][CommonsTest] SOME MESSAGE 
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,445][WARN ][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
> ...
> [2024-07-01T16:35:11,446][ERROR][main][CommonsTest] SOME MESSAGE  
> org.apache.ignite.internal.lang.IgniteInternalException: Expected message
>  {code}



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


[jira] [Created] (IGNITE-22634) IgniteLogger does not print traceId and code for TraceableException

2024-07-01 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22634:


 Summary: IgniteLogger does not print traceId and code for 
TraceableException 
 Key: IGNITE-22634
 URL: https://issues.apache.org/jira/browse/IGNITE-22634
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev
 Attachments: screenshot-1.png

We've noticed that construction like this does not work as we expected:

{code:java}
Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
message");

log.info("SOME MESSAGE", e);
log.warn("SOME MESSAGE", e);
log.error("SOME MESSAGE", e);
{code}

Expected behaviour: 
We see in logs traceId and code of the {{IgniteInternalException}}

Actual behaviour:




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


[jira] [Updated] (IGNITE-22634) IgniteLogger does not print traceId and code for TraceableException

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22634:
-
Attachment: screenshot-1.png

> IgniteLogger does not print traceId and code for TraceableException 
> 
>
> Key: IGNITE-22634
> URL: https://issues.apache.org/jira/browse/IGNITE-22634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Priority: Major
> Attachments: screenshot-1.png
>
>
> We've noticed that construction like this does not work as we expected:
> {code:java}
> Throwable e = new IgniteInternalException(INTERNAL_ERR, "Expected 
> message");
> log.info("SOME MESSAGE", e);
> log.warn("SOME MESSAGE", e);
> log.error("SOME MESSAGE", e);
> {code}
> Expected behaviour: 
> We see in logs traceId and code of the {{IgniteInternalException}}
> Actual behaviour:



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


[jira] [Assigned] (IGNITE-22597) Exception trace id is not propagated from RAFT listener

2024-07-01 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22597:


Assignee: Mirza Aliev

> Exception trace id is not propagated from RAFT listener
> ---
>
> Key: IGNITE-22597
> URL: https://issues.apache.org/jira/browse/IGNITE-22597
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
> Attachments: error_log.txt
>
>
> h3. Motivation
> The trace id is generated at the place where the original exception was 
> created and should be propogated to other derevatives. Right now, we send 
> only an exception message and class name to the RAFT listener response.
> {code:java}
> private void sendSMError(RpcContext ctx, Throwable th, boolean compacted) {
> RpcRequests.SMErrorResponse resp = factory.sMErrorResponse()
> .error(compacted ? new SMCompactedThrowable(th) : new 
> SMFullThrowable(th))
> .build();
> ctx.sendResponse(resp);
> LOG.info("Error occurred on a user's state machine", th);
> }
> {code}
> Hence, we cannot restore the trace id and create an exception with a new 
> trace id:
> {code:java}
> Throwable restoredTh = (Throwable) 
> Class.forName(compactedThrowable.throwableClassName())
> .getConstructor(String.class)
> .newInstance(compactedThrowable.throwableMessage());
> fut.completeExceptionally(restoredTh);
> {code}
> h3. Definition of done
> * Both attached logs should be logged with the same trace id.
> * Massage in the RAFT listener should be logged in error (or warning) level.



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


[jira] [Commented] (IGNITE-22597) Exception trace id is not propagated from RAFT listener

2024-06-28 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-22597:
--

[~ktkale...@gridgain.com] could you please clarify, what specifically you want 
to be fixed within this ticket? 

> Exception trace id is not propagated from RAFT listener
> ---
>
> Key: IGNITE-22597
> URL: https://issues.apache.org/jira/browse/IGNITE-22597
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Attachments: error_log.txt
>
>
> h3. Motivation
> The trace id is generated at the place where the original exception was 
> created and should be propogated to other derevatives. Right now, we send 
> only an exception message and class name to the RAFT listener response.
> {code:java}
> private void sendSMError(RpcContext ctx, Throwable th, boolean compacted) {
> RpcRequests.SMErrorResponse resp = factory.sMErrorResponse()
> .error(compacted ? new SMCompactedThrowable(th) : new 
> SMFullThrowable(th))
> .build();
> ctx.sendResponse(resp);
> LOG.info("Error occurred on a user's state machine", th);
> }
> {code}
> Hence, we cannot restore the trace id and create an exception with a new 
> trace id:
> {code:java}
> Throwable restoredTh = (Throwable) 
> Class.forName(compactedThrowable.throwableClassName())
> .getConstructor(String.class)
> .newInstance(compactedThrowable.throwableMessage());
> fut.completeExceptionally(restoredTh);
> {code}
> h3. Definition of done
> * Both attached logs should be logged with the same trace id.
> * Massage in the RAFT listener should be logged in error (or warning) level.



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


[jira] [Updated] (IGNITE-22600) Implement proper way of handling empty stable assignments on zone creation

2024-06-27 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22600:
-
Description: TBD

> Implement proper way of handling empty stable assignments on zone creation
> --
>
> Key: IGNITE-22600
> URL: https://issues.apache.org/jira/browse/IGNITE-22600
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> TBD



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


[jira] [Created] (IGNITE-22600) Implement proper way of handling empty stable assignments on zone creation

2024-06-27 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22600:


 Summary: Implement proper way of handling empty stable assignments 
on zone creation
 Key: IGNITE-22600
 URL: https://issues.apache.org/jira/browse/IGNITE-22600
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev






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


[jira] [Updated] (IGNITE-22436) Fix ItReplicaLifecycleTest

2024-06-10 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22436:
-
Description: 
We need to rewrite ItReplicaLifecycleTest so it could be possible to set node 
attributes to a node when we start it, so we could write proper tests for 
altering filters as a rebalance trigger. 

h3. Definition of done
* It it possible to pass node attributes to such node

  was:
We need to rewrite ItReplicaLifecycleTest so it could start a node not only in 
the BeforeEach section, but in any place in a test, also it must be possible to 
set node attributes to a node, so we could write proper tests for altering 
filters as a rebalance trigger. 

h3. Definition of done
* It is possible to start a partial node in any place in ItReplicaLifecycleTest
* It it possible to pass node attributes to such node


> Fix ItReplicaLifecycleTest
> --
>
> Key: IGNITE-22436
> URL: https://issues.apache.org/jira/browse/IGNITE-22436
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> We need to rewrite ItReplicaLifecycleTest so it could be possible to set node 
> attributes to a node when we start it, so we could write proper tests for 
> altering filters as a rebalance trigger. 
> h3. Definition of done
> * It it possible to pass node attributes to such node



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


[jira] [Updated] (IGNITE-22388) Recheck tests from TableManagerTest for correctness

2024-06-07 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22388:
-
Summary: Recheck tests from TableManagerTest for correctness   (was: 
TableManagerTest revision)

> Recheck tests from TableManagerTest for correctness 
> 
>
> Key: IGNITE-22388
> URL: https://issues.apache.org/jira/browse/IGNITE-22388
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mikhail Efremov
>Priority: Major
>  Labels: ignite-3
>
> *Description*
> During IGNITE-22315 we found that tests 
> {{TableManagerTest#tableManagerStopTest*}} are failed and after 
> investigations there was clear that several static mocks aren't in use in 
> tests that leads to actually unworked tests. The special case was fixed in 
> IGNITE-22355, but there are more issued places, especially described below. 
> The main goal of the ticket is to revise the test class and rewrite it in 
> accordings to its purpose without any excessive, unused code lines.
> *Motivation*
> There will be provided 3 examples with problematic code the was found in 
> {{TableManagerTable#tableManagerStopTest*}} but not limited.
> The first code smell is the name of the tests: 
> {{{}TableManagerTable#tableManagerStopTest1-4{}}}. The names doesn't tell how 
> 1st and 4th are different.
> The second is another (except that in IGNITE-22355) static mock 
> {{schemaServiceMock}} in try-with-resources block that shouldn't work outside 
> the block:
> {code:java}
> private TableViewInternal mockManagersAndCreateTableWithDelay(
> String tableName,
> CompletableFuture tblManagerFut,
> @Nullable Phaser phaser
> ) throws Exception {
> String consistentId = "node0";
> // ...
> when(ts.getByConsistentId(any())).thenReturn(new ClusterNodeImpl(
> UUID.randomUUID().toString(),
> consistentId,
> new NetworkAddress("localhost", 47500)
> ));
> try (MockedStatic schemaServiceMock = 
> mockStatic(SchemaUtils.class)) {
> schemaServiceMock.when(() -> 
> SchemaUtils.prepareSchemaDescriptor(any()))
> .thenReturn(mock(SchemaDescriptor.class));
> }
> try (MockedStatic affinityServiceMock = 
> mockStatic(AffinityUtils.class)) {
> ArrayList> assignment = new ArrayList<>(PARTITIONS);
> for (int part = 0; part < PARTITIONS; part++) {
> assignment.add(new ArrayList<>(Collections.singleton(node)));
> }
> affinityServiceMock.when(() -> 
> AffinityUtils.calculateAssignments(any(), anyInt(), anyInt()))
> .thenReturn(assignment);
> }
> //...
> {code}
> In the test class there are only two such mocks and {{affinityServiceMock}} 
> is removed in IGNITE-22355, but {{schemaServiceMock}} still requires 
> reworking.
> The third issue in the code above: the problem is that {{ts}} isn't really 
> uses: {{ts}} is topology service field in the test class, but for 
> {{TableManager}} creation topology service arrives from a mocked cluster 
> service:
> {code:java}
> private TableManager createTableManager(/*...*/) {
>   TableManager tableManager = new TableManager(
>   // ...
>   clusterService.topologyService(),
>   //...
> {code}
> {{topologyService}} is mocked in {{before}} with another mock:
> {code:java}
> @BeforeEach
>  void before() throws NodeStoppingException {
>  // ...
>  TopologyService topologyService = mock(TopologyService.class);
>  when(clusterService.topologyService()).thenReturn(topologyService);
>  // ...
> {code}
> That means, that {{ts}} field isn't in use and the code above is just for 
> nothing.
> There only 3 arguments, but they shows drastical problems with the test class 
> and the ticket calls for the class reworking.
> *Definition of done*
>  # Tests' names should have meaningful names that differs one from another.
>  # Tests shouldn't contain unused and meaningless code.



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


[jira] [Assigned] (IGNITE-22436) Fix ItReplicaLifecycleTest

2024-06-07 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22436:


Assignee: Mirza Aliev

> Fix ItReplicaLifecycleTest
> --
>
> Key: IGNITE-22436
> URL: https://issues.apache.org/jira/browse/IGNITE-22436
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> We need to rewrite ItReplicaLifecycleTest so it could start a node not only 
> in the BeforeEach section, but in any place in a test, also it must be 
> possible to set node attributes to a node, so we could write proper tests for 
> altering filters as a rebalance trigger. 
> h3. Definition of done
> * It is possible to start a partial node in any place in 
> ItReplicaLifecycleTest
> * It it possible to pass node attributes to such node



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


[jira] [Created] (IGNITE-22436) Fix ItReplicaLifecycleTest

2024-06-07 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22436:


 Summary: Fix ItReplicaLifecycleTest
 Key: IGNITE-22436
 URL: https://issues.apache.org/jira/browse/IGNITE-22436
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev


We need to rewrite ItReplicaLifecycleTest so it could start a node not only in 
the BeforeEach section, but in any place in a test, also it must be possible to 
set node attributes to a node, so we could write proper tests for altering 
filters as a rebalance trigger. 

h3. Definition of done
* It is possible to start a partial node in any place in ItReplicaLifecycleTest
* It it possible to pass node attributes to such node



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


[jira] [Updated] (IGNITE-22410) Implement rebalance triggers for zone based partitions

2024-06-05 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22410:
-
Description: 
*Motivation*
We need to implement the rebalance routine for zone-based partitions in the new 
ReplicaLifecycleManager.

*Definition of done*
- Rebalance keys are placed under the zone.* prefix to separate these keys from 
the table-based, including in-memory keys
- All rebalance triggers are supported
- RebalanceRaftGroupEventsListener duplicated for the datareplication module in 
the scope of zone-based keys also.

*Implementation notes*
- Zone based keys are already supported in the ignite-collocation-feature and 
RebalanceUtil/RebalanceRaftGroupEventsListener can be just copied from there to 
the datareplication module.

 

  was:
*Motivation*
We need to implement the rebalance routine for zone-based partitions in the new 
ReplicaLifecycleManager.

*Definition of done*
- Rebalance keys are placed under the zone.* prefix to separate these keys from 
the table-based.
- All rebalance triggers are supported
- RebalanceRaftGroupEventsListener duplicated for the datareplication module in 
the scope of zone-based keys also.

*Implementation notes*
- Zone based keys are already supported in the ignite-collocation-feature and 
RebalanceUtil/RebalanceRaftGroupEventsListener can be just copied from there to 
the datareplication module.

 


> Implement rebalance triggers for zone based partitions
> --
>
> Key: IGNITE-22410
> URL: https://issues.apache.org/jira/browse/IGNITE-22410
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Assignee: Mirza Aliev
>Priority: Major
>
> *Motivation*
> We need to implement the rebalance routine for zone-based partitions in the 
> new ReplicaLifecycleManager.
> *Definition of done*
> - Rebalance keys are placed under the zone.* prefix to separate these keys 
> from the table-based, including in-memory keys
> - All rebalance triggers are supported
> - RebalanceRaftGroupEventsListener duplicated for the datareplication module 
> in the scope of zone-based keys also.
> *Implementation notes*
> - Zone based keys are already supported in the ignite-collocation-feature and 
> RebalanceUtil/RebalanceRaftGroupEventsListener can be just copied from there 
> to the datareplication module.
>  



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


[jira] [Updated] (IGNITE-22374) Support altering partition number for a zone

2024-06-04 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22374:
-
Description: This ticket was created mostly to mute some tests after 
https://issues.apache.org/jira/browse/IGNITE-22275, where we forbade altering 
partition number for a zone. This ticket can be used as an initial ticket for 
supporting altering zone partition, but we don't have such plans for the near 
future because of the complexity of the feature. 

> Support altering partition number for a zone
> 
>
> Key: IGNITE-22374
> URL: https://issues.apache.org/jira/browse/IGNITE-22374
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> This ticket was created mostly to mute some tests after 
> https://issues.apache.org/jira/browse/IGNITE-22275, where we forbade altering 
> partition number for a zone. This ticket can be used as an initial ticket for 
> supporting altering zone partition, but we don't have such plans for the near 
> future because of the complexity of the feature. 



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


[jira] [Commented] (IGNITE-22355) TableManagerTest's static mocks from #mockManagersAndCreateTableWithDelay don't work properly

2024-06-03 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-22355:
--

[~jakutenshi] LGTM

> TableManagerTest's static mocks from #mockManagersAndCreateTableWithDelay 
> don't work properly
> -
>
> Key: IGNITE-22355
> URL: https://issues.apache.org/jira/browse/IGNITE-22355
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mikhail Efremov
>Assignee: Mikhail Efremov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> *Description*
> In tests table creation method there is code like below:
>  
> {code:java}
> try (MockedStatic affinityServiceMock = 
> mockStatic(AffinityUtils.class)) {
> ArrayList> assignment = new ArrayList<>(PARTITIONS);
> for (int part = 0; part < PARTITIONS; part++) {
> assignment.add(new ArrayList<>(Collections.singleton(node)));
> }
> affinityServiceMock.when(() -> AffinityUtils.calculateAssignments(any(), 
> anyInt(), anyInt()))
> .thenReturn(assignment);
> }{code}
> As the result {{AffinityUtils#calculateAssignments}} calls outside of 
> try-with-resources returns List of empty sets, but desired behavior is list 
> of sets with the given {{{}node{}}}.
> *Definition of done*
> {{AffinityUtils#calculateAssignments}} call inside 
> {{TableManager#getOrCreateAssignments}} must returns list of non-empty sets 
> with single node.
>  



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


[jira] [Assigned] (IGNITE-22207) Handling of AwaitPrimaryReplica request maight lead to the dedalock

2024-05-30 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22207:


Assignee: Mirza Aliev

> Handling of AwaitPrimaryReplica request maight lead to the dedalock
> ---
>
> Key: IGNITE-22207
> URL: https://issues.apache.org/jira/browse/IGNITE-22207
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> We handle ReplicaUnavailableException in ReplicaService to handle request 
> transparency even if the replica had not been read at the time the request 
> was sent. To do this, we send AwaitReplicaRequest as a handling of the 
> exception and then process the origin request when the replica is guaranteed 
> ready.
> In the event that the AwaitReplicaRequest is handled locally, we will do it 
> synchronously in pendingInvokes.computeIfAbsent:
> {code}
> CompletableFuture awaitReplicaFut = 
> pendingInvokes.computeIfAbsent(
> targetNodeConsistentId,
> consistentId -> {
> AwaitReplicaRequest awaitReplicaReq = 
> REPLICA_MESSAGES_FACTORY.awaitReplicaRequest()
> .groupId(req.groupId())
> .build();
> return messagingService.invoke(
> targetNodeConsistentId,
> awaitReplicaReq,
> replicationConfiguration.rpcTimeout().value()
> );
> }
> );
> {code}
> and then hands on handling of AwaitReplicaRequest, due to removing from 
> pendingInvokes:
> {code}
> awaitReplicaFut.handle((response0, throwable0) -> {
> pendingInvokes.remove(targetNodeConsistentId, awaitReplicaFut);
> ...
> {code}
> h3. Definition of doe
> Take out of the network invokation from the map compute closure.



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


[jira] [Created] (IGNITE-22374) Support altering partition number for a zone

2024-05-29 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22374:


 Summary: Support altering partition number for a zone
 Key: IGNITE-22374
 URL: https://issues.apache.org/jira/browse/IGNITE-22374
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev






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


[jira] [Updated] (IGNITE-22305) Change API usage of Placement driver for ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId

2024-05-28 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22305:
-
Epic Link: IGNITE-19170

> Change API usage of Placement driver for ClientPrimaryReplicaTracker from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22305
> URL: https://issues.apache.org/jira/browse/IGNITE-22305
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for 
> {{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} 
> was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> This will be the last place of PD API where {{TablePartitionId}} is used, so 
> after that we can get rid of decorator and rename 
> {{getPrimaryReplicaForTable}} and {{awaitPrimaryReplicaForTable}} and also we 
> can move logic from the decorator to LeaseTracker. Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} could removed.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
> new methods which use {{ZonePartitionId}} (with tableId). Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.



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


[jira] [Updated] (IGNITE-22046) Change API usage of Placement driver in PartitionReplicaListener from TablePartitionId to ZonePartitionId

2024-05-27 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22046:
-
Reviewer: Vladislav Pyatkov

> Change API usage of Placement driver in PartitionReplicaListener from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22046
> URL: https://issues.apache.org/jira/browse/IGNITE-22046
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in PartitionReplicaListener and other places connected to 
> PartitionReplicaListener that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to PartitionReplicaListener.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} in 
> {{PartitionReplicaListener}} ({{getPrimaryReplica}}, {{awaitPrimaryReplica}}) 
> must be changed to new methods which use {{ZonePartitionId}} (with tableId).



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


[jira] [Updated] (IGNITE-21913) Change API usage of Placement driver in Transaction module from TablePartitionId to ZonePartitionId

2024-05-27 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21913:
-
Reviewer: Vladislav Pyatkov

> Change API usage of Placement driver in Transaction module from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21913
> URL: https://issues.apache.org/jira/browse/IGNITE-21913
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in Transaction module where PD was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> h3. Definition of done 
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}, {{awaitPrimaryReplica}}) must be changed to new 
> methods which use {{ZonePartitionId}} (with tableId).
> As a side effect, {{PlacementDriver}} events must be changed to 
> {{ZonePartitionId}} based events. 



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


[jira] [Updated] (IGNITE-22305) Change API usage of Placement driver for ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId

2024-05-27 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22305:
-
Reviewer:   (was: Vladislav Pyatkov)

> Change API usage of Placement driver for ClientPrimaryReplicaTracker from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22305
> URL: https://issues.apache.org/jira/browse/IGNITE-22305
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for 
> {{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} 
> was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> This will be the last place of PD API where {{TablePartitionId}} is used, so 
> after that we can get rid of decorator and rename 
> {{getPrimaryReplicaForTable}} and {{awaitPrimaryReplicaForTable}} and also we 
> can move logic from the decorator to LeaseTracker. Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} could removed.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
> new methods which use {{ZonePartitionId}} (with tableId). Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.



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


[jira] [Updated] (IGNITE-22305) Change API usage of Placement driver for ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId

2024-05-27 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22305:
-
Reviewer: Vladislav Pyatkov

> Change API usage of Placement driver for ClientPrimaryReplicaTracker from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22305
> URL: https://issues.apache.org/jira/browse/IGNITE-22305
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for 
> {{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} 
> was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> This will be the last place of PD API where {{TablePartitionId}} is used, so 
> after that we can get rid of decorator and rename 
> {{getPrimaryReplicaForTable}} and {{awaitPrimaryReplicaForTable}} and also we 
> can move logic from the decorator to LeaseTracker. Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} could removed.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
> new methods which use {{ZonePartitionId}} (with tableId). Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.



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


[jira] [Assigned] (IGNITE-22305) Change API usage of Placement driver for ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId

2024-05-23 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22305:


Assignee: Mirza Aliev

> Change API usage of Placement driver for ClientPrimaryReplicaTracker from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22305
> URL: https://issues.apache.org/jira/browse/IGNITE-22305
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for 
> {{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} 
> was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> This will be the last place of PD API where {{TablePartitionId}} is used, so 
> after that we can get rid of decorator and rename 
> {{getPrimaryReplicaForTable}} and {{awaitPrimaryReplicaForTable}} and also we 
> can move logic from the decorator to LeaseTracker. Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} could removed.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
> new methods which use {{ZonePartitionId}} (with tableId). Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.



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


[jira] [Updated] (IGNITE-22046) Change API usage of Placement driver in PartitionReplicaListener from TablePartitionId to ZonePartitionId

2024-05-22 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22046:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.

h3. Definition of done

All usages of {{PlacementDriver}} API with {{TablePartitionId}} in 
{{PartitionReplicaListener}} ({{getPrimaryReplica}}, {{awaitPrimaryReplica}}) 
must be changed to new methods which use {{ZonePartitionId}} (with tableId).

  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.

h3. Definition of done

All usages of PlacementDriver API with TablePartitionId in (getPrimaryReplica, 
awaitPrimaryReplica) must be changed to new methods which use ZonePartitionId 
(with tableId).


> Change API usage of Placement driver in PartitionReplicaListener from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22046
> URL: https://issues.apache.org/jira/browse/IGNITE-22046
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in PartitionReplicaListener and other places connected to 
> PartitionReplicaListener that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to PartitionReplicaListener.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} in 
> {{PartitionReplicaListener}} ({{getPrimaryReplica}}, {{awaitPrimaryReplica}}) 
> must be changed to new methods which use {{ZonePartitionId}} (with tableId).



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


[jira] [Updated] (IGNITE-22046) Change API usage of Placement driver in PartitionReplicaListener from TablePartitionId to ZonePartitionId

2024-05-22 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22046:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.

h3. Definition of done

All usages of PlacementDriver API with TablePartitionId in (getPrimaryReplica, 
awaitPrimaryReplica) must be changed to new methods which use ZonePartitionId 
(with tableId).

  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.

h3. Definition of done

All usages of PlacementDriver API with TablePartitionId (getPrimaryReplica, 
awaitPrimaryReplica) must be changed to new methods which use ZonePartitionId 
(with tableId).


> Change API usage of Placement driver in PartitionReplicaListener from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22046
> URL: https://issues.apache.org/jira/browse/IGNITE-22046
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in PartitionReplicaListener and other places connected to 
> PartitionReplicaListener that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to PartitionReplicaListener.
> h3. Definition of done
> All usages of PlacementDriver API with TablePartitionId in 
> (getPrimaryReplica, awaitPrimaryReplica) must be changed to new methods which 
> use ZonePartitionId (with tableId).



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


[jira] [Updated] (IGNITE-22046) Change API usage of Placement driver in PartitionReplicaListener from TablePartitionId to ZonePartitionId

2024-05-22 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22046:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.

h3. Definition of done

All usages of PlacementDriver API with TablePartitionId (getPrimaryReplica, 
awaitPrimaryReplica) must be changed to new methods which use ZonePartitionId 
(with tableId).

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.


> Change API usage of Placement driver in PartitionReplicaListener from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22046
> URL: https://issues.apache.org/jira/browse/IGNITE-22046
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in PartitionReplicaListener and other places connected to 
> PartitionReplicaListener that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to PartitionReplicaListener.
> h3. Definition of done
> All usages of PlacementDriver API with TablePartitionId (getPrimaryReplica, 
> awaitPrimaryReplica) must be changed to new methods which use ZonePartitionId 
> (with tableId).



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


[jira] [Updated] (IGNITE-22305) Change API usage of Placement driver for ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId

2024-05-22 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22305:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for 
{{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} was 
used before. See spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to 
change.

This will be the last place of PD API where {{TablePartitionId}} is used, so 
after that we can get rid of decorator and rename {{getPrimaryReplicaForTable}} 
and {{awaitPrimaryReplicaForTable}} and also we can move logic from the 
decorator to LeaseTracker. Also {{LeaseTracker#tablePartIdToZoneIdProvider}} 
could removed.

h3. Definition of done
All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
new methods which use {{ZonePartitionId}} (with tableId). Also 
{{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.


  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for 
ClientPrimaryReplicaTracker where PD.getPrimaryReplica was used before. See 
spreadsheet from https://issues.apache.org/jira/browse/IGNITE-21858 with 
details about places to change.

This will be the last place of PD API where {{TablePartitionId}} is used, so 
after that we can get rid of decorator and rename {{getPrimaryReplicaForTable}} 
and {{awaitPrimaryReplicaForTable}} and also we can move logic from the 
decorator to LeaseTracker. Also {{LeaseTracker#tablePartIdToZoneIdProvider}} 
could removed.

h3. Definition of done
All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
new methods which use {{ZonePartitionId}} (with tableId). Also 
{{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.



> Change API usage of Placement driver for ClientPrimaryReplicaTracker from 
> TablePartitionId to ZonePartitionId
> -
>
> Key: IGNITE-22305
> URL: https://issues.apache.org/jira/browse/IGNITE-22305
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for 
> {{ClientPrimaryReplicaTracker}} where {{PlacementDriver.getPrimaryReplica}} 
> was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> This will be the last place of PD API where {{TablePartitionId}} is used, so 
> after that we can get rid of decorator and rename 
> {{getPrimaryReplicaForTable}} and {{awaitPrimaryReplicaForTable}} and also we 
> can move logic from the decorator to LeaseTracker. Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} could removed.
> h3. Definition of done
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
> new methods which use {{ZonePartitionId}} (with tableId). Also 
> {{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.



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


[jira] [Created] (IGNITE-22305) Change API usage of Placement driver for ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId

2024-05-22 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22305:


 Summary: Change API usage of Placement driver for 
ClientPrimaryReplicaTracker from TablePartitionId to ZonePartitionId
 Key: IGNITE-22305
 URL: https://issues.apache.org/jira/browse/IGNITE-22305
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev


h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for 
ClientPrimaryReplicaTracker where PD.getPrimaryReplica was used before. See 
spreadsheet from https://issues.apache.org/jira/browse/IGNITE-21858 with 
details about places to change.

This will be the last place of PD API where {{TablePartitionId}} is used, so 
after that we can get rid of decorator and rename {{getPrimaryReplicaForTable}} 
and {{awaitPrimaryReplicaForTable}} and also we can move logic from the 
decorator to LeaseTracker. Also {{LeaseTracker#tablePartIdToZoneIdProvider}} 
could removed.

h3. Definition of done
All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
({{getPrimaryReplica}}) in {{ClientPrimaryReplicaTracker}} must be changed to 
new methods which use {{ZonePartitionId}} (with tableId). Also 
{{LeaseTracker#tablePartIdToZoneIdProvider}} must be removed.




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


[jira] [Updated] (IGNITE-21913) Change API usage of Placement driver in Transaction module from TablePartitionId to ZonePartitionId

2024-05-22 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21913:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Transaction module where PD was used before. See spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to 
change.

h3. Definition of done 

All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
({{getPrimaryReplica}}, {{awaitPrimaryReplica}}) must be changed to new methods 
which use {{ZonePartitionId}} (with tableId).
As a side effect, {{PlacementDriver}} events must be changed to 
{{ZonePartitionId}} based events. 

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Transaction module where PD was used before. See spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to 
change.



> Change API usage of Placement driver in Transaction module from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21913
> URL: https://issues.apache.org/jira/browse/IGNITE-21913
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in Transaction module where PD was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.
> h3. Definition of done 
> All usages of {{PlacementDriver}} API with {{TablePartitionId}} 
> ({{getPrimaryReplica}}, {{awaitPrimaryReplica}}) must be changed to new 
> methods which use {{ZonePartitionId}} (with tableId).
> As a side effect, {{PlacementDriver}} events must be changed to 
> {{ZonePartitionId}} based events. 



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


[jira] [Commented] (IGNITE-22261) Deadlock on configuration application in NodeImpl when disruptors are full

2024-05-19 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-22261:
--

The bug is reproducible on the latest {{JRaft}}, I've created the issue in the 
{{JRaft}} repo https://github.com/sofastack/sofa-jraft/issues/1105, I would 
suggest to discuss this issue with the {{JRaft}}  maintainers.

> Deadlock on configuration application in NodeImpl when disruptors are full
> --
>
> Key: IGNITE-22261
> URL: https://issues.apache.org/jira/browse/IGNITE-22261
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
>
> # NodeImpl#executeApplyingTasks() takes NodeImpl.writeLock and calls 
> LogManager.appendEntries()
>  # LogManager tries to enqueue a task to diskQueue which is full, hence it 
> blocks until a task gets consumed from diskQueue
>  # diskQueue is consumed by StableClosureEventHandler
>  # StableClosureEventHandler tries to enqueue a task to 
> FSMCallerImpl#taskQueue, which is also full, so this also blocks until a task 
> gets consumed from FSMCallerImpl#taskQueue
>  # FSMCallerImpl#taskQueue is consumed by ApplyTaskHandler
>  # ApplyTaskHandler calls NodeImpl#onConfigurationChangeDone(), which tries 
> to take NodeImpl#writeLock
> As a result, there is a deadlock: 
> NodeImpl#writeLock->LogManager#diskQueue->FSMCallerImpl#taskQueue->NodeImpl#writeLock
>  (disruptors are used as blocking queues in JRaft, so, when full, they act 
> like locks).
> This was caught by ItNodeTest#testNodeTaskOverload() which uses extremely 
> short disruptors (2 items max each).



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


[jira] [Updated] (IGNITE-22172) Make ignite-collocation-feature branch stable

2024-05-10 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22172:
-
Description: 
h3. Motivation
Too many flaky tests are there. This behavior does not allow us to review a new 
patch to the branch because TC is permanently red.

h3. Definition of done
Meke TC green for the ignite-collocation-feature branch.
If this point is not acceptable, we need to describe the current issues.  

  was:
h3. Motivation
Too many flaky tests are there. This behavior does not allow us to review a new 
patch to the branch because TC is permanently red.

h3. Definition of done
Meke TC green for the ignite-collocation-feature branch.
If this point is not acceptable, we need to describe the current issues. 


> Make ignite-collocation-feature branch stable
> -
>
> Key: IGNITE-22172
> URL: https://issues.apache.org/jira/browse/IGNITE-22172
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> h3. Motivation
> Too many flaky tests are there. This behavior does not allow us to review a 
> new patch to the branch because TC is permanently red.
> h3. Definition of done
> Meke TC green for the ignite-collocation-feature branch.
> If this point is not acceptable, we need to describe the current issues.  



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


[jira] [Assigned] (IGNITE-22185) DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation became flaky on the main

2024-05-08 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22185:


Assignee: Mirza Aliev

> DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation
>  became flaky on the main 
> -
>
> Key: IGNITE-22185
> URL: https://issues.apache.org/jira/browse/IGNITE-22185
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> {{DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation}}
>  started to fail quite often recently.
> There are two possible errors in the logs: 
> {noformat}
> java.lang.AssertionError: java.util.concurrent.TimeoutException
>   at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
>   at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
>   at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:67)
>   at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
>   at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZonesTestUtil.createZone(DistributionZonesTestUtil.java:195)
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZonesTestUtil.createZone(DistributionZonesTestUtil.java:115)
>   at 
> org.apache.ignite.internal.distributionzones.BaseDistributionZoneManagerTest.createZone(BaseDistributionZoneManagerTest.java:159)
>   at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(DistributionZoneCausalityDataNodesTest.java:627)
> {noformat}
> or 
> {noformat}
> org.mockito.exceptions.misusing.UnfinishedStubbingException: 
> Unfinished stubbing detected here:
> -> at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.DistributionZoneCausalityDataNodesTest.blockDataNodesUpdatesInMetaStorage(DistributionZoneCausalityDataNodesTest.java:1593)
> {noformat}
> Need to investigate the problem



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


[jira] [Created] (IGNITE-22185) DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation became flaky on the main

2024-05-08 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22185:


 Summary: 
DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation
 became flaky on the main 
 Key: IGNITE-22185
 URL: https://issues.apache.org/jira/browse/IGNITE-22185
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev


{{DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation}}
 started to fail quite often recently.
There are two possible errors in the logs: 


{noformat}
java.lang.AssertionError: java.util.concurrent.TimeoutException
  at 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
  at 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
  at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:67)
  at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
  at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
  at 
org.apache.ignite.internal.distributionzones.DistributionZonesTestUtil.createZone(DistributionZonesTestUtil.java:195)
  at 
org.apache.ignite.internal.distributionzones.DistributionZonesTestUtil.createZone(DistributionZonesTestUtil.java:115)
  at 
org.apache.ignite.internal.distributionzones.BaseDistributionZoneManagerTest.createZone(BaseDistributionZoneManagerTest.java:159)
  at 
org.apache.ignite.internal.distributionzones.causalitydatanodes.DistributionZoneCausalityDataNodesTest.testEmptyDataNodesOnZoneCreationBeforeTopologyEventAndZoneInitialisation(DistributionZoneCausalityDataNodesTest.java:627)
{noformat}

or 

{noformat}
org.mockito.exceptions.misusing.UnfinishedStubbingException: 
Unfinished stubbing detected here:
-> at 
org.apache.ignite.internal.distributionzones.causalitydatanodes.DistributionZoneCausalityDataNodesTest.blockDataNodesUpdatesInMetaStorage(DistributionZoneCausalityDataNodesTest.java:1593)
{noformat}

Need to investigate the problem



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


[jira] [Assigned] (IGNITE-22163) Fix potential NPE in IndexManager

2024-05-03 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-22163:


Assignee: Mirza Aliev

> Fix potential NPE in IndexManager 
> --
>
> Key: IGNITE-22163
> URL: https://issues.apache.org/jira/browse/IGNITE-22163
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> {{org.apache.ignite.internal.index.IndexManager#getMvTableStorage}} could 
> produce NPE 
> if {{tableAsync}} is not ready 
> {code:java}
> CompletableFuture getMvTableStorage(long causalityToken, 
> int tableId) {
> return tableManager.tableAsync(causalityToken, 
> tableId).thenApply(table -> table.internalTable().storage());
> }
> {code}
> Need to fix this 



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


[jira] [Created] (IGNITE-22163) Fix potential NPE in IndexManager

2024-05-03 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22163:


 Summary: Fix potential NPE in IndexManager 
 Key: IGNITE-22163
 URL: https://issues.apache.org/jira/browse/IGNITE-22163
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev


{{org.apache.ignite.internal.index.IndexManager#getMvTableStorage}} could 
produce NPE 
if {{tableAsync}} is not ready 

{code:java}
CompletableFuture getMvTableStorage(long causalityToken, 
int tableId) {
return tableManager.tableAsync(causalityToken, tableId).thenApply(table 
-> table.internalTable().storage());
}
{code}

Need to fix this 




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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-30 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Reviewer: Vladislav Pyatkov

> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in {{InternalTableImpl}} and other places connected to 
> {{InternalTableImpl}} that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to {{InternalTableImpl}}.



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


[jira] [Created] (IGNITE-22122) Fix timeouts for waitForActualStates

2024-04-26 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22122:


 Summary: Fix timeouts for waitForActualStates
 Key: IGNITE-22122
 URL: https://issues.apache.org/jira/browse/IGNITE-22122
 Project: Ignite
  Issue Type: Bug
Reporter: Mirza Aliev


There are several places in the code of {{ignite-collocation-feature}} branch, 
where timeouts are passed as 1 ms, but they must be justified somehow. This 
timeouts are used in {{Replica#waitForActualState}} as an expirationTime for 
retrying readIndex command.



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


[jira] [Updated] (IGNITE-22119) Fix start of partial nodes from ItIgniteNodeRestartTest and ItIgniteDistributionZoneManagerNodeRestartTest

2024-04-26 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22119:
-
Description: 
h3.  Motivation

After https://issues.apache.org/jira/browse/IGNITE-22071 is implemented, there 
is a couple of places where we explicitly start components for the test 
purposes, so node could start only needed components. In that code, we have 
some common pattern like 
{code:java}
for (IgniteComponent component : otherComponents) {
component.start();

components.add(component);
} {code}
In the review phase of https://issues.apache.org/jira/browse/IGNITE-22071 it 
was proposed to wait here for component to be started.


The problems is that in the common node start you have to call 
{{{}metaStorageMgr.notifyRevisionUpdateListenerOnStart(){}}}, so some 
components (like {{DistributionZoneManager }}could proceed with its logic, 
because it waits for some VersionedValues)

 
{code:java}
CompletableFuture startupConfigurationUpdate = 
notifyConfigurationListeners();
CompletableFuture startupRevisionUpdate = 
metaStorageMgr.notifyRevisionUpdateListenerOnStart();

return CompletableFuture.allOf(startupConfigurationUpdate, 
startupRevisionUpdate, startFuture) {code}
but in this partial node you wait for node to be started without calling 
{{{}notifyRevisionUpdateListenerOnStart{}}}, so it can't start. At lease this 
is the root cause for {{{}ItIgniteDistributionZoneManagerNodeRestartTest{}}}. I 
bet the problem is the same for {{ItIgniteNodeRestartTest}}

h3. Definition of done
Fix {{ItIgniteNodeRestartTest}} and 
{{ItIgniteDistributionZoneManagerNodeRestartTest}} partial node starts, so 
async start of components is actually waited.

  was:
h3.  Motivation

After https://issues.apache.org/jira/browse/IGNITE-22071 is implemented, there 
is a couple of places where we explicitly start components for the test 
purposes, so node could start only needed components. In that code, we have 
some common pattern like 
{code:java}
for (IgniteComponent component : otherComponents) {
component.start();

components.add(component);
} {code}
In the review phase of https://issues.apache.org/jira/browse/IGNITE-22071 it 
was proposed to wait here for component to be started.


The problems is that in the common node start you have to call 
{{{}metaStorageMgr.notifyRevisionUpdateListenerOnStart(){}}}, so some 
components (like {{DistributionZoneManager }}could proceed with its logic, 
because it waits for some VersionedValues)

 
{code:java}
CompletableFuture startupConfigurationUpdate = 
notifyConfigurationListeners();
CompletableFuture startupRevisionUpdate = 
metaStorageMgr.notifyRevisionUpdateListenerOnStart();

return CompletableFuture.allOf(startupConfigurationUpdate, 
startupRevisionUpdate, startFuture) {code}
but in this partial node you wait for node to be started without calling 
{{{}notifyRevisionUpdateListenerOnStart{}}}, so it can't start. At lease this 
is the root cause for {{{}ItIgniteDistributionZoneManagerNodeRestartTest{}}}. I 
bet the problem is the same for {{ItIgniteNodeRestartTest}}

h3. Definition of done
Fix ItIgniteNodeRestartTest and ItIgniteDistributionZoneManagerNodeRestartTest 
partial node starts, so async start of components is actually waited.


> Fix start of partial nodes from ItIgniteNodeRestartTest and 
> ItIgniteDistributionZoneManagerNodeRestartTest
> --
>
> Key: IGNITE-22119
> URL: https://issues.apache.org/jira/browse/IGNITE-22119
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> h3.  Motivation
> After https://issues.apache.org/jira/browse/IGNITE-22071 is implemented, 
> there is a couple of places where we explicitly start components for the test 
> purposes, so node could start only needed components. In that code, we have 
> some common pattern like 
> {code:java}
> for (IgniteComponent component : otherComponents) {
> component.start();
> components.add(component);
> } {code}
> In the review phase of https://issues.apache.org/jira/browse/IGNITE-22071 it 
> was proposed to wait here for component to be started.
> The problems is that in the common node start you have to call 
> {{{}metaStorageMgr.notifyRevisionUpdateListenerOnStart(){}}}, so some 
> components (like {{DistributionZoneManager }}could proceed with its logic, 
> because it waits for some VersionedValues)
>  
> {code:java}
> CompletableFuture startupConfigurationUpdate = 
> notifyConfigurationListeners();
> CompletableFuture startupRevisionUpdate = 
> metaStorageMgr.notifyRevisionUpdateListenerOnStart();
> return CompletableFuture.allOf(startupConfigurationUpdate, 
> startupRevisionUpdate, sta

[jira] [Created] (IGNITE-22119) Fix start of partial nodes from ItIgniteNodeRestartTest and ItIgniteDistributionZoneManagerNodeRestartTest

2024-04-26 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22119:


 Summary: Fix start of partial nodes from ItIgniteNodeRestartTest 
and ItIgniteDistributionZoneManagerNodeRestartTest
 Key: IGNITE-22119
 URL: https://issues.apache.org/jira/browse/IGNITE-22119
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev


h3.  Motivation

After https://issues.apache.org/jira/browse/IGNITE-22071 is implemented, there 
is a couple of places where we explicitly start components for the test 
purposes, so node could start only needed components. In that code, we have 
some common pattern like 
{code:java}
for (IgniteComponent component : otherComponents) {
component.start();

components.add(component);
} {code}
In the review phase of https://issues.apache.org/jira/browse/IGNITE-22071 it 
was proposed to wait here for component to be started.


The problems is that in the common node start you have to call 
{{{}metaStorageMgr.notifyRevisionUpdateListenerOnStart(){}}}, so some 
components (like {{DistributionZoneManager }}could proceed with its logic, 
because it waits for some VersionedValues)

 
{code:java}
CompletableFuture startupConfigurationUpdate = 
notifyConfigurationListeners();
CompletableFuture startupRevisionUpdate = 
metaStorageMgr.notifyRevisionUpdateListenerOnStart();

return CompletableFuture.allOf(startupConfigurationUpdate, 
startupRevisionUpdate, startFuture) {code}
but in this partial node you wait for node to be started without calling 
{{{}notifyRevisionUpdateListenerOnStart{}}}, so it can't start. At lease this 
is the root cause for {{{}ItIgniteDistributionZoneManagerNodeRestartTest{}}}. I 
bet the problem is the same for {{ItIgniteNodeRestartTest}}

h3. Definition of done
Fix ItIgniteNodeRestartTest and ItIgniteDistributionZoneManagerNodeRestartTest 
partial node starts, so async start of components is actually waited.



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


[jira] [Created] (IGNITE-22046) Change API usage of Placement driver in PartitionReplicaListener from TablePartitionId to ZonePartitionId

2024-04-15 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-22046:


 Summary: Change API usage of Placement driver in 
PartitionReplicaListener from TablePartitionId to ZonePartitionId
 Key: IGNITE-22046
 URL: https://issues.apache.org/jira/browse/IGNITE-22046
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev


In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in PartitionReplicaListener and other places connected to 
PartitionReplicaListener that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to PartitionReplicaListener.



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


[jira] [Updated] (IGNITE-22034) ItRebalanceTest#testRebalanceTablesCounterForZone is flaky

2024-04-12 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-22034:
-
Summary: ItRebalanceTest#testRebalanceTablesCounterForZone is flaky  (was: 
ItRebalanceTest#testRebalanceTablesCounterForZone is flacky)

> ItRebalanceTest#testRebalanceTablesCounterForZone is flaky
> --
>
> Key: IGNITE-22034
> URL: https://issues.apache.org/jira/browse/IGNITE-22034
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> {noformat}
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.rebalance.ItRebalanceTest.waitForTablesCounterInMetastore(ItRebalanceTest.java:261)
>   at 
> org.apache.ignite.internal.rebalance.ItRebalanceTest.testRebalanceTablesCounterForZone(ItRebalanceTest.java:199)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1540)
> {noformat}
> The reason of this NPE is {{lastAssignmentsHolderForLog[0]}} equals {{null}}. 
> We have not wait of appier a key in the metastorage.



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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver with a ned 
method, which will accept ZonePartitionId with tableId and will force primary 
replica to wait for it state to be in sync with a leader state if lease for 
ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Aforementioned Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator

  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver with a ned 
method, which will accept ZonePartitionId with tableId and will force primary 
replica to wait for it state to be in sync with a leader state if lease for 
ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator


> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver with a ned 
> method, which will accept ZonePartitionId with tableId and will force primary 
> replica to wait for it state to be in sync with a leader state if lease for 
> ZonePartitionId is accepted. 
> Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
> and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD 
> API where used must be changed to new methods from the decorator 
> h3. Definition of done
> * Aforementioned Decorator for Placement Driver is created
> * Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
> used must be changed to a new method from the decorator



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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver with a ned 
method, which will accept ZonePartitionId with tableId and will force primary 
replica to wait for it state to be in sync with a leader state if lease for 
ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator

  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver with a ned 
method, which will accept ZonePartitionId with tableId and will force primary 
replica to wait for it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator


> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver with a ned 
> method, which will accept ZonePartitionId with tableId and will force primary 
> replica to wait for it state to be in sync with a leader state if lease for 
> ZonePartitionId is accepted. 
> Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
> and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD 
> API where used must be changed to new methods from the decorator 
> h3. Definition of done
> * Decorator for Placement Driver is created
> * Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
> used must be changed to a new method from the decorator



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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept ZonePartitionId with tableId and will force primary replica to wait for 
it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to new method from the decorator

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept ZonePartitionId with tableId and will force primary replica to wait for 
it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 


> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver, which 
> will accept ZonePartitionId with tableId and will force primary replica to 
> wait for it state event if lease for ZonePartitionId is accepted. 
> Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
> and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD 
> API where used must be changed to new methods from the decorator 
> h3. Definition of done
> * Decorator for Placement Driver is created
> * Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
> used must be changed to new method from the decorator



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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver with a ned 
method, which will accept ZonePartitionId with tableId and will force primary 
replica to wait for it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator

  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept ZonePartitionId with tableId and will force primary replica to wait for 
it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator


> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver with a ned 
> method, which will accept ZonePartitionId with tableId and will force primary 
> replica to wait for it state event if lease for ZonePartitionId is accepted. 
> Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
> and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD 
> API where used must be changed to new methods from the decorator 
> h3. Definition of done
> * Decorator for Placement Driver is created
> * Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
> used must be changed to a new method from the decorator



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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-09 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept ZonePartitionId with tableId and will force primary replica to wait for 
it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to a new method from the decorator

  was:
h3. Motivation

In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept ZonePartitionId with tableId and will force primary replica to wait for 
it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

h3. Definition of done

* Decorator for Placement Driver is created
* Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
used must be changed to new method from the decorator


> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver, which 
> will accept ZonePartitionId with tableId and will force primary replica to 
> wait for it state event if lease for ZonePartitionId is accepted. 
> Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
> and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD 
> API where used must be changed to new methods from the decorator 
> h3. Definition of done
> * Decorator for Placement Driver is created
> * Places in index module where {{PlacementDriver#awaitPrimaryReplica}} where 
> used must be changed to a new method from the decorator



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


[jira] [Comment Edited] (IGNITE-21859) Causality token stays 0 for default zone

2024-04-08 Thread Mirza Aliev (Jira)


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

Mirza Aliev edited comment on IGNITE-21859 at 4/8/24 8:21 AM:
--

The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase and default zone 
descriptor doesn't have correct {{CatalogObjectDescriptor#updateToken()}}. I 
expect this bug is being fixed in the default zone refactoring epic 
automatically because the initialisation of the default zone will be changed   
https://issues.apache.org/jira/browse/IGNITE-20613


was (Author: maliev):
The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase and default zone 
descriptor doesn't have correct {{CatalogObjectDescriptor#updateToken()}}. I 
expect this bug is being fixed in the default zone refactoring epic 
https://issues.apache.org/jira/browse/IGNITE-20613

> Causality token stays 0 for default zone
> 
>
> Key: IGNITE-21859
> URL: https://issues.apache.org/jira/browse/IGNITE-21859
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Zlenko
>Priority: Major
>  Labels: ignite-3
>
> We have a problem where if no alter or other action was performed on default 
> zone causality token in CatalogZoneDescriptor will remain 0. 
> It will cause an error on any attempt of rebalacing any tables in that zone:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine]
>  Failed to update stable keys for tables [[TESTTABLE]]
> {code}
> If we will add stacktrace to output we will get following:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine]
>  CATCH, 
>  java.lang.IllegalArgumentException: causalityToken must be greater then zero 
> [causalityToken=0"
>   at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
> [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
> {code}
> The workaround is creating a zone and specifying this zone to table. 
> Also wouldn't be a bad idea to print stacktrace for  "Failed to update stable 
> keys for tables" at least on DEBUG log level. 



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


[jira] [Comment Edited] (IGNITE-21859) Causality token stays 0 for default zone

2024-04-08 Thread Mirza Aliev (Jira)


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

Mirza Aliev edited comment on IGNITE-21859 at 4/8/24 8:19 AM:
--

The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase and default zone 
descriptor doesn't have correct {{CatalogObjectDescriptor#updateToken()}}. I 
expect this bug is being fixed in the default zone refactoring epic 
https://issues.apache.org/jira/browse/IGNITE-20613


was (Author: maliev):
The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase and default zone 
descriptor doesn't have correct {{CatalogObjectDescriptor#updateToken()}}. I 
expect this bug is fixed in the default zone refactoring epic 
https://issues.apache.org/jira/browse/IGNITE-20613

> Causality token stays 0 for default zone
> 
>
> Key: IGNITE-21859
> URL: https://issues.apache.org/jira/browse/IGNITE-21859
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Zlenko
>Priority: Major
>  Labels: ignite-3
>
> We have a problem where if no alter or other action was performed on default 
> zone causality token in CatalogZoneDescriptor will remain 0. 
> It will cause an error on any attempt of rebalacing any tables in that zone:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine]
>  Failed to update stable keys for tables [[TESTTABLE]]
> {code}
> If we will add stacktrace to output we will get following:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine]
>  CATCH, 
>  java.lang.IllegalArgumentException: causalityToken must be greater then zero 
> [causalityToken=0"
>   at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
> [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
> {code}
> The workaround is creating a zone and specifying this zone to table. 
> Also wouldn't be a bad idea to print stacktrace for  "Failed to update stable 
> keys for tables" at least on DEBUG log level. 



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


[jira] [Comment Edited] (IGNITE-21859) Causality token stays 0 for default zone

2024-04-08 Thread Mirza Aliev (Jira)


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

Mirza Aliev edited comment on IGNITE-21859 at 4/8/24 8:18 AM:
--

The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase and default zone 
descriptor doesn't have correct {{CatalogObjectDescriptor#updateToken()}}. I 
expect this bug is fixed in the default zone refactoring epic 
https://issues.apache.org/jira/browse/IGNITE-20613


was (Author: maliev):
The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase. I expect this bug is 
fixed in the default zone refactoring epic 
https://issues.apache.org/jira/browse/IGNITE-20613

> Causality token stays 0 for default zone
> 
>
> Key: IGNITE-21859
> URL: https://issues.apache.org/jira/browse/IGNITE-21859
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Zlenko
>Priority: Major
>  Labels: ignite-3
>
> We have a problem where if no alter or other action was performed on default 
> zone causality token in CatalogZoneDescriptor will remain 0. 
> It will cause an error on any attempt of rebalacing any tables in that zone:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine]
>  Failed to update stable keys for tables [[TESTTABLE]]
> {code}
> If we will add stacktrace to output we will get following:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine]
>  CATCH, 
>  java.lang.IllegalArgumentException: causalityToken must be greater then zero 
> [causalityToken=0"
>   at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
> [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
> {code}
> The workaround is creating a zone and specifying this zone to table. 
> Also wouldn't be a bad idea to print stacktrace for  "Failed to update stable 
> keys for tables" at least on DEBUG log level. 



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


[jira] [Updated] (IGNITE-21859) Causality token stays 0 for default zone

2024-04-08 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21859:
-
Epic Link: IGNITE-20613

> Causality token stays 0 for default zone
> 
>
> Key: IGNITE-21859
> URL: https://issues.apache.org/jira/browse/IGNITE-21859
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Zlenko
>Priority: Major
>  Labels: ignite-3
>
> We have a problem where if no alter or other action was performed on default 
> zone causality token in CatalogZoneDescriptor will remain 0. 
> It will cause an error on any attempt of rebalacing any tables in that zone:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine]
>  Failed to update stable keys for tables [[TESTTABLE]]
> {code}
> If we will add stacktrace to output we will get following:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine]
>  CATCH, 
>  java.lang.IllegalArgumentException: causalityToken must be greater then zero 
> [causalityToken=0"
>   at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
> [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
> {code}
> The workaround is creating a zone and specifying this zone to table. 
> Also wouldn't be a bad idea to print stacktrace for  "Failed to update stable 
> keys for tables" at least on DEBUG log level. 



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


[jira] [Commented] (IGNITE-21859) Causality token stays 0 for default zone

2024-04-08 Thread Mirza Aliev (Jira)


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

Mirza Aliev commented on IGNITE-21859:
--

The root cause of this problem is the way how the default zone is created. It 
is just injected to the Catalog constructor and is not created through the 
common flow of Catalog entity creation, hence Catalog with this default zone is 
not saved in the meta storage on the initialisation phase. I expect this bug is 
fixed in the default zone refactoring epic 
https://issues.apache.org/jira/browse/IGNITE-20613

> Causality token stays 0 for default zone
> 
>
> Key: IGNITE-21859
> URL: https://issues.apache.org/jira/browse/IGNITE-21859
> Project: Ignite
>  Issue Type: Task
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Zlenko
>Priority: Major
>  Labels: ignite-3
>
> We have a problem where if no alter or other action was performed on default 
> zone causality token in CatalogZoneDescriptor will remain 0. 
> It will cause an error on any attempt of rebalacing any tables in that zone:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine]
>  Failed to update stable keys for tables [[TESTTABLE]]
> {code}
> If we will add stacktrace to output we will get following:
> {code}
> [2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine]
>  CATCH, 
>  java.lang.IllegalArgumentException: causalityToken must be greater then zero 
> [causalityToken=0"
>   at 
> org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
>   at 
> org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293)
>  ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
>   at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>  [?:?]
>   at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
> [?:?]
>   at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
> {code}
> The workaround is creating a zone and specifying this zone to table. 
> Also wouldn't be a bad idea to print stacktrace for  "Failed to update stable 
> keys for tables" at least on DEBUG log level. 



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places where PD 
was used in {{InternalTableImpl}} and other places connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to {{InternalTableImpl}}.

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places connected to {{InternalTableImpl}} that 
are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to {{InternalTableImpl}}.


> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in {{InternalTableImpl}} and other places connected to 
> {{InternalTableImpl}} that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to {{InternalTableImpl}}.



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


[jira] [Updated] (IGNITE-21913) Change API usage of Placement driver in Transaction module from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21913:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Transaction module where PD was used before. See spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to 
change.


  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Transaction module. See spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to 
change.



> Change API usage of Placement driver in Transaction module from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21913
> URL: https://issues.apache.org/jira/browse/IGNITE-21913
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in Transaction module where PD was used before. See spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858 with details about places 
> to change.



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


[jira] [Created] (IGNITE-21913) Change API usage of Placement driver in Transaction module from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-21913:


 Summary: Change API usage of Placement driver in Transaction 
module from TablePartitionId to ZonePartitionId
 Key: IGNITE-21913
 URL: https://issues.apache.org/jira/browse/IGNITE-21913
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev


In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Transaction module. See spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858 with details about places to 
change.




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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places connected to {{InternalTableImpl}} that 
are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to {{InternalTableImpl}}.

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places according connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to {{InternalTableImpl}} 


> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in {{InternalTableImpl}} and other places connected to {{InternalTableImpl}} 
> that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to {{InternalTableImpl}}.



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places according connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
Also all places in org.apache.ignite.internal.index.ChangeIndexStatusTask and 
org.apache.ignite.internal.index.IndexBuildController where old PD API where 
used must be changed to new methods from the decorator

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Also all places in org.apache.ignite.internal.index.ChangeIndexStatusTask and 
org.apache.ignite.internal.index.IndexBuildController where old PD API where 
used must be changed to new methods from the decorator


> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in {{InternalTableImpl}} and other places according connected to 
> {{InternalTableImpl}} that are described in the spreadsheet from 
> Also all places in org.apache.ignite.internal.index.ChangeIndexStatusTask and 
> org.apache.ignite.internal.index.IndexBuildController where old PD API where 
> used must be changed to new methods from the decorator



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places according connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
propagated to {{InternalTableImpl}} 

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places according connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858


> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in {{InternalTableImpl}} and other places according connected to 
> {{InternalTableImpl}} that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to {{InternalTableImpl}} 



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places according connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
https://issues.apache.org/jira/browse/IGNITE-21858

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
{{InternalTableImpl}} and other places according connected to 
{{InternalTableImpl}} that are described in the spreadsheet from 
Also all places in org.apache.ignite.internal.index.ChangeIndexStatusTask and 
org.apache.ignite.internal.index.IndexBuildController where old PD API where 
used must be changed to new methods from the decorator


> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in {{InternalTableImpl}} and other places according connected to 
> {{InternalTableImpl}} that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to use previously created decorator for Placement Driver 
from https://issues.apache.org/jira/browse/IGNITE-21911 for all places in 
Also all places in org.apache.ignite.internal.index.ChangeIndexStatusTask and 
org.apache.ignite.internal.index.IndexBuildController where old PD API where 
used must be changed to new methods from the decorator

> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> in 
> Also all places in org.apache.ignite.internal.index.ChangeIndexStatusTask and 
> org.apache.ignite.internal.index.IndexBuildController where old PD API where 
> used must be changed to new methods from the decorator



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Labels: ignite-3  (was: )

> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Assigned] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-21912:


Assignee: Mirza Aliev

> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-21912:


 Summary: Change API usage of Placement driver for 
InternalTableImpl interaction from TablePartitionId to ZonePartitionId
 Key: IGNITE-21912
 URL: https://issues.apache.org/jira/browse/IGNITE-21912
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev






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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept ZonePartitionId with tableId and will force primary replica to wait for 
it state event if lease for ZonePartitionId is accepted. 

Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD API 
where used must be changed to new methods from the decorator 

  was:
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept 


> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver, which 
> will accept ZonePartitionId with tableId and will force primary replica to 
> wait for it state event if lease for ZonePartitionId is accepted. 
> Also all places in {{org.apache.ignite.internal.index.ChangeIndexStatusTask}} 
> and {{org.apache.ignite.internal.index.IndexBuildController}} where old PD 
> API where used must be changed to new methods from the decorator 



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


[jira] [Updated] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21911:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
decompose original task to several subtasks.

In this ticket we need to provide a decorator for Placement Driver, which will 
accept 

> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to provide a decorator for Placement Driver, which 
> will accept 



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


[jira] [Assigned] (IGNITE-21911) Change API usage of Placement driver in Index module from TablePartitionId to ZonePartitionId

2024-04-02 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-21911:


Assignee: Mirza Aliev

> Change API usage of Placement driver in Index module from TablePartitionId to 
> ZonePartitionId
> -
>
> Key: IGNITE-21911
> URL: https://issues.apache.org/jira/browse/IGNITE-21911
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>




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


  1   2   3   4   5   6   7   8   9   10   >