[jira] [Updated] (IGNITE-22557) Create system view for SQL query plans history

2024-06-21 Thread Oleg Valuyskiy (Jira)


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

Oleg Valuyskiy updated IGNITE-22557:

Description: Create system view for SQL query plans history (for both h2 
and Calcite plans).  (was: Create system view for SQL query plans history (for 
both H2 and Calcite plans).)

> Create system view for SQL query plans history
> --
>
> Key: IGNITE-22557
> URL: https://issues.apache.org/jira/browse/IGNITE-22557
> Project: Ignite
>  Issue Type: Task
>Reporter: Oleg Valuyskiy
>Assignee: Oleg Valuyskiy
>Priority: Major
>  Labels: ise
>
> Create system view for SQL query plans history (for both h2 and Calcite 
> plans).



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


[jira] [Updated] (IGNITE-22557) Create system view for SQL query plans history

2024-06-21 Thread Oleg Valuyskiy (Jira)


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

Oleg Valuyskiy updated IGNITE-22557:

Description: Create system view for SQL query plans history (for both H2 
and Calcite plans).

> Create system view for SQL query plans history
> --
>
> Key: IGNITE-22557
> URL: https://issues.apache.org/jira/browse/IGNITE-22557
> Project: Ignite
>  Issue Type: Task
>Reporter: Oleg Valuyskiy
>Assignee: Oleg Valuyskiy
>Priority: Major
>  Labels: ise
>
> Create system view for SQL query plans history (for both H2 and Calcite 
> plans).



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


[jira] [Created] (IGNITE-22557) Create system view for SQL query plans history

2024-06-21 Thread Oleg Valuyskiy (Jira)
Oleg Valuyskiy created IGNITE-22557:
---

 Summary: Create system view for SQL query plans history
 Key: IGNITE-22557
 URL: https://issues.apache.org/jira/browse/IGNITE-22557
 Project: Ignite
  Issue Type: Task
Reporter: Oleg Valuyskiy
Assignee: Oleg Valuyskiy






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


[jira] [Commented] (IGNITE-17086) SQL: long query warning not printed for lazy queries

2024-06-21 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-17086:


{panel:title=Branch: [pull/11405/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/11405/head] Base: [master] : New Tests 
(4)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Queries 4{color} [[tests 
2|https://ci2.ignite.apache.org/viewLog.html?buildId=7923953]]
* {color:#013220}IgniteBinaryCacheQueryTestSuite4: 
LongQueryWarningTest.test[lazy=false] - PASSED{color}
* {color:#013220}IgniteBinaryCacheQueryTestSuite4: 
LongQueryWarningTest.test[lazy=true] - PASSED{color}

{color:#8b}Queries 4 (lazy=true){color} [[tests 
2|https://ci2.ignite.apache.org/viewLog.html?buildId=7923954]]
* {color:#013220}IgniteBinaryCacheQueryLazyTestSuite4: 
LongQueryWarningTest.test[lazy=false] - PASSED{color}
* {color:#013220}IgniteBinaryCacheQueryLazyTestSuite4: 
LongQueryWarningTest.test[lazy=true] - PASSED{color}

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

> SQL: long query warning not printed for lazy queries
> 
>
> Key: IGNITE-17086
> URL: https://issues.apache.org/jira/browse/IGNITE-17086
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikita Amelchev
>Assignee: Oleg Valuyskiy
>Priority: Minor
>  Labels: ise
> Attachments: LongQueryWarningTest.java
>
>
> Long query warning not printed for lazy queries. See reproducer.



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


[jira] [Commented] (IGNITE-22315) Make raft-client starting only once and only with raft-client and replica together

2024-06-21 Thread Mikhail Efremov (Jira)


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

Mikhail Efremov commented on IGNITE-22315:
--

Actual PR link: https://github.com/apache/ignite-3/pull/3956

> Make raft-client starting only once and only with raft-client and replica 
> together
> --
>
> Key: IGNITE-22315
> URL: https://issues.apache.org/jira/browse/IGNITE-22315
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mikhail Efremov
>Assignee: Mikhail Efremov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *Description*
> The goal is to make sure that when partition starting on an ignite-node, if 
> the node in assignments, then there should be only ones raft-node, 
> raft-client and replica and no any started entities otherwise.
> *Motivation*
> Now on the one hand in {{TableManager}} there is a path when raft-node and 
> replica didn't start, but raft-client is:
> In {{TableManager#startPartitionAndStartClient}} there is a place where 
> {{startGroupFut}} returns {{{}false{}}}:\{{ localMemberAssignment}} is 
> {{null}} or {{PartitionReplicatorNodeRecovery#shouldStartGroup}} returns 
> {{{}false{}}}. Then, raft-node and replica will not be started, but 
> regardless of {{startGroupFut}} result raft client will be started:
> {code:java}
> startGroupFut
> .thenComposeAsync(v -> inBusyLock(busyLock, () -> {
> TableRaftService tableRaftService = 
> table.internalTable().tableRaftService();
> try {
> // Return existing service if it's already started.
> return completedFuture(
> (TopologyAwareRaftGroupService) 
> tableRaftService.partitionRaftGroupService(replicaGrpId.partitionId())
> );
> } catch (IgniteInternalException e) {
> // We use "IgniteInternalException" in accordance with the 
> javadoc of "partitionRaftGroupService" method.
> try {
> // TODO IGNITE-19614 This procedure takes 10 seconds if 
> there's no majority online.
> return raftMgr
> .startRaftGroupService(replicaGrpId, 
> newConfiguration, raftGroupServiceFactory, raftCommandsMarshaller);
> } catch (NodeStoppingException ex) {
> return failedFuture(ex);
> }
> }
> }), ioExecutor)
> .thenAcceptAsync(updatedRaftGroupService -> inBusyLock(busyLock, () 
> -> {
> ((InternalTableImpl) internalTbl).tableRaftService()
> .updateInternalTableRaftGroupService(partId, 
> updatedRaftGroupService);
> boolean startedRaftNode = startGroupFut.join();
> if (localMemberAssignment == null || !startedRaftNode || 
> replicaMgr.isReplicaStarted(replicaGrpId)) {
> return;
> } {code}
> the code shows that {{v}} argument ({{{}startGroupFut{}}}'s result) in the 
> lambda doesn't affect on raft-client's starting, and also the client is put 
> into {{TableRaftService}} then regardless of replica's starting.
> On the other hand, there is a place that rely on raft-client creation on 
> every node with table's ID in {{TableManager#tables}} map: inside 
> {{TableManager#handleChangePendingAssignmentEvent}} there are two calls:
>  # the same name method 
> {{{}TableManager#handleChangePendingAssignmentEvent{}}}}}{}}}
>  # {{TableManager#changePeersOnRebalance}}
> Both are asking for internal table's 
> {{{}tableRaftService().partitionRaftGroupService(partId){}}}, but there no 
> any checks about is the local node is suitable for raft-entities and replica 
> starting or they are already started.
>  
> Then, when we would try to fix instant raft-client starting it will lead to 
> instant {{IgniteInternalException}} with _"No such partition P in table T"_ 
> from {{{}TableRaftService#{}}}{{{}partitionRaftGroupService{}}}. This is a 
> problem that should be solved.
> {color:#383838}*Definition of done*{color}
>  # {color:#383838}Raft-client must be started only together with raft-node 
> and replica or shouldn't be started otherwise.{color}
>  # {color:#383838}{{TableRaftService}} shouldn't be requested for raft-client 
> if the local node isn't in a raft group.{color}
>  # {color:#383838}Some tests may rely on described behavior, then failed 
> tests should be investigated and, probably fixed.{color}
>  # {color:#383838}New tests that check single starting of raft-node, 
> raft-client and replica together are required{color}
> {color:#0f54d6} {color}
> {color:#383838} {color}
> {color:#00855f} {color}



--
This message was sent by Atlassian Jira
(v

[jira] [Commented] (IGNITE-22430) Rename JobStatus to JobState and vice versa

2024-06-21 Thread Aleksandr (Jira)


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

Aleksandr commented on IGNITE-22430:


Thanks, merged into main: 79aad62d346ef5e8f7ce413a9347d769ba22b43b

> Rename JobStatus to JobState and vice versa
> ---
>
> Key: IGNITE-22430
> URL: https://issues.apache.org/jira/browse/IGNITE-22430
> Project: Ignite
>  Issue Type: Improvement
>  Components: compute
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> * *o.a.i.compute.JobStatus*  -> *JobState*
> * *JobState* -> *JobStatus*
> *Status* is more suitable for enums.



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


[jira] [Commented] (IGNITE-22441) Add parameter object to Data Streamer

2024-06-21 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-22441:
-

Merged to main: 
https://github.com/apache/ignite-3/commit/c6629351993ce2db2d6720768616f00b422a65b1

> Add parameter object to Data Streamer
> -
>
> Key: IGNITE-22441
> URL: https://issues.apache.org/jira/browse/IGNITE-22441
> Project: Ignite
>  Issue Type: Improvement
>  Components: compute, streaming
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Similar to IGNITE-22425, add parameter object to DataStreamer to simplify the 
> signature.



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


[jira] [Commented] (IGNITE-22441) Add parameter object to Data Streamer

2024-06-21 Thread Aleksandr (Jira)


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

Aleksandr commented on IGNITE-22441:


[~ptupitsyn] ok


> Add parameter object to Data Streamer
> -
>
> Key: IGNITE-22441
> URL: https://issues.apache.org/jira/browse/IGNITE-22441
> Project: Ignite
>  Issue Type: Improvement
>  Components: compute, streaming
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Similar to IGNITE-22425, add parameter object to DataStreamer to simplify the 
> signature.



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


[jira] [Commented] (IGNITE-22555) Assertion in ReplicaStateManager.onPrimaryElected

2024-06-21 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-22555:
---

Please note, that tests may also fail with exception from 
https://issues.apache.org/jira/browse/IGNITE-22556.

> Assertion in ReplicaStateManager.onPrimaryElected
> -
>
> Key: IGNITE-22555
> URL: https://issues.apache.org/jira/browse/IGNITE-22555
> Project: Ignite
>  Issue Type: Bug
>Reporter: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3
>
> If you increase the number of replicas in default zone to 3, random 
> integration tests will start to fail with {{java.lang.AssertionError: Replica 
> is elected as primary but not reserved}}.
> Full stack trace:
> {code}
> [2024-06-21T15:04:04,132][ERROR][%isit_n_0%JRaft-FSMCaller-Disruptormetastorage_stripe_0-0][FailureProcessor]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext 
> [type=CRITICAL_ERROR, err=java.util.concurrent.CompletionException: 
> java.lang.AssertionError: Replica is elected as primary but not reserved 
> [groupId=34_part_19].]]
>  java.util.concurrent.CompletionException: java.lang.AssertionError: Replica 
> is elected as primary but not reserved [groupId=34_part_19].
>   at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:870)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:246)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
>  ~[main/:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
>  ~[?:?]
>   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:829) [?:?]
> Caused by: java.lang.AssertionError: Replica is elected as primary but not 
> reserved [groupId=34_part_19].
>   at 
> org.apache.ignite.internal.replicator.ReplicaManager$ReplicaStateContext.assertReservation(ReplicaManager.java:1551)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.replicator.ReplicaManager$ReplicaStateManager.onPrimaryElected(ReplicaManager.java:1271)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.placementdriver.leases.LeaseTracker.fireEventReplicaBecomePrimary(LeaseTracker.java:404)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.placementdriver.leases.LeaseTracker$UpdateListener.lambda$onUpdate$2(LeaseTracker.java:198)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:890)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.placementdriver.leases.LeaseTracker$UpdateListener.onUpdate(LeaseTracker.java:173)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
> ~[main/:?]
>   at 
> org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
>  ~[main/:?]
>   ... 6 more
> {code}



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


[jira] [Updated] (IGNITE-22556) Exception in IndexBuildController.requireMvTableStorageNonNull

2024-06-21 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-22556:
--
Description: 
If you increase the number of replicas in default zone to 5, random integration 
tests will start to fail with 
{{org.apache.ignite.internal.lang.IgniteInternalException: Table storage for 
the specified table cannot be null}}.

To reproduce the issue change 
{{org.apache.ignite.internal.catalog.commands.CatalogUtils#DEFAULT_REPLICA_COUNT}}
 and run {{org.apache.ignite.internal.sql.sqllogic.ItSqlLogicTest}}.

Full stack trace:
{code}
[2024-06-21T15:32:39,124][ERROR][%sqllogic1%JRaft-FSMCaller-Disruptormetastorage_stripe_0-0][FailureProcessor]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=java.util.concurrent.CompletionException: 
org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
TraceId:6f33fc0c-c8c6-4197-becb-9322397b84b3 Table storage for the specified 
table cannot be null [tableId = 151]]]
 java.util.concurrent.CompletionException: 
org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
TraceId:6f33fc0c-c8c6-4197-becb-9322397b84b3 Table storage for the specified 
table cannot be null [tableId = 151]
at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2079)
 ~[?:?]
at 
org.apache.ignite.internal.util.CompletableFutures.lambda$copyStateTo$2(CompletableFutures.java:160)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.copyState(BaseVersionedValue.java:315)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:201)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:76)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.lambda$notifyCompletionListeners$6(BaseVersionedValue.java:337)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.notifyCompletionListeners(BaseVersionedValue.java:332)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:210)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:76)
 ~[main/:?]
at 
org.apache.ignite.internal.causal

[jira] [Commented] (IGNITE-22556) Exception in IndexBuildController.requireMvTableStorageNonNull

2024-06-21 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov commented on IGNITE-22556:
---

Please note, that tests may also fail with assertion from 
https://issues.apache.org/jira/browse/IGNITE-22555.

> Exception in IndexBuildController.requireMvTableStorageNonNull
> --
>
> Key: IGNITE-22556
> URL: https://issues.apache.org/jira/browse/IGNITE-22556
> Project: Ignite
>  Issue Type: Bug
>Reporter: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3
>
> If you increase the number of replicas in default zone to 5, random 
> integration tests will start to fail with 
> {{org.apache.ignite.internal.lang.IgniteInternalException: Table storage for 
> the specified table cannot be null}}.
> To reproduce the issue change 
> {{org.apache.ignite.internal.catalog.commands.CatalogUtils#DEFAULT_REPLICA_COUNT}}
>  and run {{org.apache.ignite.internal.sql.sqllogic.ItSqlLogicTest}}.
> Full stack trace:
> {code}
> [2024-06-21T15:32:39,124][ERROR][%sqllogic1%JRaft-FSMCaller-Disruptormetastorage_stripe_0-0][FailureProcessor]
>  Critical system error detected. Will be handled accordingly to configured 
> handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext 
> [type=CRITICAL_ERROR, err=java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
> TraceId:6f33fc0c-c8c6-4197-becb-9322397b84b3 Table storage for the specified 
> table cannot be null [tableId = 151]]]
>  java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
> TraceId:6f33fc0c-c8c6-4197-becb-9322397b84b3 Table storage for the specified 
> table cannot be null [tableId = 151]
>   at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2079)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.util.CompletableFutures.lambda$copyStateTo$2(CompletableFutures.java:160)
>  ~[main/:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.causality.BaseVersionedValue.copyState(BaseVersionedValue.java:315)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:201)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:256)
>  ~[main/:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:256)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:76)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.causality.BaseVersionedValue.lambda$notifyCompletionListeners$6(BaseVersionedValue.java:337)
>  ~[main/:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.causality.BaseVersionedValue.notifyCompletionListeners(BaseVersionedValue.java:332)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:210)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:2

[jira] [Created] (IGNITE-22556) Exception in IndexBuildController.requireMvTableStorageNonNull

2024-06-21 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-22556:
-

 Summary: Exception in 
IndexBuildController.requireMvTableStorageNonNull
 Key: IGNITE-22556
 URL: https://issues.apache.org/jira/browse/IGNITE-22556
 Project: Ignite
  Issue Type: Bug
Reporter: Konstantin Orlov


If you increase the number of replicas in default zone to 5, random integration 
tests will start to fail with 
{{org.apache.ignite.internal.lang.IgniteInternalException: Table storage for 
the specified table cannot be null}}.

Full stack trace:
{code}
[2024-06-21T15:32:39,124][ERROR][%sqllogic1%JRaft-FSMCaller-Disruptormetastorage_stripe_0-0][FailureProcessor]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=java.util.concurrent.CompletionException: 
org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
TraceId:6f33fc0c-c8c6-4197-becb-9322397b84b3 Table storage for the specified 
table cannot be null [tableId = 151]]]
 java.util.concurrent.CompletionException: 
org.apache.ignite.internal.lang.IgniteInternalException: IGN-CMN-65535 
TraceId:6f33fc0c-c8c6-4197-becb-9322397b84b3 Table storage for the specified 
table cannot be null [tableId = 151]
at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:314)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:319)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:645)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2079)
 ~[?:?]
at 
org.apache.ignite.internal.util.CompletableFutures.lambda$copyStateTo$2(CompletableFutures.java:160)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.copyState(BaseVersionedValue.java:315)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:201)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:76)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.lambda$notifyCompletionListeners$6(BaseVersionedValue.java:337)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.notifyCompletionListeners(BaseVersionedValue.java:332)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.complete(BaseVersionedValue.java:210)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$completeInternal$2(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:859)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.completeInternal(IncrementalVersionedValue.java:256)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.IncrementalVersionedValue.lambda$dependingOn$0(IncrementalVersionedValue.java:76)
 ~[main/:?]
at 
org.apache.ignite.internal.causality.BaseVersionedValue.lambda$notifyCom

[jira] [Comment Edited] (IGNITE-22467) PlacementDriver should have a method to return an assignments for a specified partition

2024-06-21 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov edited comment on IGNITE-22467 at 6/21/24 12:47 PM:
--

I reviewed the patch, and it agrees with my thoughts. But just be aware that a 
primary replica might not be part of assignments. It can happen after a 
rebalance where we intentionally hold a primary until the lease is expired.


was (Author: v.pyatkov):
I reviewd the patch and it agrees with my thoughts. But just be aware, a 
primary replica might be not a part of assignments. It can happen after 
rebalance where we intentanaly hold a primary until lease is expired.

> PlacementDriver should have a method to return an assignments for a specified 
> partition
> ---
>
> Key: IGNITE-22467
> URL: https://issues.apache.org/jira/browse/IGNITE-22467
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In order to implement read from backup logic it's required to provide an 
> ability to retrieve assignments at best-effort manner.
> h3. Definition of Done
> Following method should be added to the PlacementDriver
> {code:java}
> /**
>  * Returns the future with either newest available tokenized assignments for 
> the specified replication group id or {@code null} if
>  * there are no such assignments. The future will be completed after 
> clusterTime (meta storage safe time) will become greater or equal
>  * to the clusterTimeToAwait parameter.
>  *
>  * @param replicationGroupId Replication group Id.
>  * @param clusterTimeToAwait Cluster time to await.
>  * @return Tokenized assignments.
>  */
> CompletableFuture getAssignments(ReplicationGroupId 
> replicationGroupId, HybridTimestamp clusterTimeToAwait); {code}
> TokenizedAssignments is a common set of nodes along with associated token 
> that allows to easely understand whether assignments were changed or not.
> {code:java}
> /**
>  * Set of nodes along with associated token that is guaranteed to be changed 
> if the set was changed.
>  */
> public interface TokenizedAssignments extends Serializable {
> /** Returns a set of nodes, represented by this assignments instance. */
> Set nodes();
> /** Returns a token associated with given assignments that is guaranteed 
> to be changed if assignments were changed. */
> long token();
> } {code}



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


[jira] [Updated] (IGNITE-13202) Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+

2024-06-21 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-13202:

Description: 
Javadoc utility has some bugs which don't allow to build Ignite Javadocs 
correctly.

Building javadoc under JDK 11+ throws an error "The code being documented uses 
modules but the packages defined in
[https://docs.oracle.com/javase/8/docs/api] are in the unnamed module". To 
workaround this error argument "source=1.8" can be specified, but there is 
another bug related to "source" and "subpackages" argument usages: 
[https://bugs.openjdk.java.net/browse/JDK-8193030.] We still can build javadoc 
with disabled {{detectJavaApiLink}} maven-javadoc-plugin option, but in this 
case there will be no references to Java API from Ignite Javadoc.  

Also, there is a bug with "-exclude" argument in JDK 11+, it doesn't exclude 
subpackages of specified to exclude packages, so in generated output there is a 
lot of javadocs for internal packages. 

Javadoc generation command:

{{mvn -DskipTests -Pall-java clean install}}

{{mvn initialize -Pjavadoc}}

  was:
Javadoc utility has some bugs which don't allow to build Ignite Javadocs 
correctly.

Building javadoc under JDK 11+ throws an error "The code being documented uses 
modules but the packages defined in
 [https://docs.oracle.com/javase/8/docs/api] are in the unnamed module". To 
workaround this error argument "source=1.8" can be specified, but there is 
another bug related to "source" and "subpackages" argument usages: 
[https://bugs.openjdk.java.net/browse/JDK-8193030.] We still can build javadoc 
with disabled {{detectJavaApiLink}} maven-javadoc-plugin option, but in this 
case there will be no references to Java API from Ignite Javadoc.  

Also, there is a bug with "-exclude" argument in JDK 11+, it doesn't exclude 
subpackages of specified to exclude packages, so in generated output there is a 
lot of javadocs for internal packages. 

Javadoc generation command: {{mvn initialize -Pjavadoc}}


> Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+
> --
>
> Key: IGNITE-13202
> URL: https://issues.apache.org/jira/browse/IGNITE-13202
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksey Plekhanov
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
> Fix For: 2.17
>
>
> Javadoc utility has some bugs which don't allow to build Ignite Javadocs 
> correctly.
> Building javadoc under JDK 11+ throws an error "The code being documented 
> uses modules but the packages defined in
> [https://docs.oracle.com/javase/8/docs/api] are in the unnamed module". To 
> workaround this error argument "source=1.8" can be specified, but there is 
> another bug related to "source" and "subpackages" argument usages: 
> [https://bugs.openjdk.java.net/browse/JDK-8193030.] We still can build 
> javadoc with disabled {{detectJavaApiLink}} maven-javadoc-plugin option, but 
> in this case there will be no references to Java API from Ignite Javadoc.  
> Also, there is a bug with "-exclude" argument in JDK 11+, it doesn't exclude 
> subpackages of specified to exclude packages, so in generated output there is 
> a lot of javadocs for internal packages. 
> Javadoc generation command:
> {{mvn -DskipTests -Pall-java clean install}}
> {{mvn initialize -Pjavadoc}}



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


[jira] [Updated] (IGNITE-13202) Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+

2024-06-21 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-13202:

Ignite Flags:   (was: Docs Required,Release Notes Required)

> Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+
> --
>
> Key: IGNITE-13202
> URL: https://issues.apache.org/jira/browse/IGNITE-13202
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksey Plekhanov
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
> Fix For: 2.17
>
>
> Javadoc utility has some bugs which don't allow to build Ignite Javadocs 
> correctly.
> Building javadoc under JDK 11+ throws an error "The code being documented 
> uses modules but the packages defined in
>  [https://docs.oracle.com/javase/8/docs/api] are in the unnamed module". To 
> workaround this error argument "source=1.8" can be specified, but there is 
> another bug related to "source" and "subpackages" argument usages: 
> [https://bugs.openjdk.java.net/browse/JDK-8193030.] We still can build 
> javadoc with disabled {{detectJavaApiLink}} maven-javadoc-plugin option, but 
> in this case there will be no references to Java API from Ignite Javadoc.  
> Also, there is a bug with "-exclude" argument in JDK 11+, it doesn't exclude 
> subpackages of specified to exclude packages, so in generated output there is 
> a lot of javadocs for internal packages. 
> Javadoc generation command: {{mvn initialize -Pjavadoc}}



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


[jira] [Updated] (IGNITE-13202) Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+

2024-06-21 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-13202:

Fix Version/s: 2.17

> Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+
> --
>
> Key: IGNITE-13202
> URL: https://issues.apache.org/jira/browse/IGNITE-13202
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksey Plekhanov
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
> Fix For: 2.17
>
>
> Javadoc utility has some bugs which don't allow to build Ignite Javadocs 
> correctly.
> Building javadoc under JDK 11+ throws an error "The code being documented 
> uses modules but the packages defined in
>  [https://docs.oracle.com/javase/8/docs/api] are in the unnamed module". To 
> workaround this error argument "source=1.8" can be specified, but there is 
> another bug related to "source" and "subpackages" argument usages: 
> [https://bugs.openjdk.java.net/browse/JDK-8193030.] We still can build 
> javadoc with disabled {{detectJavaApiLink}} maven-javadoc-plugin option, but 
> in this case there will be no references to Java API from Ignite Javadoc.  
> Also, there is a bug with "-exclude" argument in JDK 11+, it doesn't exclude 
> subpackages of specified to exclude packages, so in generated output there is 
> a lot of javadocs for internal packages. 
> Javadoc generation command: {{mvn initialize -Pjavadoc}}



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


[jira] [Commented] (IGNITE-17059) Thin 3.0: Implement batch SQL API for java thin client

2024-06-21 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-17059:
-

[~xtern] please see my comments on GitHub.

> Thin 3.0: Implement batch SQL API for java thin client
> --
>
> Key: IGNITE-17059
> URL: https://issues.apache.org/jira/browse/IGNITE-17059
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Implement {{executeBatch(...)}}/{{executeBatchAsync(...)}} methods in 
> {{ClientSql}}.



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


[jira] [Commented] (IGNITE-13202) Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+

2024-06-21 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-13202:


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

> Javadoc HTML can't be generated correctly with maven-javadoc-plugin on JDK 11+
> --
>
> Key: IGNITE-13202
> URL: https://issues.apache.org/jira/browse/IGNITE-13202
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksey Plekhanov
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
>
> Javadoc utility has some bugs which don't allow to build Ignite Javadocs 
> correctly.
> Building javadoc under JDK 11+ throws an error "The code being documented 
> uses modules but the packages defined in
>  [https://docs.oracle.com/javase/8/docs/api] are in the unnamed module". To 
> workaround this error argument "source=1.8" can be specified, but there is 
> another bug related to "source" and "subpackages" argument usages: 
> [https://bugs.openjdk.java.net/browse/JDK-8193030.] We still can build 
> javadoc with disabled {{detectJavaApiLink}} maven-javadoc-plugin option, but 
> in this case there will be no references to Java API from Ignite Javadoc.  
> Also, there is a bug with "-exclude" argument in JDK 11+, it doesn't exclude 
> subpackages of specified to exclude packages, so in generated output there is 
> a lot of javadocs for internal packages. 
> Javadoc generation command: {{mvn initialize -Pjavadoc}}



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


[jira] [Created] (IGNITE-22555) Assertion in ReplicaStateManager.onPrimaryElected

2024-06-21 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-22555:
-

 Summary: Assertion in ReplicaStateManager.onPrimaryElected
 Key: IGNITE-22555
 URL: https://issues.apache.org/jira/browse/IGNITE-22555
 Project: Ignite
  Issue Type: Bug
Reporter: Konstantin Orlov


If you increase the number of replicas in default zone to 3, random integration 
tests will start to fail with {{java.lang.AssertionError: Replica is elected as 
primary but not reserved}}.

Full stack trace:
{code}
[2024-06-21T15:04:04,132][ERROR][%isit_n_0%JRaft-FSMCaller-Disruptormetastorage_stripe_0-0][FailureProcessor]
 Critical system error detected. Will be handled accordingly to configured 
handler [hnd=NoOpFailureHandler [], failureCtx=FailureContext 
[type=CRITICAL_ERROR, err=java.util.concurrent.CompletionException: 
java.lang.AssertionError: Replica is elected as primary but not reserved 
[groupId=34_part_19].]]
 java.util.concurrent.CompletionException: java.lang.AssertionError: Replica is 
elected as primary but not reserved [groupId=34_part_19].
at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:870)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.uniWhenCompleteStage(CompletableFuture.java:883)
 ~[?:?]
at 
java.base/java.util.concurrent.CompletableFuture.whenComplete(CompletableFuture.java:2257)
 ~[?:?]
at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:246)
 ~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$notifyWatches$4(WatchProcessor.java:193)
 ~[main/:?]
at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]
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:829) [?:?]
Caused by: java.lang.AssertionError: Replica is elected as primary but not 
reserved [groupId=34_part_19].
at 
org.apache.ignite.internal.replicator.ReplicaManager$ReplicaStateContext.assertReservation(ReplicaManager.java:1551)
 ~[main/:?]
at 
org.apache.ignite.internal.replicator.ReplicaManager$ReplicaStateManager.onPrimaryElected(ReplicaManager.java:1271)
 ~[main/:?]
at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[main/:?]
at 
org.apache.ignite.internal.placementdriver.leases.LeaseTracker.fireEventReplicaBecomePrimary(LeaseTracker.java:404)
 ~[main/:?]
at 
org.apache.ignite.internal.placementdriver.leases.LeaseTracker$UpdateListener.lambda$onUpdate$2(LeaseTracker.java:198)
 ~[main/:?]
at 
org.apache.ignite.internal.util.IgniteUtils.inBusyLockAsync(IgniteUtils.java:890)
 ~[main/:?]
at 
org.apache.ignite.internal.placementdriver.leases.LeaseTracker$UpdateListener.onUpdate(LeaseTracker.java:173)
 ~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:245)
 ~[main/:?]
... 6 more
{code}



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


[jira] [Updated] (IGNITE-22466) Sql. Support mapping to non-primary replicas

2024-06-21 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-22466:
--
Summary: Sql. Support mapping to non-primary replicas  (was: Sql. Support 
mapping on backup replicas)

> Sql. Support mapping to non-primary replicas
> 
>
> Key: IGNITE-22466
> URL: https://issues.apache.org/jira/browse/IGNITE-22466
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> At the moment, mapping service support mapping only on primary replicas. To 
> improve data colocation, we may use backup replicas as well for RO queries.
> Let's improve mapping service in order to take advantage of backups locality 
> and minimize amount data sent over the network.
> Some failures that should be considered during implementation:
>  * Replica is not ready yet
>  * Replica has already gone
>  * Replica may be too outdated (safeTime of the replica is far behind of 
> safeTime of the primary)
>  * Anything else?



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


[jira] [Commented] (IGNITE-22467) PlacementDriver should have a method to return an assignments for a specified partition

2024-06-21 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-22467:


I reviewd the patch and it agrees with my thoughts. But just be aware, a 
primary replica might be not a part of assignments. It can happen after 
rebalance where we intentanaly hold a primary until lease is expired.

> PlacementDriver should have a method to return an assignments for a specified 
> partition
> ---
>
> Key: IGNITE-22467
> URL: https://issues.apache.org/jira/browse/IGNITE-22467
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> In order to implement read from backup logic it's required to provide an 
> ability to retrieve assignments at best-effort manner.
> h3. Definition of Done
> Following method should be added to the PlacementDriver
> {code:java}
> /**
>  * Returns the future with either newest available tokenized assignments for 
> the specified replication group id or {@code null} if
>  * there are no such assignments. The future will be completed after 
> clusterTime (meta storage safe time) will become greater or equal
>  * to the clusterTimeToAwait parameter.
>  *
>  * @param replicationGroupId Replication group Id.
>  * @param clusterTimeToAwait Cluster time to await.
>  * @return Tokenized assignments.
>  */
> CompletableFuture getAssignments(ReplicationGroupId 
> replicationGroupId, HybridTimestamp clusterTimeToAwait); {code}
> TokenizedAssignments is a common set of nodes along with associated token 
> that allows to easely understand whether assignments were changed or not.
> {code:java}
> /**
>  * Set of nodes along with associated token that is guaranteed to be changed 
> if the set was changed.
>  */
> public interface TokenizedAssignments extends Serializable {
> /** Returns a set of nodes, represented by this assignments instance. */
> Set nodes();
> /** Returns a token associated with given assignments that is guaranteed 
> to be changed if assignments were changed. */
> long token();
> } {code}



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


[jira] [Commented] (IGNITE-22552) Add sync methods to IgniteCatalog

2024-06-21 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin commented on IGNITE-22552:


Merged to main dd5fe832123d4ebd4a44910a9b217c48bdecbd23

> Add sync methods to IgniteCatalog
> -
>
> Key: IGNITE-22552
> URL: https://issues.apache.org/jira/browse/IGNITE-22552
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mikhail Pochatkin
>Assignee: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> We missed sync versions of methods in public API IgniteCatalog interface. 
> Let's add it



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


[jira] [Updated] (IGNITE-22554) Rename confusing variables in TableManager

2024-06-21 Thread Aleksandr Polovtsev (Jira)


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

Aleksandr Polovtsev updated IGNITE-22554:
-
Description: 
{{TableManager}} contains the following code:

{code:java}
Assignments nonStableNodeAssignments = pendingAssignmentsAreForced
? Assignments.forced(intersect(stableAssignments, 
pendingAssignmentsNodes))
: Assignments.of(stableAssignments);
{code}

This variable's name is very confusing, because somebody can think that it 
contains "non stable" a.k.a. "pending assignments", whereas it actually 
contains stable assignments (yes, we assign stable assignments to a variable 
called "nonStableNodeAssignments"). Actually, it already led to confusion as, 
for example, method {{TableManager#shouldStartRaftListeners}} treats 
"nonStableNodeAssignments" as pending assignments, which is incorrect.

> Rename confusing variables in TableManager
> --
>
> Key: IGNITE-22554
> URL: https://issues.apache.org/jira/browse/IGNITE-22554
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtsev
>Assignee: Aleksandr Polovtsev
>Priority: Minor
>  Labels: ignite-3
>
> {{TableManager}} contains the following code:
> {code:java}
> Assignments nonStableNodeAssignments = pendingAssignmentsAreForced
> ? Assignments.forced(intersect(stableAssignments, 
> pendingAssignmentsNodes))
> : Assignments.of(stableAssignments);
> {code}
> This variable's name is very confusing, because somebody can think that it 
> contains "non stable" a.k.a. "pending assignments", whereas it actually 
> contains stable assignments (yes, we assign stable assignments to a variable 
> called "nonStableNodeAssignments"). Actually, it already led to confusion as, 
> for example, method {{TableManager#shouldStartRaftListeners}} treats 
> "nonStableNodeAssignments" as pending assignments, which is incorrect.



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


[jira] [Updated] (IGNITE-22554) Rename confusing variables in TableManager

2024-06-21 Thread Aleksandr Polovtsev (Jira)


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

Aleksandr Polovtsev updated IGNITE-22554:
-
Fix Version/s: 3.0.0-beta2

> Rename confusing variables in TableManager
> --
>
> Key: IGNITE-22554
> URL: https://issues.apache.org/jira/browse/IGNITE-22554
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtsev
>Assignee: Aleksandr Polovtsev
>Priority: Minor
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> {{TableManager}} contains the following code:
> {code:java}
> Assignments nonStableNodeAssignments = pendingAssignmentsAreForced
> ? Assignments.forced(intersect(stableAssignments, 
> pendingAssignmentsNodes))
> : Assignments.of(stableAssignments);
> {code}
> This variable's name is very confusing, because somebody can think that it 
> contains "non stable" a.k.a. "pending assignments", whereas it actually 
> contains stable assignments (yes, we assign stable assignments to a variable 
> called "nonStableNodeAssignments"). Actually, it already led to confusion as, 
> for example, method {{TableManager#shouldStartRaftListeners}} treats 
> "nonStableNodeAssignments" as pending assignments, which is incorrect.



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


[jira] [Commented] (IGNITE-22385) Change Disaster recovery CLI / REST to declarative style

2024-06-21 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko commented on IGNITE-22385:
--

Looks good.

> Change Disaster recovery CLI / REST  to declarative style
> -
>
> Key: IGNITE-22385
> URL: https://issues.apache.org/jira/browse/IGNITE-22385
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> recovery restart-partitions -> partitions restart, partition-states -> 
> partition states, etc



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


[jira] [Commented] (IGNITE-20503) Sql. Support big clusters by mapping service

2024-06-21 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov commented on IGNITE-20503:
---

I'd suggest using more effective bitmap implementations like RoaringBitmap or 
Tree-encoded bitmap or else.

Typical query execution flow is running fragments on data nodes and fetch the 
data to a single node.
As I understand, mostly used execution targets will be OneOf (of a single node) 
and Partitioned (a bunch of very small node sets, comparing to cluster size). 
In most cases, I'd expect a BitMap will contains either a single 1-bit or have 
high clustering factor (i.e. how probable 1-bit will be followed by another 
1-bit). In these cases, suggested implementations are very effective in both 
aspects: memory and performance. 
 

> Sql. Support big clusters by mapping service
> 
>
> Key: IGNITE-20503
> URL: https://issues.apache.org/jira/browse/IGNITE-20503
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> After refactoring made in IGNITE-20502, only clusters up to 64 nodes 
> supported by MappingService.
> Let's implement one more ExecutionTargetFactory to support clusters of 
> arbitrary size. See SmallClusterFactory and other classes in the same package 
> for example.



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


[jira] [Created] (IGNITE-22554) Rename confusing variables in TableManager

2024-06-21 Thread Aleksandr Polovtsev (Jira)
Aleksandr Polovtsev created IGNITE-22554:


 Summary: Rename confusing variables in TableManager
 Key: IGNITE-22554
 URL: https://issues.apache.org/jira/browse/IGNITE-22554
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtsev
Assignee: Aleksandr Polovtsev






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


[jira] [Assigned] (IGNITE-22385) Change Disaster recovery CLI / REST to declarative style

2024-06-21 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-22385:
--

Assignee: Philipp Shergalis

> Change Disaster recovery CLI / REST  to declarative style
> -
>
> Key: IGNITE-22385
> URL: https://issues.apache.org/jira/browse/IGNITE-22385
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> recovery restart-partitions -> partitions restart, partition-states -> 
> partition states, etc



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


[jira] [Assigned] (IGNITE-22542) Synchronous message handling on local node

2024-06-21 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko reassigned IGNITE-22542:


Assignee: Kirill Tkalenko

> Synchronous message handling on local node
> --
>
> Key: IGNITE-22542
> URL: https://issues.apache.org/jira/browse/IGNITE-22542
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Bessonov
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
>
> {{org.apache.ignite.internal.network.DefaultMessagingService#isSelf}} - if we 
> detect that we send a message to the local node, we handle it immediately in 
> the same thread, which could be very bad for throughput of the system.
> "send"/"invoke" themselves appear to be slow as well, we should benchmark 
> them. We should remove instantiation of InetSocketAddress for sure, if it's 
> possible, it takes time to resolve it. Maybe we should create it unresolved 
> or just cache it like in Ignite 2.



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


[jira] [Updated] (IGNITE-22535) Move replica start from the metastore thread

2024-06-21 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov updated IGNITE-22535:

Labels: ignite-3  (was: )

> Move replica start from the metastore thread
> 
>
> Key: IGNITE-22535
> URL: https://issues.apache.org/jira/browse/IGNITE-22535
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Priority: Major
>  Labels: ignite-3
>
> TODO



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