[jira] [Updated] (IGNITE-21716) ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky
[ 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&hideProblemsFromDependencies=false&expandBuildDeploymentsSection=false&expandBuildTestsSection=true&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=7918771_1146_86.1135.1137&logFilter=debug&logView=flowAware] -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Updated] (IGNITE-21716) ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky
[ 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&hideProblemsFromDependencies=false&expandBuildDeploymentsSection=false&expandBuildTestsSection=true&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=7918771_1146_86.1135.1137&logFilter=debug&logView=flowAware] -- This message was sent by Atlassian Jira (v8.20.10#820010)
[jira] [Created] (IGNITE-21716) ItMetaStorageRaftGroupTest#testRangeNextWorksCorrectlyAfterLeaderChange is flaky
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&hideProblemsFromDependencies=false&expandBuildDeploymentsSection=false&expandBuildTestsSection=true&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true&showLog=7918771_1146_86.1135.1137&logFilter=debug&logView=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.
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.
[ 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
[ 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
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
[ 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
[ https://issues.apache.org/jira/browse/IGNITE-21576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
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
[ 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
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
[ 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
[ https://issues.apache.org/jira/browse/IGNITE-21583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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} > org.apache.ignite.lan
[jira] [Commented] (IGNITE-21685) Thin 3.0: executeColocated does not work with escaped table names
[ https://issues.apache.org/jira/browse/IGNITE-21685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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.
[ 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
[ https://issues.apache.org/jira/browse/IGNITE-21685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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`
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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`
[ 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`
[ 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`
[ 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`
[ 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`
[ https://issues.apache.org/jira/browse/IGNITE-21693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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.
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ https://issues.apache.org/jira/browse/IGNITE-21685?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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
[ 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
[ 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
[ 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
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
[ 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
[ 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.
[ 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.
[ 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)