[jira] [Updated] (IGNITE-21716) ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky

2024-03-07 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21716:
-
Labels: ignite-3  (was: )

> ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is 
> flaky
> 
>
> Key: IGNITE-21716
> URL: https://issues.apache.org/jira/browse/IGNITE-21716
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>
> {code:java}
>   java.lang.AssertionError: java.util.concurrent.TimeoutException
> at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
> at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
> at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:67)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
> at 
> org.apache.ignite.internal.metastorage.server.raft.ItMetaStorageRaftGroupTest.testRangeNextWorksCorrectlyAfterLeaderChange(ItMetaStorageRaftGroupTest.java:340)
> 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)
>   Caused by: java.util.concurrent.TimeoutException
> at 
> java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1886)
> at 
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2021)
> at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
> ... 8 more{code}
> [--> Run :: All Tests / #28665 at 7 Mar 17:26 — TeamCity 
> (apache.org)|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/7918804?hideTestsFromDependencies=false=false=false=true+Inspection=true=true=true=7918771_1146_86.1135.1137=debug=flowAware]



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


[jira] [Updated] (IGNITE-21716) ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky

2024-03-07 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21716:
-
Epic Link: IGNITE-21389

> ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is 
> flaky
> 
>
> Key: IGNITE-21716
> URL: https://issues.apache.org/jira/browse/IGNITE-21716
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>
> {code:java}
>   java.lang.AssertionError: java.util.concurrent.TimeoutException
> at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
> at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
> at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:67)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
> at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
> at 
> org.apache.ignite.internal.metastorage.server.raft.ItMetaStorageRaftGroupTest.testRangeNextWorksCorrectlyAfterLeaderChange(ItMetaStorageRaftGroupTest.java:340)
> 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)
>   Caused by: java.util.concurrent.TimeoutException
> at 
> java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1886)
> at 
> java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2021)
> at 
> org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
> ... 8 more{code}
> [--> Run :: All Tests / #28665 at 7 Mar 17:26 — TeamCity 
> (apache.org)|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/7918804?hideTestsFromDependencies=false=false=false=true+Inspection=true=true=true=7918771_1146_86.1135.1137=debug=flowAware]



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


[jira] [Created] (IGNITE-21716) ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky

2024-03-07 Thread Alexander Lapin (Jira)
Alexander Lapin created IGNITE-21716:


 Summary: 
ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky
 Key: IGNITE-21716
 URL: https://issues.apache.org/jira/browse/IGNITE-21716
 Project: Ignite
  Issue Type: Bug
Reporter: Alexander Lapin


{code:java}
  java.lang.AssertionError: java.util.concurrent.TimeoutException
at 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:78)
at 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:35)
at org.hamcrest.TypeSafeMatcher.matches(TypeSafeMatcher.java:67)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:10)
at org.hamcrest.MatcherAssert.assertThat(MatcherAssert.java:6)
at 
org.apache.ignite.internal.metastorage.server.raft.ItMetaStorageRaftGroupTest.testRangeNextWorksCorrectlyAfterLeaderChange(ItMetaStorageRaftGroupTest.java:340)
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)
  Caused by: java.util.concurrent.TimeoutException
at 
java.base/java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1886)
at 
java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2021)
at 
org.apache.ignite.internal.testframework.matchers.CompletableFutureMatcher.matchesSafely(CompletableFutureMatcher.java:74)
... 8 more{code}
[--> Run :: All Tests / #28665 at 7 Mar 17:26 — TeamCity 
(apache.org)|https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/7918804?hideTestsFromDependencies=false=false=false=true+Inspection=true=true=true=7918771_1146_86.1135.1137=debug=flowAware]



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


[jira] [Created] (IGNITE-21715) Sql. TestFramework. It should be possible to specify type of a primary key index.

2024-03-07 Thread Maksim Zhuravkov (Jira)
Maksim Zhuravkov created IGNITE-21715:
-

 Summary: Sql. TestFramework. It should be possible to specify type 
of a primary key index.
 Key: IGNITE-21715
 URL: https://issues.apache.org/jira/browse/IGNITE-21715
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Maksim Zhuravkov


IGNITE-21353 made it possible to specify type of a primary key index, but 
TestFramework does not have API for that.
Let's update TestFramework's API so it is possible to specify type of a primary 
key index.




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


[jira] [Updated] (IGNITE-21715) Sql. TestFramework. It should be possible to specify type of a primary key index.

2024-03-07 Thread Maksim Zhuravkov (Jira)


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

Maksim Zhuravkov updated IGNITE-21715:
--
Labels: ignite-3  (was: )

> Sql. TestFramework. It should be possible to specify type of a primary key 
> index.
> -
>
> Key: IGNITE-21715
> URL: https://issues.apache.org/jira/browse/IGNITE-21715
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Maksim Zhuravkov
>Priority: Minor
>  Labels: ignite-3
>
> IGNITE-21353 made it possible to specify type of a primary key index, but 
> TestFramework does not have API for that.
> Let's update TestFramework's API so it is possible to specify type of a 
> primary key index.



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


[jira] [Assigned] (IGNITE-20126) Check that an index exists before reading from it

2024-03-07 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy reassigned IGNITE-20126:
--

Assignee: Roman Puchkovskiy

> Check that an index exists before reading from it
> -
>
> Key: IGNITE-20126
> URL: https://issues.apache.org/jira/browse/IGNITE-20126
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Before each read-from-index operation (like opening a scan cursor or getting 
> next batch of such a cursor), we should check whether the index physically 
> exists. If not, the operation must be failed and the current RW tx must be 
> aborted.



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


[jira] [Created] (IGNITE-21714) Prevent threads from being hijacked in KV/Record view APIs

2024-03-07 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-21714:
--

 Summary: Prevent threads from being hijacked in KV/Record view APIs
 Key: IGNITE-21714
 URL: https://issues.apache.org/jira/browse/IGNITE-21714
 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-21576) Unmute tests after index removal API is implemented

2024-03-07 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21576:
---
Reviewer: Roman Puchkovskiy

> Unmute tests after index removal API is implemented
> ---
>
> Key: IGNITE-21576
> URL: https://issues.apache.org/jira/browse/IGNITE-21576
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I've disabled some tests with a link pointing to this ticket. These tests 
> must be unmuted after IGNITE-21574 and IGNITE-21583 are fixed



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


[jira] [Commented] (IGNITE-21576) Unmute tests after index removal API is implemented

2024-03-07 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-21576:


The patch looks good to me

> Unmute tests after index removal API is implemented
> ---
>
> Key: IGNITE-21576
> URL: https://issues.apache.org/jira/browse/IGNITE-21576
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> I've disabled some tests with a link pointing to this ticket. These tests 
> must be unmuted after IGNITE-21574 and IGNITE-21583 are fixed



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


[jira] [Created] (IGNITE-21713) Data streamer doesn't fire all the CQ events

2024-03-07 Thread Evgeny Stanilovsky (Jira)
Evgeny Stanilovsky created IGNITE-21713:
---

 Summary: Data streamer doesn't fire all the CQ events
 Key: IGNITE-21713
 URL: https://issues.apache.org/jira/browse/IGNITE-21713
 Project: Ignite
  Issue Type: Bug
  Components: general
Affects Versions: 2.16
Reporter: Evgeny Stanilovsky
Assignee: Evgeny Stanilovsky
 Fix For: 2.17
 Attachments: ExampleNodeStartup.java

Not all events are triggered through *setLocalListener* if data is pushed 
through data streamer (test attached).
Steps to reproduce:
1. start node
2. call qry.setLocalListener with events counting
3. register listener : cache.query(qry);
4. put data using data streamer
5. flush streamer and wait for all related futures

expect : all events are triggered
got: partially events are missed



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


[jira] [Assigned] (IGNITE-21348) Trigger the lease negotiation retry in case when the lease candidate is no more contained in assignments

2024-03-07 Thread Denis Chudov (Jira)


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

Denis Chudov reassigned IGNITE-21348:
-

Assignee: Denis Chudov

> Trigger the lease negotiation retry in case when the lease candidate is no 
> more contained in assignments
> 
>
> Key: IGNITE-21348
> URL: https://issues.apache.org/jira/browse/IGNITE-21348
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> On receiving the "lease granted" message, the candidate replica tries to 
> catch up the actual storage state, in order to do that it makes read index 
> request. But in case when this candidate is no more a member of assignments 
> (and replication group) this request fails and is retried until the lease 
> negotiation interval exceeds. This makes no sense because such retries will 
> not be successful, and the current candidate is not a good candidate anymore 
> - because, although the leaseholder may be not a part of replication group, 
> preferably it should be, and should be its leader.
> The assignment changes when some of current candidates and leaseholders are 
> no more included in new assignment set, should be detected on the placement 
> driver active actor, and the current lease should be revoked (if negotiation 
> is in progress) or not prolonged. The new negotitation will be triggered 
> automatically by the lease updater.
> *Implementation notes*
> This assignment changes detection should be done on placement driver side, 
> because the events of assignment changes can be processed on different nodes 
> in different time, and there is already assignments tracker as a part of 
> placement driver.
>  



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


[jira] [Created] (IGNITE-21712) Hybrid time is not adjusted when handling TxStateResponse

2024-03-07 Thread Denis Chudov (Jira)
Denis Chudov created IGNITE-21712:
-

 Summary: Hybrid time is not adjusted when handling TxStateResponse
 Key: IGNITE-21712
 URL: https://issues.apache.org/jira/browse/IGNITE-21712
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Chudov


TxStateResponse extends TimestampAware interface and is a part of transaction 
flow, the hybrid time should be adjusted when handling TxStateResponse but it 
doesnt happen.



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


[jira] [Updated] (IGNITE-21583) Implement API for dropping PageMemory indexes

2024-03-07 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-21583:
-
Reviewer: Kirill Tkalenko

Looks goof.

> Implement API for dropping PageMemory indexes
> -
>
> Key: IGNITE-21583
> URL: https://issues.apache.org/jira/browse/IGNITE-21583
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 5h
>  Remaining Estimate: 0h
>
> This task is identical to IGNITE-21574, but this time it should be 
> implemented on the Page Memory's side.



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


[jira] [Comment Edited] (IGNITE-21583) Implement API for dropping PageMemory indexes

2024-03-07 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko edited comment on IGNITE-21583 at 3/7/24 1:13 PM:
--

Looks good.


was (Author: ktkale...@gridgain.com):
Looks goof.

> Implement API for dropping PageMemory indexes
> -
>
> Key: IGNITE-21583
> URL: https://issues.apache.org/jira/browse/IGNITE-21583
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 5h 10m
>  Remaining Estimate: 0h
>
> This task is identical to IGNITE-21574, but this time it should be 
> implemented on the Page Memory's side.



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


[jira] [Assigned] (IGNITE-21088) Impossible to restart node with json config

2024-03-07 Thread Vadim Pakhnushev (Jira)


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

Vadim Pakhnushev reassigned IGNITE-21088:
-

Assignee: Vadim Pakhnushev

> Impossible to restart node with json config
> ---
>
> Key: IGNITE-21088
> URL: https://issues.apache.org/jira/browse/IGNITE-21088
> Project: Ignite
>  Issue Type: Bug
>  Components: general
>Affects Versions: 3.0.0-beta2
>Reporter: Igor
>Assignee: Vadim Pakhnushev
>Priority: Critical
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> *Steps:*
> 1. Create ignite-config.json config instead of ignite-config.conf
> {code:java}
> {
>   "network" : {
>     "nodeFinder" : {
>       "netClusterNodes" : [ "localhost:3110", "localhost:3111" ]
>     },
>     "port" : 3110
>   },
>   "rest" : {
>     "port" : 10550
>   },
>   "clientConnector" : {
>     "port" : 2080
>   }
> } {code}
> 2. Start node.
>  
> 3. Stop node.
> 4. Restart node.
> *Expected:*
> Node restarted.
> *Actual:* 
> Config was rewritten into .conf format (but filename wasn't changed) and 
> didn't start because incorrectly formatted config.
> {code:java}
> aimem {
>     defaultRegion {
>         emptyPagesPoolSize=100
>         evictionMode=DISABLED
>         evictionThreshold=0.9
>         initSize=13666140160
>         maxSize=13666140160
>         memoryAllocator {
>             type=unsafe
>         }
>     }
>     pageSize=16384
> }
> aipersist {
>     checkpoint {
>         checkpointDelayMillis=200
>         checkpointThreads=4
>         compactionThreads=4
>         frequency=18
>         frequencyDeviation=40
>         logReadLockThresholdTimeout=0
>         readLockTimeout=1
>         useAsyncFileIoFactory=true
>     }
>     defaultRegion {
>         memoryAllocator {
>             type=unsafe
>         }
>         replacementMode=CLOCK
>         size=13666140160
>     }
>     pageSize=16384
> }
> clientConnector {
>     connectTimeout=5000
>     idleTimeout=0
>     metricsEnabled=false
>     port=2080
>     sendServerExceptionStackTraceToClient=false
>     ssl {
>         ciphers=""
>         clientAuth=none
>         enabled=false
>         keyStore {
>             password=""
>             path=""
>             type=PKCS12
>         }
>         trustStore {
>             password=""
>             path=""
>             type=PKCS12
>         }
>     }
> }
> cluster {
>     networkInvokeTimeout=500
> }
> compute {
>     queueMaxSize=2147483647
>     statesLifetimeMillis=6
>     threadPoolSize=20
>     threadPoolStopTimeoutMillis=1
> }
> deployment {
>     deploymentLocation=deployment
> }
> network {
>     fileTransfer {
>         chunkSize=1048576
>         maxConcurrentRequests=4
>         responseTimeout=1
>         threadPoolSize=8
>     }
>     inbound {
>         soBacklog=128
>         soKeepAlive=true
>         soLinger=0
>         soReuseAddr=true
>         tcpNoDelay=true
>     }
>     membership {
>         failurePingInterval=1000
>         membershipSyncInterval=3
>         scaleCube {
>             failurePingRequestMembers=3
>             gossipInterval=200
>             gossipRepeatMult=3
>             membershipSuspicionMultiplier=5
>             metadataTimeout=3000
>         }
>     }
>     nodeFinder {
>         netClusterNodes=[
>             "localhost:3110",
>             "localhost:3111"
>         ]
>         type=STATIC
>     }
>     outbound {
>         soKeepAlive=true
>         soLinger=0
>         tcpNoDelay=true
>     }
>     port=3110
>     shutdownQuietPeriod=0
>     shutdownTimeout=15000
>     ssl {
>         ciphers=""
>         clientAuth=none
>         enabled=false
>         keyStore {
>             password=""
>             path=""
>             type=PKCS12
>         }
>         trustStore {
>             password=""
>             path=""
>             type=PKCS12
>         }
>     }
> }
> raft {
>     fsync=true
>     responseTimeout=3000
>     retryDelay=200
>     retryTimeout=1
>     rpcInstallSnapshotTimeout=30
>     volatileRaft {
>         logStorage {
>             name=unlimited
>         }
>     }
> }
> rest {
>     dualProtocol=false
>     httpToHttpsRedirection=false
>     port=10550
>     ssl {
>         ciphers=""
>         clientAuth=none
>         enabled=false
>         keyStore {
>             password=""
>             path=""
>             type=PKCS12
>         }
>         port=10400
>         trustStore {
>             password=""
>             path=""
>             type=PKCS12
>         }
>     }
> }
> rocksDb {
>     defaultRegion {
>         cache=lru
>         numShardBits=-1
>         size=268435456
>         writeBufferSize=67108864
>     }
>     flushDelayMillis=100
> } {code}
> The error while starting:
> {code:java}
> 

[jira] [Commented] (IGNITE-21685) Thin 3.0: executeColocated does not work with escaped table names

2024-03-07 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21685:
-

Merged to main: 58f4ca66d728485d3bbf021fb31c9301a605fdc4

> Thin 3.0: executeColocated does not work with escaped table names
> -
>
> Key: IGNITE-21685
> URL: https://issues.apache.org/jira/browse/IGNITE-21685
> Project: Ignite
>  Issue Type: Bug
>  Components: compute, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Add the following test to *ItThinClientComputeTest*:
> {code:java}
> @Test
> void testExecuteColocatedEscapedTableName() {
> var session = client().sql().sessionBuilder().build();
> session.execute(null, "CREATE TABLE \"TBL ABC\" (key INT PRIMARY KEY, 
> val INT)");
> var tableName = "\"TBL ABC\"";
> client().compute().executeColocated(tableName, 
> Tuple.create().set("key", 1), List.of(), NodeNameJob.class.getName());
> }
> {code}
> It fails:
> {code}
> Caused by: java.lang.IllegalArgumentException: Fully qualified name is not 
> expected [name=TBL ABC]
>   at 
> org.apache.ignite.lang.util.IgniteNameUtils.parseSimpleName(IgniteNameUtils.java:49)
>   at 
> org.apache.ignite.internal.table.distributed.TableManager.tableAsync(TableManager.java:1510)
>   at 
> org.apache.ignite.client.handler.requests.table.ClientTableGetRequest.process(ClientTableGetRequest.java:45)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:637)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:569)
> {code}



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


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

2024-03-07 Thread Denis Chudov (Jira)


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

Denis Chudov reassigned IGNITE-21634:
-

Assignee: Denis Chudov

> NPE in HeapLockManager
> --
>
> Key: IGNITE-21634
> URL: https://issues.apache.org/jira/browse/IGNITE-21634
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: 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-21711) Allow get current time from ClockWaiter.

2024-03-07 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov updated IGNITE-21711:
--
Description: 
ClockWaiter allows to get notification at certain time, but there is no way to 
know the current time.
Because of this fact, we have to pass both object (clockWaiter and clock) to 
dependant objects.

Let's 
1. Add a shortcut for `clock.now()` in ClockWater.
2. Rename ClockWaiter -> ClockService
3. Use ClockService instead of HybridClock in components, which don't use the 
clock directly via `clock.update`


  was:
ClockWaiter allows to get notification at certain time, but there is no way to 
know the current time.
Because of this fact, we have to pass both object (clockWaiter and clock) to 
dependant objects.

Let's add a shortcut for `clock.now()` in ClockWater and remove all unwanted 
dependencies in code.


> Allow get current time from ClockWaiter.
> 
>
> Key: IGNITE-21711
> URL: https://issues.apache.org/jira/browse/IGNITE-21711
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Andrey Mashenkov
>Priority: Minor
>  Labels: ignite-3
>
> ClockWaiter allows to get notification at certain time, but there is no way 
> to know the current time.
> Because of this fact, we have to pass both object (clockWaiter and clock) to 
> dependant objects.
> Let's 
> 1. Add a shortcut for `clock.now()` in ClockWater.
> 2. Rename ClockWaiter -> ClockService
> 3. Use ClockService instead of HybridClock in components, which don't use the 
> clock directly via `clock.update`



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


[jira] [Commented] (IGNITE-21685) Thin 3.0: executeColocated does not work with escaped table names

2024-03-07 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-21685:
--

Looks good to me.

> Thin 3.0: executeColocated does not work with escaped table names
> -
>
> Key: IGNITE-21685
> URL: https://issues.apache.org/jira/browse/IGNITE-21685
> Project: Ignite
>  Issue Type: Bug
>  Components: compute, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add the following test to *ItThinClientComputeTest*:
> {code:java}
> @Test
> void testExecuteColocatedEscapedTableName() {
> var session = client().sql().sessionBuilder().build();
> session.execute(null, "CREATE TABLE \"TBL ABC\" (key INT PRIMARY KEY, 
> val INT)");
> var tableName = "\"TBL ABC\"";
> client().compute().executeColocated(tableName, 
> Tuple.create().set("key", 1), List.of(), NodeNameJob.class.getName());
> }
> {code}
> It fails:
> {code}
> Caused by: java.lang.IllegalArgumentException: Fully qualified name is not 
> expected [name=TBL ABC]
>   at 
> org.apache.ignite.lang.util.IgniteNameUtils.parseSimpleName(IgniteNameUtils.java:49)
>   at 
> org.apache.ignite.internal.table.distributed.TableManager.tableAsync(TableManager.java:1510)
>   at 
> org.apache.ignite.client.handler.requests.table.ClientTableGetRequest.process(ClientTableGetRequest.java:45)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:637)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:569)
> {code}



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


[jira] [Updated] (IGNITE-21428) Additional WITH params for zone

2024-03-07 Thread Vadim Pakhnushev (Jira)


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

Vadim Pakhnushev updated IGNITE-21428:
--
Summary: Additional WITH params for zone  (was: Additional WITH params for 
zone, table)

> Additional WITH params for zone
> ---
>
> Key: IGNITE-21428
> URL: https://issues.apache.org/jira/browse/IGNITE-21428
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vadim Kolodin
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement currently supported WITH params for zone, table - adjust, filter, 
> dataregion, affinityFunction etc.



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


[jira] [Updated] (IGNITE-21428) Additional WITH params for zone

2024-03-07 Thread Vadim Pakhnushev (Jira)


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

Vadim Pakhnushev updated IGNITE-21428:
--
Description: Implement currently supported WITH params for zone - adjust, 
filter, dataregion, affinityFunction etc.  (was: Implement currently supported 
WITH params for zone, table - adjust, filter, dataregion, affinityFunction etc.)

> Additional WITH params for zone
> ---
>
> Key: IGNITE-21428
> URL: https://issues.apache.org/jira/browse/IGNITE-21428
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vadim Kolodin
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement currently supported WITH params for zone - adjust, filter, 
> dataregion, affinityFunction etc.



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


[jira] [Updated] (IGNITE-21569) Introduce Spotbugs checks

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21569:
---
Labels: ignite-3 spotbugs  (was: ignite-3)

> Introduce Spotbugs checks
> -
>
> Key: IGNITE-21569
> URL: https://issues.apache.org/jira/browse/IGNITE-21569
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Viacheslav Blinov
>Assignee: Viacheslav Blinov
>Priority: Major
>  Labels: ignite-3, spotbugs
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> Spotbugs can bring additional value to static code analysis of ignite:
>  # Remove modernizer plugin and migrate its rules with Spotbugs rule 
> DM_DEFAULT_ENCODING
>  # Escape analysis for unclosed Closable instances (OS_OPEN_STREAM, 
> OS_OPEN_STREAM_EXCEPTION_PATH)
>  # Checks for misusages of InputStream.read and skip (RR_NOT_CHECKED, 
> SR_NOT_CHECKED)
> There are other reasonable rules Ignite could also benefit from.



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


[jira] [Updated] (IGNITE-21698) LocalConfigurationStorage reboxes unboxed value

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21698:
---
Labels: ignite3 spotbugs  (was: ignite3)

> LocalConfigurationStorage reboxes unboxed value
> ---
>
> Key: IGNITE-21698
> URL: https://issues.apache.org/jira/browse/IGNITE-21698
> Project: Ignite
>  Issue Type: Task
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M P BX_UNBOXING_IMMEDIATELY_REBOXED Bx: Boxed value is unboxed and then 
> immediately reboxed in 
> org.apache.ignite.internal.configuration.storage.LocalConfigurationStorage.lambda$lastRevision$6()
>   At LocalConfigurationStorage.java:[line 232] {noformat}
> This might cause unwanted additional GC pressure.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21697) ConnectionManager ignores exceptional return value of ExecutorService.submit

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21697:
---
Labels: ignite3 spotbugs  (was: ignite3)

> ConnectionManager ignores exceptional return value of ExecutorService.submit
> 
>
> Key: IGNITE-21697
> URL: https://issues.apache.org/jira/browse/IGNITE-21697
> Project: Ignite
>  Issue Type: Task
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M B RV_RETURN_VALUE_IGNORED_BAD_PRACTICE RV: Exceptional return value of 
> java.util.concurrent.ExecutorService.submit(Callable) ignored in 
> org.apache.ignite.internal.network.netty.ConnectionManager.handleNodeLeft(String)
>   At ConnectionManager.java:[line 603]
> {noformat}
> If you don't check the result, you won't notice if the method invocation 
> signals unexpected behavior by returning an atypical return value.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21696) LazyStripedExecutor performs synchronization on AtomicReferenceArray

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21696:
---
Labels: ignite3 spotbugs  (was: ignite3)

> LazyStripedExecutor performs synchronization on AtomicReferenceArray
> 
>
> Key: IGNITE-21696
> URL: https://issues.apache.org/jira/browse/IGNITE-21696
> Project: Ignite
>  Issue Type: Task
>Reporter: Viacheslav Blinov
>Assignee: Roman Puchkovskiy
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M M JLM_JSR166_UTILCONCURRENT_MONITORENTER JLM: Synchronization performed on 
> java.util.concurrent.atomic.AtomicReferenceArray in 
> org.apache.ignite.internal.network.LazyStripedExecutors.stripedExecutorFor(short)
>   At LazyStripedExecutors.java:[line 71]
> {noformat}
> Instances of java.util.concurrent.atomic classes have their own concurrency 
> control mechanisms that are orthogonal to the synchronization provided by the 
> Java keyword {{{}synchronized{}}}. For example, synchronizing on an 
> {{AtomicBoolean}} will not prevent other threads from modifying the 
> {{{}AtomicBoolean{}}}.
> Such code may be correct, but should be carefully reviewed and documented, 
> and may confuse people who have to maintain the code at a later date.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21692) AbstractFreeList has unused private method `initReusedPage`

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21692:
---
Labels: ignite3 spotbugs  (was: ignite3)

> AbstractFreeList has unused private method `initReusedPage`
> ---
>
> Key: IGNITE-21692
> URL: https://issues.apache.org/jira/browse/IGNITE-21692
> Project: Ignite
>  Issue Type: Task
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs but is also highlighted by Idea inspection. 
> Specifically the warning reported is:
> {noformat}
> M P UPM_UNCALLED_PRIVATE_METHOD UPM: Private method 
> org.apache.ignite.internal.pagememory.freelist.AbstractFreeList.initReusedPage(Storable,
>  long, IoStatisticsHolder) is never called  At AbstractFreeList.java:[lines 
> 707-726]
> {noformat}
> Method `initReusedPage` is never called which can be an indicator of an issue.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21706) RandomLruPageReplacementPolicy has dead conditions

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21706:
---
Labels: ignite3 spotbugs  (was: ignite3)

> RandomLruPageReplacementPolicy has dead conditions
> --
>
> Key: IGNITE-21706
> URL: https://issues.apache.org/jira/browse/IGNITE-21706
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H D UC_USELESS_CONDITION UC: Useless condition: it's known that dirty == 
> false at this point  At RandomLruPageReplacementPolicy.java:[line 134] 
> {noformat}
> I tried to unfold it and ended up removing quite a few lines of dead code and 
> useless conditions which are constant. I'm not sure if this is right and 
> there is no missing implementation there.
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21705) CheckpointWorkflow uses weird equals implementation

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21705:
---
Labels: ignite3 spotbugs  (was: ignite3)

> CheckpointWorkflow uses weird equals implementation
> ---
>
> Key: IGNITE-21705
> URL: https://issues.apache.org/jira/browse/IGNITE-21705
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M B BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS BC: Equals method for 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointWorkflow$1
>  assumes the argument is of type CheckpointWorkflow$1  At 
> CheckpointWorkflow.java:[line 349]
> M B NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT NP: 
> org.apache.ignite.internal.pagememory.persistence.checkpoint.CheckpointWorkflow$1.equals(Object)
>  does not check for null argument  At CheckpointWorkflow.java:[line 349]
> {noformat}
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21699) DistributionFunction compares strings by reference

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21699:
---
Component/s: sql

> DistributionFunction compares strings by reference
> --
>
> Key: IGNITE-21699
> URL: https://issues.apache.org/jira/browse/IGNITE-21699
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M B ES_COMPARING_STRINGS_WITH_EQ ES: Comparison of String objects using == or 
> != in 
> org.apache.ignite.internal.sql.engine.trait.DistributionFunction.equals(Object)
>   At DistributionFunction.java:[line 76]
> M B ES_COMPARING_STRINGS_WITH_EQ ES: Comparison of String objects using == or 
> != in 
> org.apache.ignite.internal.sql.engine.trait.DistributionFunction.satisfy(DistributionFunction,
>  DistributionFunction)  At DistributionFunction.java:[line 117]
> {noformat}
> This might be wrong.
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21699) DistributionFunction compares strings by reference

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21699:
---
Labels: ignite3 spotbugs  (was: ignite3)

> DistributionFunction compares strings by reference
> --
>
> Key: IGNITE-21699
> URL: https://issues.apache.org/jira/browse/IGNITE-21699
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M B ES_COMPARING_STRINGS_WITH_EQ ES: Comparison of String objects using == or 
> != in 
> org.apache.ignite.internal.sql.engine.trait.DistributionFunction.equals(Object)
>   At DistributionFunction.java:[line 76]
> M B ES_COMPARING_STRINGS_WITH_EQ ES: Comparison of String objects using == or 
> != in 
> org.apache.ignite.internal.sql.engine.trait.DistributionFunction.satisfy(DistributionFunction,
>  DistributionFunction)  At DistributionFunction.java:[line 117]
> {noformat}
> This might be wrong.
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21704) ConfigurationListenerHolder uses weird equals implementation

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21704:
---
Labels: ignite3 spotbugs  (was: ignite3)

> ConfigurationListenerHolder uses weird equals implementation
> 
>
> Key: IGNITE-21704
> URL: https://issues.apache.org/jira/browse/IGNITE-21704
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M B BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS BC: Equals method for 
> org.apache.ignite.internal.configuration.ConfigurationListenerHolder$1 
> assumes the argument is of type ConfigurationListenerHolder$1  At 
> ConfigurationListenerHolder.java:[line 56] 
> M B NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT NP: 
> org.apache.ignite.internal.configuration.ConfigurationListenerHolder$1.equals(Object)
>  does not check for null argument  At ConfigurationListenerHolder.java:[line 
> 56]{noformat}
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21699) Sql. DistributionFunction compares strings by reference

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21699:
---
Summary: Sql. DistributionFunction compares strings by reference  (was: 
DistributionFunction compares strings by reference)

> Sql. DistributionFunction compares strings by reference
> ---
>
> Key: IGNITE-21699
> URL: https://issues.apache.org/jira/browse/IGNITE-21699
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M B ES_COMPARING_STRINGS_WITH_EQ ES: Comparison of String objects using == or 
> != in 
> org.apache.ignite.internal.sql.engine.trait.DistributionFunction.equals(Object)
>   At DistributionFunction.java:[line 76]
> M B ES_COMPARING_STRINGS_WITH_EQ ES: Comparison of String objects using == or 
> != in 
> org.apache.ignite.internal.sql.engine.trait.DistributionFunction.satisfy(DistributionFunction,
>  DistributionFunction)  At DistributionFunction.java:[line 117]
> {noformat}
> This might be wrong.
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21694) HeapLockManager/HeapUnboundedLockManager makes inefficient use of keySet iterator instead of entrySet iterator

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21694:
---
Labels: ignite3 spotbugs  (was: ignite3)

> HeapLockManager/HeapUnboundedLockManager makes inefficient use of keySet 
> iterator instead of entrySet iterator
> --
>
> Key: IGNITE-21694
> URL: https://issues.apache.org/jira/browse/IGNITE-21694
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M P WMI_WRONG_MAP_ITERATOR WMI: 
> org.apache.ignite.internal.tx.impl.HeapLockManager$WaiterImpl.recalculate() 
> makes inefficient use of keySet iterator instead of entrySet iterator  At 
> HeapLockManager.java:[line 815]
> M P WMI_WRONG_MAP_ITERATOR WMI: 
> org.apache.ignite.internal.tx.impl.HeapUnboundedLockManager$WaiterImpl.recalculate()
>  makes inefficient use of keySet iterator instead of entrySet iterator  At 
> HeapUnboundedLockManager.java:[line 632] {noformat}
> This method accesses the value of a Map entry, using a key that was retrieved 
> from a keySet iterator. It is more efficient to use an iterator on the 
> entrySet of the map, to avoid the Map.get(key) lookup.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21700) IgniteSort: result of RelOptCost.plus is ignored but it doesn't have side-effects

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21700:
---
Labels: ignite3 spotbugs  (was: ignite3)

> IgniteSort: result of RelOptCost.plus is ignored but it doesn't have 
> side-effects
> -
>
> Key: IGNITE-21700
> URL: https://issues.apache.org/jira/browse/IGNITE-21700
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3, spotbugs
> Fix For: 3.0.0-beta2
>
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H D RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT RV: Return value of 
> org.apache.calcite.plan.RelOptCost.plus(RelOptCost) ignored, but method has 
> no side effect  At IgniteSort.java:[line 169] {noformat}
> It looks like RelOptCost.plus is side-effect free and it's return result 
> should be used, but it is ignored! It looks like a bug!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21701) Sql. IgniteSender compares unrelated types

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21701:
---
Labels: ignite3 spotbugs  (was: ignite3)

> Sql. IgniteSender compares unrelated types
> --
>
> Key: IGNITE-21701
> URL: https://issues.apache.org/jira/browse/IGNITE-21701
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M C EC_UNRELATED_TYPES_USING_POINTER_EQUALITY EC: Using pointer equality to 
> compare a org.apache.calcite.rel.RelDistributions$RelDistributionImpl with a 
> org.apache.ignite.internal.sql.engine.trait.IgniteDistribution in new 
> org.apache.ignite.internal.sql.engine.rel.IgniteSender(RelOptCluster, 
> RelTraitSet, RelNode, long, long, IgniteDistribution)  At 
> IgniteSender.java:[line 58]
> {noformat}
> It looks like a bug because this comparsion will always yield false!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21695) PageHandler: useless control flow

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21695:
---
Labels: ignite3 spotbus  (was: ignite3)

> PageHandler: useless control flow
> -
>
> Key: IGNITE-21695
> URL: https://issues.apache.org/jira/browse/IGNITE-21695
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Minor
>  Labels: ignite3, spotbus
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M D UCF_USELESS_CONTROL_FLOW UCF: Useless control flow in 
> org.apache.ignite.internal.pagememory.util.PageHandler. for PageHandler>()  At PageHandler.java:[line 34]
> {noformat}
> One of the conditions of this interface default implementation checks for 
> condition which is always true/false. This can be a sign of a bug.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21691) BasicMetricExporter has inconsistent synchronized access to field `configuration`

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21691:
---
Labels: ignite3 spotbugs  (was: ignite3)

> BasicMetricExporter has inconsistent synchronized access to field 
> `configuration`
> -
>
> Key: IGNITE-21691
> URL: https://issues.apache.org/jira/browse/IGNITE-21691
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs but is also highlighted by Idea inspection. 
> Specifically the warning reported is:
> {noformat}
> M M IS2_INCONSISTENT_SYNC IS: Inconsistent synchronization of 
> org.apache.ignite.internal.metrics.exporters.BasicMetricExporter.configuration;
>  locked 66% of time  Unsynchronized access at BasicMetricExporter.java:[line 
> 41]
> {noformat}
> Field `configuration` are accessed in both synchronized and unsynchronized 
> fashion. This can be a source of hard to catch bug.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21690) ConfigurationNode has inconsistent synchronized access to fields `invalid` and `val`

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21690:
---
Labels: ignite3 spotbugs  (was: ignite3)

> ConfigurationNode has inconsistent synchronized access to fields `invalid` 
> and `val`
> 
>
> Key: IGNITE-21690
> URL: https://issues.apache.org/jira/browse/IGNITE-21690
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs but is also highlighted by Idea inspection. 
> Specifically the warning reported is:
> {noformat}
> M M IS2_INCONSISTENT_SYNC IS: Inconsistent synchronization of 
> org.apache.ignite.internal.configuration.ConfigurationNode.invalid; locked 
> 66% of time  Unsynchronized access at ConfigurationNode.java:[line 
> 138]{noformat}
> {noformat}
> M M IS2_INCONSISTENT_SYNC IS: Inconsistent synchronization of 
> org.apache.ignite.internal.configuration.ConfigurationNode.val; locked 60% of 
> time  Unsynchronized access at ConfigurationNode.java:[line 145]{noformat}
> Fields `val` and `invalid` are accessed in both synchronized and 
> unsynchronized fashion. This can be a source of hard to catch bug.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21693) TxManagerImpl increments/decrements volatile field `inflights`

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21693:
---
Labels: ignite3 spotbugs  (was: ignite3)

> TxManagerImpl increments/decrements volatile field `inflights`
> --
>
> Key: IGNITE-21693
> URL: https://issues.apache.org/jira/browse/IGNITE-21693
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3, spotbugs
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H M VO_VOLATILE_INCREMENT VO: Increment of volatile field 
> org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in 
> org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$addInflight$21(boolean[],
>  UUID, TxManagerImpl$TxContext)  At TxManagerImpl.java:[line 843]
> H M VO_VOLATILE_INCREMENT VO: Increment of volatile field 
> org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in 
> org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$removeInflight$22(UUID,
>  TxManagerImpl$TxContext)  At TxManagerImpl.java:[line 858]
> {noformat}
> Increments/Decrements of volatile fields aren't atomic. If more than one 
> thread is incrementing/decrementing the field at the same time, 
> increments/decrements could be lost.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Resolved] (IGNITE-21693) TxManagerImpl increments/decrements volatile field `inflights`

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov resolved IGNITE-21693.

Resolution: Resolved

Added suppression in IGNITE-21569

> TxManagerImpl increments/decrements volatile field `inflights`
> --
>
> Key: IGNITE-21693
> URL: https://issues.apache.org/jira/browse/IGNITE-21693
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H M VO_VOLATILE_INCREMENT VO: Increment of volatile field 
> org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in 
> org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$addInflight$21(boolean[],
>  UUID, TxManagerImpl$TxContext)  At TxManagerImpl.java:[line 843]
> H M VO_VOLATILE_INCREMENT VO: Increment of volatile field 
> org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in 
> org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$removeInflight$22(UUID,
>  TxManagerImpl$TxContext)  At TxManagerImpl.java:[line 858]
> {noformat}
> Increments/Decrements of volatile fields aren't atomic. If more than one 
> thread is incrementing/decrementing the field at the same time, 
> increments/decrements could be lost.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Commented] (IGNITE-21693) TxManagerImpl increments/decrements volatile field `inflights`

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov commented on IGNITE-21693:


Per [~ascherbakov]:
{quote}IGNITE-21693 there is a suppression // noinspection 
NonAtomicOperationOnVolatileField (edited)
{quote}

> TxManagerImpl increments/decrements volatile field `inflights`
> --
>
> Key: IGNITE-21693
> URL: https://issues.apache.org/jira/browse/IGNITE-21693
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H M VO_VOLATILE_INCREMENT VO: Increment of volatile field 
> org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in 
> org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$addInflight$21(boolean[],
>  UUID, TxManagerImpl$TxContext)  At TxManagerImpl.java:[line 843]
> H M VO_VOLATILE_INCREMENT VO: Increment of volatile field 
> org.apache.ignite.internal.tx.impl.TxManagerImpl$TxContext.inflights in 
> org.apache.ignite.internal.tx.impl.TxManagerImpl.lambda$removeInflight$22(UUID,
>  TxManagerImpl$TxContext)  At TxManagerImpl.java:[line 858]
> {noformat}
> Increments/Decrements of volatile fields aren't atomic. If more than one 
> thread is incrementing/decrementing the field at the same time, 
> increments/decrements could be lost.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Created] (IGNITE-21711) Allow get current time from ClockWaiter.

2024-03-07 Thread Andrey Mashenkov (Jira)
Andrey Mashenkov created IGNITE-21711:
-

 Summary: Allow get current time from ClockWaiter.
 Key: IGNITE-21711
 URL: https://issues.apache.org/jira/browse/IGNITE-21711
 Project: Ignite
  Issue Type: Improvement
Reporter: Andrey Mashenkov


ClockWaiter allows to get notification at certain time, but there is no way to 
know the current time.
Because of this fact, we have to pass both object (clockWaiter and clock) to 
dependant objects.

Let's add a shortcut for `clock.now()` in ClockWater and remove all unwanted 
dependencies in code.



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


[jira] [Updated] (IGNITE-21701) Sql. IgniteSender compares unrelated types

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21701:
--
Summary: Sql. IgniteSender compares unrelated types  (was: IgniteSender 
compares unrelated types)

> Sql. IgniteSender compares unrelated types
> --
>
> Key: IGNITE-21701
> URL: https://issues.apache.org/jira/browse/IGNITE-21701
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M C EC_UNRELATED_TYPES_USING_POINTER_EQUALITY EC: Using pointer equality to 
> compare a org.apache.calcite.rel.RelDistributions$RelDistributionImpl with a 
> org.apache.ignite.internal.sql.engine.trait.IgniteDistribution in new 
> org.apache.ignite.internal.sql.engine.rel.IgniteSender(RelOptCluster, 
> RelTraitSet, RelNode, long, long, IgniteDistribution)  At 
> IgniteSender.java:[line 58]
> {noformat}
> It looks like a bug because this comparsion will always yield false!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21701) IgniteSender compares unrelated types

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21701:
--
Ignite Flags:   (was: Docs Required,Release Notes Required)

> IgniteSender compares unrelated types
> -
>
> Key: IGNITE-21701
> URL: https://issues.apache.org/jira/browse/IGNITE-21701
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M C EC_UNRELATED_TYPES_USING_POINTER_EQUALITY EC: Using pointer equality to 
> compare a org.apache.calcite.rel.RelDistributions$RelDistributionImpl with a 
> org.apache.ignite.internal.sql.engine.trait.IgniteDistribution in new 
> org.apache.ignite.internal.sql.engine.rel.IgniteSender(RelOptCluster, 
> RelTraitSet, RelNode, long, long, IgniteDistribution)  At 
> IgniteSender.java:[line 58]
> {noformat}
> It looks like a bug because this comparsion will always yield false!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21701) IgniteSender compares unrelated types

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21701:
--
Component/s: sql

> IgniteSender compares unrelated types
> -
>
> Key: IGNITE-21701
> URL: https://issues.apache.org/jira/browse/IGNITE-21701
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M C EC_UNRELATED_TYPES_USING_POINTER_EQUALITY EC: Using pointer equality to 
> compare a org.apache.calcite.rel.RelDistributions$RelDistributionImpl with a 
> org.apache.ignite.internal.sql.engine.trait.IgniteDistribution in new 
> org.apache.ignite.internal.sql.engine.rel.IgniteSender(RelOptCluster, 
> RelTraitSet, RelNode, long, long, IgniteDistribution)  At 
> IgniteSender.java:[line 58]
> {noformat}
> It looks like a bug because this comparsion will always yield false!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21700) IgniteSort: result of RelOptCost.plus is ignored but it doesn't have side-effects

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21700:
--
Fix Version/s: 3.0.0-beta2

> IgniteSort: result of RelOptCost.plus is ignored but it doesn't have 
> side-effects
> -
>
> Key: IGNITE-21700
> URL: https://issues.apache.org/jira/browse/IGNITE-21700
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
> Fix For: 3.0.0-beta2
>
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H D RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT RV: Return value of 
> org.apache.calcite.plan.RelOptCost.plus(RelOptCost) ignored, but method has 
> no side effect  At IgniteSort.java:[line 169] {noformat}
> It looks like RelOptCost.plus is side-effect free and it's return result 
> should be used, but it is ignored! It looks like a bug!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Resolved] (IGNITE-21700) IgniteSort: result of RelOptCost.plus is ignored but it doesn't have side-effects

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov resolved IGNITE-21700.
---
Resolution: Fixed

Was fixed in IGNITE-21668

> IgniteSort: result of RelOptCost.plus is ignored but it doesn't have 
> side-effects
> -
>
> Key: IGNITE-21700
> URL: https://issues.apache.org/jira/browse/IGNITE-21700
> Project: Ignite
>  Issue Type: Bug
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H D RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT RV: Return value of 
> org.apache.calcite.plan.RelOptCost.plus(RelOptCost) ignored, but method has 
> no side effect  At IgniteSort.java:[line 169] {noformat}
> It looks like RelOptCost.plus is side-effect free and it's return result 
> should be used, but it is ignored! It looks like a bug!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21700) IgniteSort: result of RelOptCost.plus is ignored but it doesn't have side-effects

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21700:
--
Component/s: sql

> IgniteSort: result of RelOptCost.plus is ignored but it doesn't have 
> side-effects
> -
>
> Key: IGNITE-21700
> URL: https://issues.apache.org/jira/browse/IGNITE-21700
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H D RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT RV: Return value of 
> org.apache.calcite.plan.RelOptCost.plus(RelOptCost) ignored, but method has 
> no side effect  At IgniteSort.java:[line 169] {noformat}
> It looks like RelOptCost.plus is side-effect free and it's return result 
> should be used, but it is ignored! It looks like a bug!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21700) IgniteSort: result of RelOptCost.plus is ignored but it doesn't have side-effects

2024-03-07 Thread Konstantin Orlov (Jira)


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

Konstantin Orlov updated IGNITE-21700:
--
Ignite Flags:   (was: Docs Required,Release Notes Required)

> IgniteSort: result of RelOptCost.plus is ignored but it doesn't have 
> side-effects
> -
>
> Key: IGNITE-21700
> URL: https://issues.apache.org/jira/browse/IGNITE-21700
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Viacheslav Blinov
>Priority: Major
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> H D RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT RV: Return value of 
> org.apache.calcite.plan.RelOptCost.plus(RelOptCost) ignored, but method has 
> no side effect  At IgniteSort.java:[line 169] {noformat}
> It looks like RelOptCost.plus is side-effect free and it's return result 
> should be used, but it is ignored! It looks like a bug!
> Investigate whenever this is a false-positive and we should suppress it, or 
> make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21709) Revise TimestampAware messages processing

2024-03-07 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21709:
--
Description: 
{{TimestampAware}} messages contain timestamp to adjust a hybrid logical clock.

Currently, ReplicaManager updates the local clock when it receives a 
{{ReplicaRequest}} with a timestamp.

It may be worth revising the design and adding general processing of such 
messages (probably at the {{MessagingService}} level).
For example, it is also necessary to adjust the clock when receiving a 
{{QueryBatchMessage}} (sql-engine) and currently each component must duplicate 
the clock adjusting logic.


  was:
{{TimestampAware}} messages contain timestamp to adjust a hybrid logical clock.

Currently, ReplicaManager updates the local clock when it receives a 
{{ReplicaRequest}} with a timestamp.

It may be worth revising the design and adding general processing of such 
messages (probably at the MessageService level).
For example, it is also necessary to adjust the clock when receiving a 
{{QueryBatchMessage}} (sql-engine) and currently each component must duplicate 
the clock adjusting logic.



> Revise TimestampAware messages processing
> -
>
> Key: IGNITE-21709
> URL: https://issues.apache.org/jira/browse/IGNITE-21709
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Pavel Pereslegin
>Priority: Major
>  Labels: ignite-3
>
> {{TimestampAware}} messages contain timestamp to adjust a hybrid logical 
> clock.
> Currently, ReplicaManager updates the local clock when it receives a 
> {{ReplicaRequest}} with a timestamp.
> It may be worth revising the design and adding general processing of such 
> messages (probably at the {{MessagingService}} level).
> For example, it is also necessary to adjust the clock when receiving a 
> {{QueryBatchMessage}} (sql-engine) and currently each component must 
> duplicate the clock adjusting logic.



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


[jira] [Assigned] (IGNITE-21474) Add a system view to show index history

2024-03-07 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21474:
--

Assignee: Roman Puchkovskiy

> Add a system view to show index history
> ---
>
> Key: IGNITE-21474
> URL: https://issues.apache.org/jira/browse/IGNITE-21474
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
>
> The view should display an entry per index history item per index:
>  # Index ID
>  # Index name
>  # Index state corresponding to the history item 
> (REGISTERED/BUILDING/AVAILABLE, or maybe WRITE_ONLY/AVAILABLE (where 
> WRITE_ONLY combines REGISTERED and BUILDING)
> This has to be refined.



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


[jira] [Comment Edited] (IGNITE-21685) Thin 3.0: executeColocated does not work with escaped table names

2024-03-07 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn edited comment on IGNITE-21685 at 3/7/24 8:35 AM:
-

[~isapego] please review.


was (Author: ptupitsyn):
[~isapego] please review,

> Thin 3.0: executeColocated does not work with escaped table names
> -
>
> Key: IGNITE-21685
> URL: https://issues.apache.org/jira/browse/IGNITE-21685
> Project: Ignite
>  Issue Type: Bug
>  Components: compute, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add the following test to *ItThinClientComputeTest*:
> {code:java}
> @Test
> void testExecuteColocatedEscapedTableName() {
> var session = client().sql().sessionBuilder().build();
> session.execute(null, "CREATE TABLE \"TBL ABC\" (key INT PRIMARY KEY, 
> val INT)");
> var tableName = "\"TBL ABC\"";
> client().compute().executeColocated(tableName, 
> Tuple.create().set("key", 1), List.of(), NodeNameJob.class.getName());
> }
> {code}
> It fails:
> {code}
> Caused by: java.lang.IllegalArgumentException: Fully qualified name is not 
> expected [name=TBL ABC]
>   at 
> org.apache.ignite.lang.util.IgniteNameUtils.parseSimpleName(IgniteNameUtils.java:49)
>   at 
> org.apache.ignite.internal.table.distributed.TableManager.tableAsync(TableManager.java:1510)
>   at 
> org.apache.ignite.client.handler.requests.table.ClientTableGetRequest.process(ClientTableGetRequest.java:45)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:637)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:569)
> {code}



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


[jira] [Updated] (IGNITE-21696) LazyStripedExecutor performs synchronization on AtomicReferenceArray

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov updated IGNITE-21696:
---
Description: 
Issue detected by SpotBugs. Specifically the warning reported is:
{noformat}
M M JLM_JSR166_UTILCONCURRENT_MONITORENTER JLM: Synchronization performed on 
java.util.concurrent.atomic.AtomicReferenceArray in 
org.apache.ignite.internal.network.LazyStripedExecutors.stripedExecutorFor(short)
  At LazyStripedExecutors.java:[line 71]
{noformat}
Instances of java.util.concurrent.atomic classes have their own concurrency 
control mechanisms that are orthogonal to the synchronization provided by the 
Java keyword {{{}synchronized{}}}. For example, synchronizing on an 
{{AtomicBoolean}} will not prevent other threads from modifying the 
{{{}AtomicBoolean{}}}.

Such code may be correct, but should be carefully reviewed and documented, and 
may confuse people who have to maintain the code at a later date.

Investigate whenever this is a false-positive and we should suppress it, or we 
should make a proper fix.
At the result of investigation corresponding TODO should be removed in 
spotbugs-excludes.xml

  was:
Issue detected by SpotBugs. Specifically the warning reported is:
{noformat}
M M JLM_JSR166_UTILCONCURRENT_MONITORENTER JLM: Synchronization performed on 
java.util.concurrent.atomic.AtomicReferenceArray in 
org.apache.ignite.internal.network.LazyStripedExecutor.executorFor(short)  At 
LazyStripedExecutor.java:[line 88] {noformat}
Instances of java.util.concurrent.atomic classes have their own concurrency 
control mechanisms that are orthogonal to the synchronization provided by the 
Java keyword {{{}synchronized{}}}. For example, synchronizing on an 
{{AtomicBoolean}} will not prevent other threads from modifying the 
{{{}AtomicBoolean{}}}.

Such code may be correct, but should be carefully reviewed and documented, and 
may confuse people who have to maintain the code at a later date.

Investigate whenever this is a false-positive and we should suppress it, or we 
should make a proper fix.
At the result of investigation corresponding TODO should be removed in 
spotbugs-excludes.xml


> LazyStripedExecutor performs synchronization on AtomicReferenceArray
> 
>
> Key: IGNITE-21696
> URL: https://issues.apache.org/jira/browse/IGNITE-21696
> Project: Ignite
>  Issue Type: Task
>Reporter: Viacheslav Blinov
>Assignee: Roman Puchkovskiy
>Priority: Minor
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M M JLM_JSR166_UTILCONCURRENT_MONITORENTER JLM: Synchronization performed on 
> java.util.concurrent.atomic.AtomicReferenceArray in 
> org.apache.ignite.internal.network.LazyStripedExecutors.stripedExecutorFor(short)
>   At LazyStripedExecutors.java:[line 71]
> {noformat}
> Instances of java.util.concurrent.atomic classes have their own concurrency 
> control mechanisms that are orthogonal to the synchronization provided by the 
> Java keyword {{{}synchronized{}}}. For example, synchronizing on an 
> {{AtomicBoolean}} will not prevent other threads from modifying the 
> {{{}AtomicBoolean{}}}.
> Such code may be correct, but should be carefully reviewed and documented, 
> and may confuse people who have to maintain the code at a later date.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Assigned] (IGNITE-21696) LazyStripedExecutor performs synchronization on AtomicReferenceArray

2024-03-07 Thread Viacheslav Blinov (Jira)


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

Viacheslav Blinov reassigned IGNITE-21696:
--

Assignee: Roman Puchkovskiy

> LazyStripedExecutor performs synchronization on AtomicReferenceArray
> 
>
> Key: IGNITE-21696
> URL: https://issues.apache.org/jira/browse/IGNITE-21696
> Project: Ignite
>  Issue Type: Task
>Reporter: Viacheslav Blinov
>Assignee: Roman Puchkovskiy
>Priority: Minor
>  Labels: ignite3
>
> Issue detected by SpotBugs. Specifically the warning reported is:
> {noformat}
> M M JLM_JSR166_UTILCONCURRENT_MONITORENTER JLM: Synchronization performed on 
> java.util.concurrent.atomic.AtomicReferenceArray in 
> org.apache.ignite.internal.network.LazyStripedExecutor.executorFor(short)  At 
> LazyStripedExecutor.java:[line 88] {noformat}
> Instances of java.util.concurrent.atomic classes have their own concurrency 
> control mechanisms that are orthogonal to the synchronization provided by the 
> Java keyword {{{}synchronized{}}}. For example, synchronizing on an 
> {{AtomicBoolean}} will not prevent other threads from modifying the 
> {{{}AtomicBoolean{}}}.
> Such code may be correct, but should be carefully reviewed and documented, 
> and may confuse people who have to maintain the code at a later date.
> Investigate whenever this is a false-positive and we should suppress it, or 
> we should make a proper fix.
> At the result of investigation corresponding TODO should be removed in 
> spotbugs-excludes.xml



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


[jira] [Updated] (IGNITE-21710) ItIndexAndRebalanceTest.testChangeReplicaCountWithoutRestartNodes fails with Could not wait for the replica readiness due to timeout [replicaGroupId=7_part_0, req=Read

2024-03-07 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21710:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> ItIndexAndRebalanceTest.testChangeReplicaCountWithoutRestartNodes fails with  
> Could not wait for the replica readiness due to timeout 
> [replicaGroupId=7_part_0, req=ReadWriteSingleRowReplicaRequestImpl]
> -
>
> Key: IGNITE-21710
> URL: https://issues.apache.org/jira/browse/IGNITE-21710
> Project: Ignite
>  Issue Type: Bug
>Reporter: Alexander Lapin
>Priority: Major
>




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


[jira] [Created] (IGNITE-21710) ItIndexAndRebalanceTest.testChangeReplicaCountWithoutRestartNodes fails with Could not wait for the replica readiness due to timeout [replicaGroupId=7_part_0, req=Read

2024-03-07 Thread Alexander Lapin (Jira)
Alexander Lapin created IGNITE-21710:


 Summary: 
ItIndexAndRebalanceTest.testChangeReplicaCountWithoutRestartNodes fails with  
Could not wait for the replica readiness due to timeout 
[replicaGroupId=7_part_0, req=ReadWriteSingleRowReplicaRequestImpl]
 Key: IGNITE-21710
 URL: https://issues.apache.org/jira/browse/IGNITE-21710
 Project: Ignite
  Issue Type: Bug
Reporter: Alexander Lapin






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


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

2024-03-07 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-21637:
-
Fix Version/s: 2.17

> Possible 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
>Assignee: Ilya Shishkov
>Priority: Critical
>  Labels: ise
> Fix For: 2.17
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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) Possible integer overflow in page eviction trackers

2024-03-07 Thread Ivan Daschinsky (Jira)


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

Ivan Daschinsky updated IGNITE-21637:
-
Release Note: Fix integer overflow in page eviction trackers  (was: Fix 
integer)

> Possible 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
>Assignee: Ilya Shishkov
>Priority: Critical
>  Labels: ise
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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-15616) Calcite. Failed to parse UPDATE query.

2024-03-07 Thread Evgeny Stanilovsky (Jira)


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

Evgeny Stanilovsky updated IGNITE-15616:

Description: 
Seems we nned to support DEFAULT in Parser.jj or extend it

{noformat}
SqlNode SqlUpdate() :
...
 id = SimpleIdentifier() {
targetColumnList.add(id);
}
// TODO:  support DEFAULT also
{noformat}
 

{noformat}
statement ok
UPDATE integers i1 SET i=DEFAULT WHERE i=(SELECT MIN(i) FROM integers WHERE 
i1.id Calcite. Failed to parse UPDATE query.
> --
>
> Key: IGNITE-15616
> URL: https://issues.apache.org/jira/browse/IGNITE-15616
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Evgeny Stanilovsky
>Priority: Minor
>  Labels: calcite, ignite-3
>
> Seems we nned to support DEFAULT in Parser.jj or extend it
> {noformat}
> SqlNode SqlUpdate() :
> ...
>  id = SimpleIdentifier() {
> targetColumnList.add(id);
> }
> // TODO:  support DEFAULT also
> {noformat}
>  
> {noformat}
> statement ok
> UPDATE integers i1 SET i=DEFAULT WHERE i=(SELECT MIN(i) FROM integers WHERE 
> i1.id query II
> SELECT id, i FROM integers ORDER BY id
> 
> 1 NULL
> 2 NULL
> 3 2
> 4 3
> {noformat}
> {noformat}
> Statement [queries=ArrayList [UPDATE integers i1 SET i=DEFAULT WHERE 
> i=(SELECT MIN(i) FROM integers WHERE i1.id   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Statement.execute(SqlScriptRunner.java:404)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.run(SqlScriptRunner.java:115)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.ScriptTestRunner$1.run(ScriptTestRunner.java:219)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
> parse query.
>   at 
> org.apache.ignite.internal.processors.query.calcite.util.Commons.parse(Commons.java:205)
> {noformat}
> {noformat}
> /subquery/scalar/test_update_subquery.test[_ignore]
> {noformat}



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


[jira] [Updated] (IGNITE-15616) Calcite. Failed to parse UPDATE query.

2024-03-07 Thread Evgeny Stanilovsky (Jira)


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

Evgeny Stanilovsky updated IGNITE-15616:

Description: 


 
{noformat}
statement ok
UPDATE integers i1 SET i=DEFAULT WHERE i=(SELECT MIN(i) FROM integers WHERE 
i1.id Calcite. Failed to parse UPDATE query.
> --
>
> Key: IGNITE-15616
> URL: https://issues.apache.org/jira/browse/IGNITE-15616
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Evgeny Stanilovsky
>Priority: Minor
>  Labels: calcite, ignite-3
>
>  
> {noformat}
> statement ok
> UPDATE integers i1 SET i=DEFAULT WHERE i=(SELECT MIN(i) FROM integers WHERE 
> i1.id query II
> SELECT id, i FROM integers ORDER BY id
> 
> 1 NULL
> 2 NULL
> 3 2
> 4 3
> {noformat}
> {noformat}
> Statement [queries=ArrayList [UPDATE integers i1 SET i=DEFAULT WHERE 
> i=(SELECT MIN(i) FROM integers WHERE i1.id   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner$Statement.execute(SqlScriptRunner.java:404)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.SqlScriptRunner.run(SqlScriptRunner.java:115)
>   at 
> org.apache.ignite.internal.processors.query.calcite.logical.ScriptTestRunner$1.run(ScriptTestRunner.java:219)
>   at java.lang.Thread.run(Thread.java:748)
> Caused by: class 
> org.apache.ignite.internal.processors.query.IgniteSQLException: Failed to 
> parse query.
>   at 
> org.apache.ignite.internal.processors.query.calcite.util.Commons.parse(Commons.java:205)
> {noformat}
> {noformat}
> /subquery/scalar/test_update_subquery.test[_ignore]
> {noformat}



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