[jira] [Updated] (IGNITE-21617) Update to Gradle 8.6

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21617:
---
Reviewer: Mikhail Pochatkin

> Update to Gradle 8.6
> 
>
> Key: IGNITE-21617
> URL: https://issues.apache.org/jira/browse/IGNITE-21617
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We need this to fully support Java 21 (with the currently used Gradle 7.x, 
> builds fail on the TC).



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


[jira] [Commented] (IGNITE-21630) Cluster falls apart on topology change when DNS service is unavailable

2024-02-29 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-21630:


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

> Cluster falls apart on topology change when DNS service is unavailable 
> ---
>
> Key: IGNITE-21630
> URL: https://issues.apache.org/jira/browse/IGNITE-21630
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: ise
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Requests to DNS service performed synchroniously by some critical discovery 
> threads. Timeout for such requests can't be controlled by java code (see 
> [https://bugs.openjdk.org/browse/JDK-6450279]). This leads to segmentation of 
> nodes and falling apart cluster.
> For example, stack of {{tcp-disco-msg-worker}} thread with request to DNS 
> service:
> {noformat}
>     at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
>     at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1330)
>     at java.net.InetAddress.getAllByName0(InetAddress.java:1283)
>     at java.net.InetAddress.getAllByName(InetAddress.java:1199)
>     at java.net.InetAddress.getAllByName(InetAddress.java:1127)
>     at java.net.InetAddress.getByName(InetAddress.java:1077)
>     at java.net.InetSocketAddress.(InetSocketAddress.java:220)
>     at 
> org.apache.ignite.internal.util.IgniteUtils.createResolved(IgniteUtils.java:9829)
>     at 
> org.apache.ignite.internal.util.IgniteUtils.toSocketAddresses(IgniteUtils.java:9792)
>     at 
> org.apache.ignite.internal.util.IgniteUtils.toSocketAddresses(IgniteUtils.java:9770)
>     at 
> org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode.socketAddresses(TcpDiscoveryNode.java:392)
>     at 
> org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.getNodeAddresses(TcpDiscoverySpi.java:1267)
>     at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl.interruptPing(ServerImpl.java:985)
>     at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl.access$6800(ServerImpl.java:206)
>     at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeLeftMessage(ServerImpl.java:5433)
>     at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:3221)
>     at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2894)
> {noformat}



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


[jira] [Updated] (IGNITE-21638) Remove doNotTrackState from extractParserTemplate Gradle task

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21638:
---
Description: 
When running a build (./gradlew clean build -x test -x integrationTest) with 
Gradle 8.6 (8.5 as well) on Windows, this results in the following:

 

> Task :ignite-sql-engine:extractParserTemplate FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':ignite-sql-engine:extractParserTemplate'.
> Cannot access a file in the destination directory. Copying to a directory 
> which contains unreadable content is not supported. Declare the task as 
> untracked by using Task.doNotTrackState(). For more information, please refer 
> to 
> https://docs.gradle.org/8.6/userguide/incremental_build.html#sec:disable-state-tracking
>  in the Gradle documentation.
   > Failed to create MD5 hash for file content.

 

As a work-around, doNotTrackState was used to disable state tracking for the 
offending task, as suggested in the Gradle docs (to which the link in the 
failure explanation points). This needs to be investigated and fixed properly.

On Linux it works fine, so the workaround is Windows-only.

> Remove doNotTrackState from extractParserTemplate Gradle task
> -
>
> Key: IGNITE-21638
> URL: https://issues.apache.org/jira/browse/IGNITE-21638
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> When running a build (./gradlew clean build -x test -x integrationTest) with 
> Gradle 8.6 (8.5 as well) on Windows, this results in the following:
>  
> > Task :ignite-sql-engine:extractParserTemplate FAILED
> FAILURE: Build failed with an exception.
> * What went wrong:
> Execution failed for task ':ignite-sql-engine:extractParserTemplate'.
> > Cannot access a file in the destination directory. Copying to a directory 
> > which contains unreadable content is not supported. Declare the task as 
> > untracked by using Task.doNotTrackState(). For more information, please 
> > refer to 
> > https://docs.gradle.org/8.6/userguide/incremental_build.html#sec:disable-state-tracking
> >  in the Gradle documentation.
>    > Failed to create MD5 hash for file content.
>  
> As a work-around, doNotTrackState was used to disable state tracking for the 
> offending task, as suggested in the Gradle docs (to which the link in the 
> failure explanation points). This needs to be investigated and fixed properly.
> On Linux it works fine, so the workaround is Windows-only.



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


[jira] [Updated] (IGNITE-21640) Exchange with ClusterNode instances on handshake

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21640:
---
Description: To make it possible to implement IGNITE-20296, we need a 
guarantee that a channel has ClusterNode corresponding to its other side before 
any message is received. The easiest way to achieve this is to exchange with 
ClusterNode instances during a handshake.

> Exchange with ClusterNode instances on handshake
> 
>
> Key: IGNITE-21640
> URL: https://issues.apache.org/jira/browse/IGNITE-21640
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> To make it possible to implement IGNITE-20296, we need a guarantee that a 
> channel has ClusterNode corresponding to its other side before any message is 
> received. The easiest way to achieve this is to exchange with ClusterNode 
> instances during a handshake.



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


[jira] [Updated] (IGNITE-21640) Exchange with ClusterNode instances on handshake

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21640:
---
Epic Link: IGNITE-21188

> Exchange with ClusterNode instances on handshake
> 
>
> Key: IGNITE-21640
> URL: https://issues.apache.org/jira/browse/IGNITE-21640
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> To make it possible to implement IGNITE-20296, we need a guarantee that a 
> channel has ClusterNode corresponding to its other side before any message is 
> received. The easiest way to achieve this is to exchange with ClusterNode 
> instances during a handshake.



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


[jira] [Created] (IGNITE-21640) Exchange with ClusterNode instances on handshake

2024-02-29 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-21640:
--

 Summary: Exchange with ClusterNode instances on handshake
 Key: IGNITE-21640
 URL: https://issues.apache.org/jira/browse/IGNITE-21640
 Project: Ignite
  Issue Type: Improvement
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-21635) NPE in IndexUpdateHandler

2024-02-29 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-21635:
-
Fix Version/s: 3.0.0-beta2

> NPE in IndexUpdateHandler
> -
>
> Key: IGNITE-21635
> URL: https://issues.apache.org/jira/browse/IGNITE-21635
> Project: Ignite
>  Issue Type: Bug
>Reporter: Konstantin Orlov
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Attachments: NPE_in_IndexUpdateHandler.patch
>
>
> See attached reproducer. After restart, node got into invalid state after 
> hitting NPE during recovery.
> {code}
>  java.lang.NullPointerException: null
>   at 
> org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler.buildIndex(IndexUpdateHandler.java:174)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$handleBuildIndexCommand$9(PartitionListener.java:547)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:148)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:749)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:138)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.ThreadAssertingMvPartitionStorage.runConsistently(ThreadAssertingMvPartitionStorage.java:48)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.snapshot.outgoing.SnapshotAwarePartitionDataStorage.runConsistently(SnapshotAwarePartitionDataStorage.java:76)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleBuildIndexCommand(PartitionListener.java:532)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:212)
>  ~[main/:?]
>   at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
> [?:?]
> {code}



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


[jira] [Created] (IGNITE-21639) Server after kill does not start and stuck on election

2024-02-29 Thread Igor (Jira)
Igor created IGNITE-21639:
-

 Summary: Server after kill does not start and stuck on election 
 Key: IGNITE-21639
 URL: https://issues.apache.org/jira/browse/IGNITE-21639
 Project: Ignite
  Issue Type: Improvement
  Components: general, networking, platforms
Affects Versions: 3.0.0-beta1
Reporter: Igor
 Attachments: 
poc-tester-SERVER-192.168.1.117-id-0-2024-02-29-22-56-11-client.log.0

*Steps to reproduce:*
 # Start the 3 nodes cluster on different machine each (not in docker).
 # Insert about 500 000 rows across 500 tables. Replication is 3.
 # Kill one node.
 # Start killed node.

*Expected:*
The node is started, joined to the cluster and works normally.

Actual:
The node stucks on starting with repeating messages like this:
{code:java}
2024-02-29 23:06:21:261 +0300 
[INFO][%poc-tester-SERVER-192.168.1.117-id-0%JRaft-ElectionTimer-18][NodeImpl] 
Unsuccessful election round number 128
2024-02-29 23:06:21:261 +0300 
[INFO][%poc-tester-SERVER-192.168.1.117-id-0%JRaft-ElectionTimer-18][NodeImpl] 
Node <154_part_24/poc-tester-SERVER-192.168.1.117-id-0> term 3 start preVote. 
2024-02-29 23:06:21:282 +0300 
[ERROR][%poc-tester-SERVER-192.168.1.117-id-0%JRaft-FSMCaller-Disruptor_stripe_5-0][StripedDisruptor]
 Handle disruptor event error 
[name=%poc-tester-SERVER-192.168.1.117-id-0%JRaft-FSMCaller-Disruptor-, 
event=org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTask@efb699b, 
hasHandler=false]
java.lang.AssertionError: Safe time reordering detected 
[current=112016525904248838, proposed=112016523364991002]
    at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:169)
    at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133)
    at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.onWrite(PartitionListener.java:159)
    at 
org.apache.ignite.internal.raft.server.impl.JraftServerImpl$DelegatingStateMachine.onApply(JraftServerImpl.java:674)
    at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl.doApplyTasks(FSMCallerImpl.java:557)
    at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl.doCommitted(FSMCallerImpl.java:525)
    at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl.runApplyTask(FSMCallerImpl.java:444)
    at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:136)
    at 
org.apache.ignite.raft.jraft.core.FSMCallerImpl$ApplyTaskHandler.onEvent(FSMCallerImpl.java:130)
    at 
org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:266)
    at 
org.apache.ignite.raft.jraft.disruptor.StripedDisruptor$StripeEntryHandler.onEvent(StripedDisruptor.java:231)
    at com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:137)
    at java.base/java.lang.Thread.run(Thread.java:829){code}
 

[^poc-tester-SERVER-192.168.1.117-id-0-2024-02-29-22-56-11-client.log.0]



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


[jira] [Updated] (IGNITE-21637) Possibility of integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Summary: Possibility of integer overflow in page eviction trackers  (was: 
Integer overflow in page eviction trackers)

> Possibility of integer overflow in page eviction trackers
> -
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} 
> [1]. In this place we can get incorrect offset value when {{trackingIdx}} is 
> more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} [1]. 
In this place we can get incorrect offset value when {{trackingIdx}} is more 
than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} [1]. 
In this place we can get incorrect address value when {{trackingIdx}} is more 
than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} 
> [1]. In this place we can get incorrect offset value when {{trackingIdx}} is 
> more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} [1]. 
In this place we can get incorrect address value when {{trackingIdx}} is more 
than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} [1]. 
In this place we can get incorrect value when {{trackingIdx}} is more than 
{{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} 
> [1]. In this place we can get incorrect address value when {{trackingIdx}} is 
> more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} [1]. 
In this place we can get incorrect value when {{trackingIdx}} is more than 
{{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places {{Random2LruPageEvictionTracker#touchPage}} [1] 
where we can get incorrect value when {{trackingIdx}} is more than 
{{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places: {{Random2LruPageEvictionTracker#touchPage}} 
> [1]. In this place we can get incorrect value when {{trackingIdx}} is more 
> than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places {{Random2LruPageEvictionTracker#touchPage}} [1] 
where we can get incorrect value when {{trackingIdx}} is more than 
{{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places [1] where we can get incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places {{Random2LruPageEvictionTracker#touchPage}} [1] 
> where we can get incorrect value when {{trackingIdx}} is more than 
> {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places [1] where we can get incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places [1] where we can geе incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places [1] where we can get incorrect value when 
> {{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation when eviction policy is used 
and large amount pages is allocated because of integer overflow.

One of the problematic places [1] where we can geе incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation in case if eviction policy is 
used and large amount of allocated pages because of integer overflow.

One of the problematic places [1] where we can ge incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation when eviction policy is used 
> and large amount pages is allocated because of integer overflow.
> One of the problematic places [1] where we can geе incorrect value when 
> {{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Created] (IGNITE-21638) Remove doNotTrackState from extractParserTemplate Gradle task

2024-02-29 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-21638:
--

 Summary: Remove doNotTrackState from extractParserTemplate Gradle 
task
 Key: IGNITE-21638
 URL: https://issues.apache.org/jira/browse/IGNITE-21638
 Project: Ignite
  Issue Type: Improvement
Reporter: Roman Puchkovskiy
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation because of integer overflow 
when eviction policy is used and large amount pages is allocated.

One of the problematic places [1] where we can geе incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation when eviction policy is used 
and large amount pages is allocated because of integer overflow.

One of the problematic places [1] where we can geе incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation because of integer overflow 
> when eviction policy is used and large amount pages is allocated.
> One of the problematic places [1] where we can geе incorrect value when 
> {{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation in case if eviction policy 
> is used and large amount of allocated pages because of integer overflow.
> One of the problematic places [1] where we can ge incorrect value when 
> {{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation in case if eviction policy is 
used and large amount of allocated pages because of integer overflow.

One of the problematic places [1] where we can ge incorrect value when 
{{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation in case if eviction policy is 
used and large amount of allocated pages because of integer overflow.

One of the problematic places [1] where we can ge incorrect value when 
{{trackingIdx}} is more than Integer.MAX_VALUE / 8: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation in case if eviction policy 
> is used and large amount of allocated pages because of integer overflow.
> One of the problematic places [1] where we can ge incorrect value when 
> {{trackingIdx}} is more than {{Integer.MAX_VALUE / 8}}: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Updated] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)


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

Ilya Shishkov updated IGNITE-21637:
---
Description: 
Ignite Node can fail with segmentation violation in case if eviction policy is 
used and large amount of allocated pages because of integer overflow.

One of the problematic places [1] where we can ge incorrect value when 
{{trackingIdx}} is more than Integer.MAX_VALUE / 8: 
{{trackingArrPtr (long) + trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95


  was:
Ignite Node can fail with segmentation violation in case if eviction policy is 
used and large amount of allocated pages because of integer overflow.

One of the problematic places [1] where we can ge incorrect value when 
{{trackingIdx}} is more than Integer.MAX_VALUE / 8: {{trackingArrPtr (long) + 
trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



> Integer overflow in page eviction trackers
> --
>
> Key: IGNITE-21637
> URL: https://issues.apache.org/jira/browse/IGNITE-21637
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>
> Ignite Node can fail with segmentation violation in case if eviction policy 
> is used and large amount of allocated pages because of integer overflow.
> One of the problematic places [1] where we can ge incorrect value when 
> {{trackingIdx}} is more than Integer.MAX_VALUE / 8: 
> {{trackingArrPtr (long) + trackingIdx (int) * 8}}.
> # 
> https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95



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


[jira] [Created] (IGNITE-21637) Integer overflow in page eviction trackers

2024-02-29 Thread Ilya Shishkov (Jira)
Ilya Shishkov created IGNITE-21637:
--

 Summary: Integer overflow in page eviction trackers
 Key: IGNITE-21637
 URL: https://issues.apache.org/jira/browse/IGNITE-21637
 Project: Ignite
  Issue Type: Bug
Reporter: Ilya Shishkov


Ignite Node can fail with segmentation violation in case if eviction policy is 
used and large amount of allocated pages because of integer overflow.

One of the problematic places [1] where we can ge incorrect value when 
{{trackingIdx}} is more than Integer.MAX_VALUE / 8: {{trackingArrPtr (long) + 
trackingIdx (int) * 8}}.


# 
https://github.com/apache/ignite/blob/5ad698dab9835f6e6efb6a8b12da34515bd78349/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/persistence/evict/Random2LruPageEvictionTracker.java#L95




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


[jira] [Updated] (IGNITE-21635) NPE in IndexUpdateHandler

2024-02-29 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-21635:
-
Epic Link: IGNITE-20782

> NPE in IndexUpdateHandler
> -
>
> Key: IGNITE-21635
> URL: https://issues.apache.org/jira/browse/IGNITE-21635
> Project: Ignite
>  Issue Type: Bug
>Reporter: Konstantin Orlov
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Attachments: NPE_in_IndexUpdateHandler.patch
>
>
> See attached reproducer. After restart, node got into invalid state after 
> hitting NPE during recovery.
> {code}
>  java.lang.NullPointerException: null
>   at 
> org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler.buildIndex(IndexUpdateHandler.java:174)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$handleBuildIndexCommand$9(PartitionListener.java:547)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:148)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:749)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:138)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.ThreadAssertingMvPartitionStorage.runConsistently(ThreadAssertingMvPartitionStorage.java:48)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.snapshot.outgoing.SnapshotAwarePartitionDataStorage.runConsistently(SnapshotAwarePartitionDataStorage.java:76)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleBuildIndexCommand(PartitionListener.java:532)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:212)
>  ~[main/:?]
>   at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
> [?:?]
> {code}



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


[jira] [Assigned] (IGNITE-21635) NPE in IndexUpdateHandler

2024-02-29 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko reassigned IGNITE-21635:


Assignee: Kirill Tkalenko

> NPE in IndexUpdateHandler
> -
>
> Key: IGNITE-21635
> URL: https://issues.apache.org/jira/browse/IGNITE-21635
> Project: Ignite
>  Issue Type: Bug
>Reporter: Konstantin Orlov
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Attachments: NPE_in_IndexUpdateHandler.patch
>
>
> See attached reproducer. After restart, node got into invalid state after 
> hitting NPE during recovery.
> {code}
>  java.lang.NullPointerException: null
>   at 
> org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler.buildIndex(IndexUpdateHandler.java:174)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$handleBuildIndexCommand$9(PartitionListener.java:547)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:148)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:749)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:138)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.ThreadAssertingMvPartitionStorage.runConsistently(ThreadAssertingMvPartitionStorage.java:48)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.snapshot.outgoing.SnapshotAwarePartitionDataStorage.runConsistently(SnapshotAwarePartitionDataStorage.java:76)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleBuildIndexCommand(PartitionListener.java:532)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:212)
>  ~[main/:?]
>   at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
> [?:?]
> {code}



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


[jira] [Updated] (IGNITE-21550) ignite-cdc doesn't expose metrics via push metric exporters

2024-02-29 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-21550:

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

> ignite-cdc doesn't expose metrics via push metric exporters
> ---
>
> Key: IGNITE-21550
> URL: https://issues.apache.org/jira/browse/IGNITE-21550
> Project: Ignite
>  Issue Type: Task
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Minor
>  Labels: ise
> Fix For: 2.17
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> For example cdc-related metric are not exposed via the 
> OpenCensusMetricExporterSpi



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


[jira] [Updated] (IGNITE-21550) ignite-cdc doesn't expose metrics via push metric exporters

2024-02-29 Thread Maksim Timonin (Jira)


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

Maksim Timonin updated IGNITE-21550:

Fix Version/s: 2.17

> ignite-cdc doesn't expose metrics via push metric exporters
> ---
>
> Key: IGNITE-21550
> URL: https://issues.apache.org/jira/browse/IGNITE-21550
> Project: Ignite
>  Issue Type: Task
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Minor
>  Labels: ise
> Fix For: 2.17
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> For example cdc-related metric are not exposed via the 
> OpenCensusMetricExporterSpi



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


[jira] [Commented] (IGNITE-21550) ignite-cdc doesn't expose metrics via push metric exporters

2024-02-29 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-21550:


{panel:title=Branch: [pull/11248/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/11248/head] Base: [master] : New Tests 
(2)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}PDS 2{color} [[tests 
1|https://ci2.ignite.apache.org/viewLog.html?buildId=7765376]]
* {color:#013220}IgnitePdsTestSuite2: 
CdcPushMetricsExporterTest.testPushMetricsExporter - PASSED{color}

{color:#8b}Disk Page Compressions 2{color} [[tests 
1|https://ci2.ignite.apache.org/viewLog.html?buildId=7765420]]
* {color:#013220}IgnitePdsCompressionTestSuite2: 
CdcPushMetricsExporterTest.testPushMetricsExporter - PASSED{color}

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

> ignite-cdc doesn't expose metrics via push metric exporters
> ---
>
> Key: IGNITE-21550
> URL: https://issues.apache.org/jira/browse/IGNITE-21550
> Project: Ignite
>  Issue Type: Task
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Minor
>  Labels: ise
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> For example cdc-related metric are not exposed via the 
> OpenCensusMetricExporterSpi



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


[jira] [Created] (IGNITE-21636) Code cleanup

2024-02-29 Thread Vladimir Steshin (Jira)
Vladimir Steshin created IGNITE-21636:
-

 Summary: Code cleanup
 Key: IGNITE-21636
 URL: https://issues.apache.org/jira/browse/IGNITE-21636
 Project: Ignite
  Issue Type: Improvement
Reporter: Vladimir Steshin


Removing of unused 'mvccEnabled', codestyle fixex, +abbreviations, finals and 
etc.



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


[jira] [Created] (IGNITE-21635) NPE in IndexUpdateHandler

2024-02-29 Thread Konstantin Orlov (Jira)
Konstantin Orlov created IGNITE-21635:
-

 Summary: NPE in IndexUpdateHandler
 Key: IGNITE-21635
 URL: https://issues.apache.org/jira/browse/IGNITE-21635
 Project: Ignite
  Issue Type: Bug
Reporter: Konstantin Orlov
 Attachments: NPE_in_IndexUpdateHandler.patch

See attached reproducer. After restart, node got into invalid state after 
hitting NPE during recovery.

{code}
 java.lang.NullPointerException: null
at 
org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler.buildIndex(IndexUpdateHandler.java:174)
 ~[main/:?]
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$handleBuildIndexCommand$9(PartitionListener.java:547)
 ~[main/:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:148)
 ~[main/:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:749)
 ~[main/:?]
at 
org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:138)
 ~[main/:?]
at 
org.apache.ignite.internal.storage.ThreadAssertingMvPartitionStorage.runConsistently(ThreadAssertingMvPartitionStorage.java:48)
 ~[main/:?]
at 
org.apache.ignite.internal.table.distributed.raft.snapshot.outgoing.SnapshotAwarePartitionDataStorage.runConsistently(SnapshotAwarePartitionDataStorage.java:76)
 ~[main/:?]
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleBuildIndexCommand(PartitionListener.java:532)
 ~[main/:?]
at 
org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:212)
 ~[main/:?]
at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
[?:?]
{code}



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


[jira] [Updated] (IGNITE-21635) NPE in IndexUpdateHandler

2024-02-29 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21635:
--
Attachment: NPE_in_IndexUpdateHandler.patch

> NPE in IndexUpdateHandler
> -
>
> Key: IGNITE-21635
> URL: https://issues.apache.org/jira/browse/IGNITE-21635
> Project: Ignite
>  Issue Type: Bug
>Reporter: Konstantin Orlov
>Priority: Major
>  Labels: ignite-3
> Attachments: NPE_in_IndexUpdateHandler.patch
>
>
> See attached reproducer. After restart, node got into invalid state after 
> hitting NPE during recovery.
> {code}
>  java.lang.NullPointerException: null
>   at 
> org.apache.ignite.internal.table.distributed.index.IndexUpdateHandler.buildIndex(IndexUpdateHandler.java:174)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$handleBuildIndexCommand$9(PartitionListener.java:547)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.lambda$runConsistently$0(PersistentPageMemoryMvPartitionStorage.java:148)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.AbstractPageMemoryMvPartitionStorage.busy(AbstractPageMemoryMvPartitionStorage.java:749)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.pagememory.mv.PersistentPageMemoryMvPartitionStorage.runConsistently(PersistentPageMemoryMvPartitionStorage.java:138)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.storage.ThreadAssertingMvPartitionStorage.runConsistently(ThreadAssertingMvPartitionStorage.java:48)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.snapshot.outgoing.SnapshotAwarePartitionDataStorage.runConsistently(SnapshotAwarePartitionDataStorage.java:76)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.handleBuildIndexCommand(PartitionListener.java:532)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.table.distributed.raft.PartitionListener.lambda$onWrite$1(PartitionListener.java:212)
>  ~[main/:?]
>   at java.base/java.util.Iterator.forEachRemaining(Iterator.java:133) 
> [?:?]
> {code}



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


[jira] [Updated] (IGNITE-21634) NPE in HeapLockManager

2024-02-29 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21634:
--
Issue Type: Bug  (was: Improvement)

> NPE in HeapLockManager
> --
>
> Key: IGNITE-21634
> URL: https://issues.apache.org/jira/browse/IGNITE-21634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> {code:java}
> Caused by: java.lang.NullPointerException at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
>  ~[main/:?] at 
> java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
> ~[?:?] at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
>  ~[main/:?] at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
>  ~[main/:?] at 
> org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
>  ~[main/:?] at 
> java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>  ~[?:?] ... 29 more{code}
> on the line {{v.markedForRemove = false;}}
> {code:java}
> private LockState lockState(LockKey key) {
> int h = spread(key.hashCode());
> int index = h & (slots.length - 1);
> LockState[] res = new LockState[1];
> locks.compute(key, (k, v) -> {
> if (v == null) {
> if (empty.isEmpty()) {
> res[0] = slots[index];
> } else {
> v = empty.poll();
> v.markedForRemove = false;
> v.key = k;
> res[0] = v;
> }
> } else {
> res[0] = v;
> }
> return v;
> });
> return res[0];
> } {code}
> The problem can be reproduced on main(71b4fb34) with following test 
> (probably, fsync should be turned off):
> {code}
> @Test
> void test() {
> sql("CREATE TABLE test("
> + "c1 INT PRIMARY KEY, c2 INT, c3 INT, c4 INT, c5 INT,"
> + "c6 INT, c7 INT, c8 INT, c9 INT, c10 INT)"
> );
> for (int i = 2; i <= 10; i++) {
> sql(format("CREATE INDEX c{}_idx ON test (c{})", i, i));
> }
> sql("INSERT INTO test"
> + " SELECT x as c1, x as c2, x as c3, x as c4, x as c5, "
> + "x as c6, x as c7, x as c8, x as c9, x as c10"
> + "   FROM TABLE (system_range(1, 10))");
> }
> {code}



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


[jira] [Updated] (IGNITE-21634) NPE in HeapLockManager

2024-02-29 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21634:
--
Description: 
{code:java}
Caused by: java.lang.NullPointerException at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
 ~[main/:?] at 
java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
~[?:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
 ~[main/:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
 ~[main/:?] at 
org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
 ~[main/:?] at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
 ~[?:?] ... 29 more{code}
on the line {{v.markedForRemove = false;}}
{code:java}
private LockState lockState(LockKey key) {
int h = spread(key.hashCode());
int index = h & (slots.length - 1);

LockState[] res = new LockState[1];

locks.compute(key, (k, v) -> {
if (v == null) {
if (empty.isEmpty()) {
res[0] = slots[index];
} else {
v = empty.poll();
v.markedForRemove = false;
v.key = k;
res[0] = v;
}
} else {
res[0] = v;
}

return v;
});

return res[0];
} {code}

The problem can be reproduced on main(71b4fb34) with following test (probably, 
fsync should be turned off):
{code}
@Test
void test() {
sql("CREATE TABLE test("
+ "c1 INT PRIMARY KEY, c2 INT, c3 INT, c4 INT, c5 INT,"
+ "c6 INT, c7 INT, c8 INT, c9 INT, c10 INT)"
);

for (int i = 2; i <= 10; i++) {
sql(format("CREATE INDEX c{}_idx ON test (c{})", i, i));
}

sql("INSERT INTO test"
+ " SELECT x as c1, x as c2, x as c3, x as c4, x as c5, "
+ "x as c6, x as c7, x as c8, x as c9, x as c10"
+ "   FROM TABLE (system_range(1, 10))");
}
{code}

  was:
{code:java}
Caused by: java.lang.NullPointerException at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
 ~[main/:?] at 
java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
~[?:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
 ~[main/:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
 ~[main/:?] at 
org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
 ~[main/:?] at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
 ~[?:?] ... 29 more{code}
on the line {{v.markedForRemove = false;}}
{code:java}
private LockState lockState(LockKey key) {
int h = spread(key.hashCode());
int index = h & (slots.length - 1);

LockState[] res = new LockState[1];

locks.compute(key, (k, v) -> {
if (v == null) {
if (empty.isEmpty()) {
res[0] = slots[index];
} else {
v = empty.poll();
v.markedForRemove = false;
v.key = k;
res[0] = v;
}
} else {
res[0] = v;
}

return v;
});

return res[0];
} {code}


> NPE in HeapLockManager
> --
>
> Key: IGNITE-21634
> URL: https://issues.apache.org/jira/browse/IGNITE-21634
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> {code:java}
> Caused by: java.lang.NullPointerException at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
>  ~[main/:?] at 
> java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
> ~[?:?] at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
>  ~[main/:?] at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
>  ~[main/:?] at 
> org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
>  ~[main/:?] at 
> java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>  ~[?:?] ... 29 more{code}
> on the line {{v.markedForRemove = false;}}
> {code:java}
> private LockState lockState(LockKey key) {
> int h = spread(key.hashCode());
> int index = h & (slots.length - 1);
> LockState[] res = new LockState[1];
> locks.compute(key, (k, v) -> {
> if (v == null) {
> if (empty.isEmpty()) {
> res[0] = 

[jira] [Updated] (IGNITE-21634) NPE in HeapLockManager

2024-02-29 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21634:
--
Description: 
{code:java}
Caused by: java.lang.NullPointerException at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
 ~[main/:?] at 
java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
~[?:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
 ~[main/:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
 ~[main/:?] at 
org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
 ~[main/:?] at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
 ~[?:?] ... 29 more{code}
on the line {{v.markedForRemove = false;}}
{code:java}
private LockState lockState(LockKey key) {
int h = spread(key.hashCode());
int index = h & (slots.length - 1);

LockState[] res = new LockState[1];

locks.compute(key, (k, v) -> {
if (v == null) {
if (empty.isEmpty()) {
res[0] = slots[index];
} else {
v = empty.poll();
v.markedForRemove = false;
v.key = k;
res[0] = v;
}
} else {
res[0] = v;
}

return v;
});

return res[0];
} {code}

  was:
{code:java}
Caused by: java.lang.NullPointerException at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
 ~[main/:?] at 
java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
~[?:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
 ~[main/:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
 ~[main/:?] at 
org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
 ~[main/:?] at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
 ~[?:?] ... 29 more{code}


> NPE in HeapLockManager
> --
>
> Key: IGNITE-21634
> URL: https://issues.apache.org/jira/browse/IGNITE-21634
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> {code:java}
> Caused by: java.lang.NullPointerException at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
>  ~[main/:?] at 
> java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
> ~[?:?] at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
>  ~[main/:?] at 
> org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
>  ~[main/:?] at 
> org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
>  ~[main/:?] at 
> java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>  ~[?:?] ... 29 more{code}
> on the line {{v.markedForRemove = false;}}
> {code:java}
> private LockState lockState(LockKey key) {
> int h = spread(key.hashCode());
> int index = h & (slots.length - 1);
> LockState[] res = new LockState[1];
> locks.compute(key, (k, v) -> {
> if (v == null) {
> if (empty.isEmpty()) {
> res[0] = slots[index];
> } else {
> v = empty.poll();
> v.markedForRemove = false;
> v.key = k;
> res[0] = v;
> }
> } else {
> res[0] = v;
> }
> return v;
> });
> return res[0];
> } {code}



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


[jira] [Created] (IGNITE-21634) NPE in HeapLockManager

2024-02-29 Thread Denis Chudov (Jira)
Denis Chudov created IGNITE-21634:
-

 Summary: NPE in HeapLockManager
 Key: IGNITE-21634
 URL: https://issues.apache.org/jira/browse/IGNITE-21634
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Chudov


{code:java}
Caused by: java.lang.NullPointerException at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lambda$lockState$4(HeapLockManager.java:297)
 ~[main/:?] at 
java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1908) 
~[?:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.lockState(HeapLockManager.java:291)
 ~[main/:?] at 
org.apache.ignite.internal.tx.impl.HeapLockManager.acquire(HeapLockManager.java:172)
 ~[main/:?] at 
org.apache.ignite.internal.table.distributed.SortedIndexLocker.lambda$locksForInsert$4(SortedIndexLocker.java:169)
 ~[main/:?] at 
java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
 ~[?:?] ... 29 more{code}



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


[jira] [Updated] (IGNITE-21284) Internal API for manual raft group configuration update

2024-02-29 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-21284:
-
Reviewer: Kirill Tkalenko

> Internal API for manual raft group configuration update
> ---
>
> Key: IGNITE-21284
> URL: https://issues.apache.org/jira/browse/IGNITE-21284
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> We need an API (with implementation) that's analogous to 
> "reset-lost-partitions", but with the ability to reuse living minority of 
> nodes.
> This API should gather the states of partitions, identify healthy peers, and 
> use them as a new raft group configuration (through the update of 
> assignments).
> We have to make sure that node with latest log index will become a leader, so 
> we will have to propagate desired minimum for log index in assignments and 
> use it during the voting.
> h2. What's implemented
> "resetPartitions" operation in distributed zone manager. It identifies 
> partitions where only a minority of nodes is online (thus they won't be able 
> to execute "changePeersAsync"), and writes a "forced pending assignments" for 
> them.
> Forced assignment excludes stable nodes, that are not present in pending 
> assignment, from a new raft group configuration. It also performs a 
> "resetPeers" operation on alive nodes from the stable assignment.
> Complete loss of all nodes from stable assignments is not yet implemented, at 
> least one node is required to be elected as a leader.



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


[jira] [Commented] (IGNITE-21284) Internal API for manual raft group configuration update

2024-02-29 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko commented on IGNITE-21284:
--

Looks good.

> Internal API for manual raft group configuration update
> ---
>
> Key: IGNITE-21284
> URL: https://issues.apache.org/jira/browse/IGNITE-21284
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> We need an API (with implementation) that's analogous to 
> "reset-lost-partitions", but with the ability to reuse living minority of 
> nodes.
> This API should gather the states of partitions, identify healthy peers, and 
> use them as a new raft group configuration (through the update of 
> assignments).
> We have to make sure that node with latest log index will become a leader, so 
> we will have to propagate desired minimum for log index in assignments and 
> use it during the voting.
> h2. What's implemented
> "resetPartitions" operation in distributed zone manager. It identifies 
> partitions where only a minority of nodes is online (thus they won't be able 
> to execute "changePeersAsync"), and writes a "forced pending assignments" for 
> them.
> Forced assignment excludes stable nodes, that are not present in pending 
> assignment, from a new raft group configuration. It also performs a 
> "resetPeers" operation on alive nodes from the stable assignment.
> Complete loss of all nodes from stable assignments is not yet implemented, at 
> least one node is required to be elected as a leader.



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


[jira] [Commented] (IGNITE-21253) Implement a counter for number of rebalancing tables inside the zone

2024-02-29 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-21253:


Merged e701d0709f42a3219fdce5e12fd425d0981123e2

> Implement a counter for number of rebalancing tables inside the zone 
> -
>
> Key: IGNITE-21253
> URL: https://issues.apache.org/jira/browse/IGNITE-21253
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> *Motivation*
> According to comment we need to switch zone assignments, only when all zone 
> tables finish their rebalances.
> To implement this behaviour we need to implement the metastorage counter of 
> tables, which will be decreased on every successfull table rebalance.
> *Definition of done*
>  - Counter of zone tables created on the rebalance start and decreased with 
> every successfull table rebalance
> *Implementation notes*
> - on pending update we set the counter in metastore (if it is not exist). 
> other tables can't be added because of "avoid table creation during the 
> rebalance" ticket.
> - on the rebalance done instead of the current logic we decrease the counter 
> (with compareAndSet).
> - the separate listener on every node listen to the counters and when it 
> decreased to 0 - do the usual logic with planned->pending, pending->stable 
> and etc.
>  



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


[jira] [Created] (IGNITE-21633) Get rid of RemotelyTriggeredResourceRegistry#remoteHostsToResources

2024-02-29 Thread Denis Chudov (Jira)
Denis Chudov created IGNITE-21633:
-

 Summary: Get rid of 
RemotelyTriggeredResourceRegistry#remoteHostsToResources
 Key: IGNITE-21633
 URL: https://issues.apache.org/jira/browse/IGNITE-21633
 Project: Ignite
  Issue Type: Improvement
Reporter: Denis Chudov


TBD



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


[jira] [Commented] (IGNITE-21525) Java Client: Clean up IEP-54 leftovers

2024-02-29 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-21525:
--

Looks good to me.

> Java Client: Clean up IEP-54 leftovers
> --
>
> Key: IGNITE-21525
> URL: https://issues.apache.org/jira/browse/IGNITE-21525
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement IGNITE-19744 for Java Client and server counterpart.



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


[jira] [Commented] (IGNITE-21525) Java Client: Clean up IEP-54 leftovers

2024-02-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21525:
-

[~isapego] [~korlov] please review.

> Java Client: Clean up IEP-54 leftovers
> --
>
> Key: IGNITE-21525
> URL: https://issues.apache.org/jira/browse/IGNITE-21525
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement IGNITE-19744 for Java Client and server counterpart.



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


[jira] [Commented] (IGNITE-20373) Fix IO threading model

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-20373:


Thanks!

> Fix IO threading model
> --
>
> Key: IGNITE-20373
> URL: https://issues.apache.org/jira/browse/IGNITE-20373
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 3.0
>Reporter: Alexey Scherbakov
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3, ignite3_performance, threading
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Currently IO is resubmitted to inboundExecutor for further processing (even 
> there are corner cases then a message handler called in IO thread)
> It makes message processing essentially single threaded and introduces 
> additional lag due to message transition to additional queue.
> addMessageHandler should be extended with a 3-d argument: a pool for 
> submitting a callback for execution, or an executorSelector like in jraft.
> inboundExecutor should be changed to striped, use more than one thread, and 
> serve messages without explicit executor. Delivery guaranties should be 
> preserved: if a message A is send before B, B can't be processed on a 
> receiver before A. A stripe is defined by sender-receiver pair (or can be 
> user defined - TBD)
> outboundExecutor also looks like a contention point - need to be addressed as 
> well



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


[jira] [Commented] (IGNITE-20373) Fix IO threading model

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-20373:


Stripization of the Inbound pool is split to IGNITE-21626.

Same for the Outbound thread: IGNITE-21627

 

> Fix IO threading model
> --
>
> Key: IGNITE-20373
> URL: https://issues.apache.org/jira/browse/IGNITE-20373
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 3.0
>Reporter: Alexey Scherbakov
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3, ignite3_performance, threading
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Currently IO is resubmitted to inboundExecutor for further processing (even 
> there are corner cases then a message handler called in IO thread)
> It makes message processing essentially single threaded and introduces 
> additional lag due to message transition to additional queue.
> addMessageHandler should be extended with a 3-d argument: a pool for 
> submitting a callback for execution, or an executorSelector like in jraft.
> inboundExecutor should be changed to striped, use more than one thread, and 
> serve messages without explicit executor. Delivery guaranties should be 
> preserved: if a message A is send before B, B can't be processed on a 
> receiver before A. A stripe is defined by sender-receiver pair (or can be 
> user defined - TBD)
> outboundExecutor also looks like a contention point - need to be addressed as 
> well



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


[jira] [Created] (IGNITE-21632) Upgrade PMD up to latest version

2024-02-29 Thread Viacheslav Blinov (Jira)
Viacheslav Blinov created IGNITE-21632:
--

 Summary: Upgrade PMD up to latest version
 Key: IGNITE-21632
 URL: https://issues.apache.org/jira/browse/IGNITE-21632
 Project: Ignite
  Issue Type: Improvement
Reporter: Viacheslav Blinov
Assignee: Viacheslav Blinov






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


[jira] [Commented] (IGNITE-21631) Downgrade msgpack to 0.8.24

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-21631:


Thanks!

> Downgrade msgpack to 0.8.24
> ---
>
> Key: IGNITE-21631
> URL: https://issues.apache.org/jira/browse/IGNITE-21631
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> After commit 
> [https://github.com/apache/ignite-3/commit/1b85f8fe87a79caf9e88926f5d859cf01ade12b5]
>  an attempt to create a shadowjar fails. The following command
> n ./gradlew build publishToMavenLocal --exclude-task test --exclude-task 
> integrationTest --exclude-task check --exclude-task 
> :platforms:cmakeConfigureOdbc --exclude-task :platforms:cmakeBuildOdbc
> results in the following exception:
> java.lang.IllegalArgumentException: Unsupported class file major version 65
> when run on Java 11.
> This means that either new msgpack or one of its dependencies is built with 
> targetVersion=21.
> The highest version that works is 0.8.24, so it makes sense to downgrade to 
> it for now.



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


[jira] [Assigned] (IGNITE-20296) Make a network message handler that would be able to accept ClusterNode as a sender

2024-02-29 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy reassigned IGNITE-20296:
--

Assignee: Roman Puchkovskiy

> Make a network message handler that would be able to accept ClusterNode as a 
> sender
> ---
>
> Key: IGNITE-20296
> URL: https://issues.apache.org/jira/browse/IGNITE-20296
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Denis Chudov
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> With {{MessagingService}} we have an ability to send message using 
> {{ClusterNode}} to specify a recipient. But in {{NetworkMessageHandler}} we 
> have only ability to receive consistent id of a sender. However, in some 
> cases we need node id (for example, knowing that there is no node we the 
> given id in a cluster, allows us to not send message there at all, because 
> this node has left the topology at least once since it had sent this message 
> and therefore this node lost its volatile state)
> Also, the node id should go along with consistent id, so 
> {color:#172b4d}{{ClusterNode}} {color}as the argument type is preferred.
> *Definition of done*
> The following interface is available:
> {code:java}
> public interface NetworkMessageHandler {
> /**
>  * Method that gets invoked when a network message is received.
>  *
>  * @param message Message, which was received from the cluster.
>  * @param sender Sender node.
>  * @param correlationId Correlation id. Used to track correspondence 
> between requests and responses. Can be {@code null} if the received
>  * message is not a request from a {@link MessagingService#invoke} 
> method from another node.
>  */
> void onReceived(NetworkMessage message, ClusterNode sender, @Nullable 
> Long correlationId);
> } {code}
> Also, the {{MessagingService}} is able to accept an object implementing this 
> interface as a message handler.
> *Implementation notes*
> The ClusterNode passed as a sender should have a node id which the sender 
> node had at the moment the message was sent.



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


[jira] [Resolved] (IGNITE-21631) Downgrade msgpack to 0.8.24

2024-02-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn resolved IGNITE-21631.
-
Resolution: Fixed

> Downgrade msgpack to 0.8.24
> ---
>
> Key: IGNITE-21631
> URL: https://issues.apache.org/jira/browse/IGNITE-21631
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> After commit 
> [https://github.com/apache/ignite-3/commit/1b85f8fe87a79caf9e88926f5d859cf01ade12b5]
>  an attempt to create a shadowjar fails. The following command
> n ./gradlew build publishToMavenLocal --exclude-task test --exclude-task 
> integrationTest --exclude-task check --exclude-task 
> :platforms:cmakeConfigureOdbc --exclude-task :platforms:cmakeBuildOdbc
> results in the following exception:
> java.lang.IllegalArgumentException: Unsupported class file major version 65
> when run on Java 11.
> This means that either new msgpack or one of its dependencies is built with 
> targetVersion=21.
> The highest version that works is 0.8.24, so it makes sense to downgrade to 
> it for now.



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


[jira] [Commented] (IGNITE-21631) Downgrade msgpack to 0.8.24

2024-02-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21631:
-

Merged to main: 71b4fb3478f412dba6536948e749f36ca9fd4460
[~rpuch] thank you!

> Downgrade msgpack to 0.8.24
> ---
>
> Key: IGNITE-21631
> URL: https://issues.apache.org/jira/browse/IGNITE-21631
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> After commit 
> [https://github.com/apache/ignite-3/commit/1b85f8fe87a79caf9e88926f5d859cf01ade12b5]
>  an attempt to create a shadowjar fails. The following command
> n ./gradlew build publishToMavenLocal --exclude-task test --exclude-task 
> integrationTest --exclude-task check --exclude-task 
> :platforms:cmakeConfigureOdbc --exclude-task :platforms:cmakeBuildOdbc
> results in the following exception:
> java.lang.IllegalArgumentException: Unsupported class file major version 65
> when run on Java 11.
> This means that either new msgpack or one of its dependencies is built with 
> targetVersion=21.
> The highest version that works is 0.8.24, so it makes sense to downgrade to 
> it for now.



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


[jira] [Updated] (IGNITE-21585) Disable catalog compaction

2024-02-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-21585:
--
Fix Version/s: 3.0.0-beta2

> Disable catalog compaction
> --
>
> Key: IGNITE-21585
> URL: https://issues.apache.org/jira/browse/IGNITE-21585
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Catalog compaction is not synchronized with transactions on nodes.
> There are a bunch of issues:
> * We expect Catalog compaction should be called for minimal LWM on all the 
> nodes. But LWM is node-local value.
> * Recovery RW transaction may require old catalog version to get list of 
> indexes, that should be updated.
> * incoming snapshot may require outdated version of catalog in some cases.
> * LWM wait for RO transaction, but not RW.
> So, 
> 1. Let's just do nothing with catalog history on compaction.
> 2. Let's node update some key in the metastorage and put it's id. Make node 
> will react on it's own updates only. On the key update event, node should 
> trigger destroy event for table/index, which are under the LWM.
> We can't trigger local events instead, because we need a causality token for 
> VV in several components.
> 2. Fix recovery procedure if needed.



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


[jira] [Created] (IGNITE-21631) Downgrade msgpack to 0.8.24

2024-02-29 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-21631:
--

 Summary: Downgrade msgpack to 0.8.24
 Key: IGNITE-21631
 URL: https://issues.apache.org/jira/browse/IGNITE-21631
 Project: Ignite
  Issue Type: Bug
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy
 Fix For: 3.0.0-beta2


After commit 
[https://github.com/apache/ignite-3/commit/1b85f8fe87a79caf9e88926f5d859cf01ade12b5]
 an attempt to create a shadowjar fails. The following command

n ./gradlew build publishToMavenLocal --exclude-task test --exclude-task 
integrationTest --exclude-task check --exclude-task 
:platforms:cmakeConfigureOdbc --exclude-task :platforms:cmakeBuildOdbc

results in the following exception:

java.lang.IllegalArgumentException: Unsupported class file major version 65

when run on Java 11.

This means that either new msgpack or one of its dependencies is built with 
targetVersion=21.

The highest version that works is 0.8.24, so it makes sense to downgrade to it 
for now.



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


[jira] [Created] (IGNITE-21630) Cluster falls apart on topology change when DNS service is unavailable

2024-02-29 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-21630:
--

 Summary: Cluster falls apart on topology change when DNS service 
is unavailable 
 Key: IGNITE-21630
 URL: https://issues.apache.org/jira/browse/IGNITE-21630
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksey Plekhanov
Assignee: Aleksey Plekhanov


Requests to DNS service performed synchroniously by some critical discovery 
threads. Timeout for such requests can't be controlled by java code (see 
[https://bugs.openjdk.org/browse/JDK-6450279]). This leads to segmentation of 
nodes and falling apart cluster.

For example, stack of {{tcp-disco-msg-worker}} thread with request to DNS 
service:
{noformat}
    at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
    at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1330)
    at java.net.InetAddress.getAllByName0(InetAddress.java:1283)
    at java.net.InetAddress.getAllByName(InetAddress.java:1199)
    at java.net.InetAddress.getAllByName(InetAddress.java:1127)
    at java.net.InetAddress.getByName(InetAddress.java:1077)
    at java.net.InetSocketAddress.(InetSocketAddress.java:220)
    at 
org.apache.ignite.internal.util.IgniteUtils.createResolved(IgniteUtils.java:9829)
    at 
org.apache.ignite.internal.util.IgniteUtils.toSocketAddresses(IgniteUtils.java:9792)
    at 
org.apache.ignite.internal.util.IgniteUtils.toSocketAddresses(IgniteUtils.java:9770)
    at 
org.apache.ignite.spi.discovery.tcp.internal.TcpDiscoveryNode.socketAddresses(TcpDiscoveryNode.java:392)
    at 
org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi.getNodeAddresses(TcpDiscoverySpi.java:1267)
    at 
org.apache.ignite.spi.discovery.tcp.ServerImpl.interruptPing(ServerImpl.java:985)
    at 
org.apache.ignite.spi.discovery.tcp.ServerImpl.access$6800(ServerImpl.java:206)
    at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processNodeLeftMessage(ServerImpl.java:5433)
    at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:3221)
    at 
org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2894)
{noformat}



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


[jira] [Updated] (IGNITE-21609) Avoid using versioned values for non-versioned objects

2024-02-29 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-21609:
--
Fix Version/s: 3.0.0-beta2
   (was: 3.0)

> Avoid using versioned values for non-versioned objects
> --
>
> Key: IGNITE-21609
> URL: https://issues.apache.org/jira/browse/IGNITE-21609
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> As of now, TableManager/IndexManager misuses VersionedValue while holding 
> non-versioned objects, e.g. table instances, partitions, assignments and etc.
> Actually, we need
> 1. the latest value, but not a history, which is size of 10 entries by 
> default. 
> 2. a future for synchronization purposes with ongoing metastorage operation.
> Also, VV requires a metastorage token for update.
> Local operations, like table/index destruction, do NOT have any token and are 
> executed out of metastorage context, because such operations should block 
> metastorage and further metadata elovution.



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


[jira] [Updated] (IGNITE-21437) Add listenAddress configuration setting

2024-02-29 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21437:
---
Summary: Add listenAddress configuration setting  (was: Add bindHost 
configuration setting)

> Add listenAddress configuration setting
> ---
>
> Key: IGNITE-21437
> URL: https://issues.apache.org/jira/browse/IGNITE-21437
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Currently, we do not choose any specific interface when binding, so we bind 
> to all interfaces.
> bindHost (we should think whether this is the best name and choose another if 
> not) should be added to NetworkConfigurationSchema to allow to choose a local 
> interface to which to bind.



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


[jira] [Commented] (IGNITE-21623) Test fails ItTxDistributedTestThreeNodesThreeReplicas.testBatchSinglePartitionGet

2024-02-29 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-21623:


Here is the test history
https://ci.ignite.apache.org/test/530545554222388187?currentProjectId=ApacheIgnite3xGradle_Test_IntegrationTests=true

> Test fails 
> ItTxDistributedTestThreeNodesThreeReplicas.testBatchSinglePartitionGet
> -
>
> Key: IGNITE-21623
> URL: https://issues.apache.org/jira/browse/IGNITE-21623
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Attachments: _Integration_Tests_Module_Table_20271.log (1).zip
>
>
> The test fails very rarely, but this is a violation of transaction 
> guarantees. This test fails to get committed entries:
> {code}
> for (Tuple tuple : accountRecordsView.getAll(null, keys.stream().map(k -> 
> makeKey(k)).collect(toList( {
> assertEquals(100., tuple.doubleValue("balance"));
> }
> {code}
> Instead, NPE is received:
> {noformat}
> java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.table.TxAbstractTest.testBatchSinglePartitionGet(TxAbstractTest.java:2274)
>   at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>   at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
> {noformat}



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


[jira] [Updated] (IGNITE-21629) Add TLSv1_3 to o.a.i.client.SslProtocol

2024-02-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21629:

Description: *TLSv1_3* will be used automatically when supported by the JDK 
if you keep the default *SslProtocol.TLS* in *ClientConfiguration*. However, it 
is not possible to specify explicitly - we should add a enum entry to 
*SslProtocol*.

> Add TLSv1_3 to o.a.i.client.SslProtocol
> ---
>
> Key: IGNITE-21629
> URL: https://issues.apache.org/jira/browse/IGNITE-21629
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Pavel Tupitsyn
>Priority: Major
> Fix For: 2.17
>
>
> *TLSv1_3* will be used automatically when supported by the JDK if you keep 
> the default *SslProtocol.TLS* in *ClientConfiguration*. However, it is not 
> possible to specify explicitly - we should add a enum entry to *SslProtocol*.



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


[jira] [Created] (IGNITE-21629) Add TLSv1_3 to o.a.i.client.SslProtocol

2024-02-29 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21629:
---

 Summary: Add TLSv1_3 to o.a.i.client.SslProtocol
 Key: IGNITE-21629
 URL: https://issues.apache.org/jira/browse/IGNITE-21629
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Pavel Tupitsyn
 Fix For: 2.17






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


[jira] [Assigned] (IGNITE-21611) Sending in a snapshot for BUILDING indexes the next RowId to build on a full state transfer

2024-02-29 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko reassigned IGNITE-21611:


Assignee: Kirill Tkalenko

> Sending in a snapshot for BUILDING indexes the next RowId to build on a full 
> state transfer
> ---
>
> Key: IGNITE-21611
> URL: https://issues.apache.org/jira/browse/IGNITE-21611
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> For consistency, we need to send in a snapshot for all indexes in status 
> BUILDING their next *RowId* to build 
> (*org.apache.ignite.internal.storage.index.IndexStorage#getNextRowIdToBuild*).



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


[jira] [Resolved] (IGNITE-21541) Avoid partition-operations pool when it not lead to starvation

2024-02-29 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov resolved IGNITE-21541.

Resolution: Duplicate

> Avoid partition-operations pool when it not lead to starvation
> --
>
> Key: IGNITE-21541
> URL: https://issues.apache.org/jira/browse/IGNITE-21541
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> Chnaging pools and related parking/unparking lead to an increase in latency. 
> Sometimes we can avoid extra pool changing, for example, by doing it for 
> embedded operations.
> {code:title=ReplicaManager#onReplicaMessageReceived}
> ExecutorService stripeExecutor = 
> ReplicationGroupStripes.stripeFor(request.groupId(), requestsExecutor);
> stripeExecutor.execute(() -> handleReplicaRequest(request, 
> senderConsistentId, correlationId));
> {code}
> This code changes a thread, even if it is not necessary.
> h3. Definition of done
> ReplicaManager should not switch threads if it does not lead to starvation 
> (in my opinion, the splitting is needed only in the case of the network 
> thread).



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


[jira] [Commented] (IGNITE-21541) Avoid partition-operations pool when it not lead to starvation

2024-02-29 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-21541:


The issue with thread switching in the replica manager is also fixed in 
IGNITE-20373.

> Avoid partition-operations pool when it not lead to starvation
> --
>
> Key: IGNITE-21541
> URL: https://issues.apache.org/jira/browse/IGNITE-21541
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> Chnaging pools and related parking/unparking lead to an increase in latency. 
> Sometimes we can avoid extra pool changing, for example, by doing it for 
> embedded operations.
> {code:title=ReplicaManager#onReplicaMessageReceived}
> ExecutorService stripeExecutor = 
> ReplicationGroupStripes.stripeFor(request.groupId(), requestsExecutor);
> stripeExecutor.execute(() -> handleReplicaRequest(request, 
> senderConsistentId, correlationId));
> {code}
> This code changes a thread, even if it is not necessary.
> h3. Definition of done
> ReplicaManager should not switch threads if it does not lead to starvation 
> (in my opinion, the splitting is needed only in the case of the network 
> thread).



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