[jira] [Updated] (IGNITE-22557) Create system view for SQL query plans history
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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+
[ 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+
[ 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+
[ 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
[ 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+
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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)