[jira] [Updated] (IGNITE-21867) Add new ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21867:
-
Summary: Add new ability to configure ReplicaService#RPC_TIMEOUT and 
TxMessageSender#RPC_TIMEOUT and increase the default values  (was: Add an 
ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT 
and increase the default values)

> Add new ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values.



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


[jira] [Updated] (IGNITE-21867) Add an ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21867:
-
Description: 
h3. Motivation

RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but actually 
it's a business operation one. Within the context of replicaService, there are 
legitimate reasons for operation to be processed longer than current timeout of 
3 seconds, basically it should be possible to wait indefinitely until the 
transaction times out. But because we don't have transaction timeout and 
because of possible bugs it seems reasonable to have an operation processing 
timeout "watchdog" with finite but relatively big configurable value.
h3. Definition of Done
 * Add ability to configure ReplicaService#RPC_TIMEOUT and 
TxMessageSender#RPC_TIMEOUT and increase the default values.

  was:
h3. Motivation

RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but actually 
it's a business operation one. Within the context of replicaService, there are 
legitimate reasons for operation to be processed longer than current timeout of 
3 seconds, basically it should be possible to wait indefinitely until the 
transaction times out. But because we don't have transaction timeout and 
because of possible bugs it seems reasonable to have an operation processing 
timeout "watchdog" with finite but relatively big configurable value.
h3. Definition of Done
 * Add ability to configure ReplicaService#RPC_TIMEOUT and 
TxMessageSender#RPC_TIMEOUT and increase the default values


> Add an ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> --
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values.



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


[jira] [Updated] (IGNITE-21867) Add an ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21867:
-
Summary: Add an ability to configure ReplicaService#RPC_TIMEOUT and 
TxMessageSender#RPC_TIMEOUT and increase the default values  (was: Add ability 
to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and 
increase the default values)

> Add an ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> --
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values



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


[jira] [Created] (IGNITE-21875) SQL API cleanup - remove properties and reactive methods

2024-03-28 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21875:
---

 Summary: SQL API cleanup - remove properties and reactive methods
 Key: IGNITE-21875
 URL: https://issues.apache.org/jira/browse/IGNITE-21875
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-21875) SQL API cleanup - remove properties and reactive methods

2024-03-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21875:

Description: 
* *Statement#properties* are not used
* Reactive APIs are not implemented

Remove them.

> SQL API cleanup - remove properties and reactive methods
> 
>
> Key: IGNITE-21875
> URL: https://issues.apache.org/jira/browse/IGNITE-21875
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
> Fix For: 3.0.0-beta2
>
>
> * *Statement#properties* are not used
> * Reactive APIs are not implemented
> Remove them.



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


[jira] [Assigned] (IGNITE-21287) Sql. LogicalOrToUnionRule may hang

2024-03-28 Thread Evgeny Stanilovsky (Jira)


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

Evgeny Stanilovsky reassigned IGNITE-21287:
---

Assignee: Evgeny Stanilovsky

> Sql. LogicalOrToUnionRule may hang
> --
>
> Key: IGNITE-21287
> URL: https://issues.apache.org/jira/browse/IGNITE-21287
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Evgeny Stanilovsky
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> LogicalOrToUnionRule may hand in case of huge conditions. Let's investigate 
> possible solutions under this ticket and uncomment the rule.
> To reproduce the issue, try to uncomment the rule and run q19 from TPC-H 
> suite after IGNITE-20880.



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


[jira] [Commented] (IGNITE-19274) Sql. Jdbc client. Support TIMESTAMP WITH LOCAL TIME ZONE type

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin commented on IGNITE-19274:
---

If we continue to convert {{Timestamp}} to {{LocalDateTime}}, we may have to 
rework the {{Instant}} to {{Timestamp}} conversion when reading the result set. 
Something like this:
{code:java}
if (cls == Instant.class) {
return Timestamp.valueOf(LocalDateTime.ofInstant((Instant) val, 
ZoneId.of("UTC")));
{code}


> Sql. Jdbc client.  Support TIMESTAMP WITH LOCAL TIME ZONE type
> --
>
> Key: IGNITE-19274
> URL: https://issues.apache.org/jira/browse/IGNITE-19274
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Evgeny Stanilovsky
>Priority: Major
>  Labels: ignite-3
>
> The {{TIMESTAMP WITH LOCAL TIME ZONE}} data type is a variant of 
> {{TIMESTAMP}} that includes a time zone offset in its value. Data stored in 
> the database is normalized to the database time zone (UTC) and time zone 
> offset is not stored as part of the column data. When the data is retrieved, 
> it to be returned in the user's local session time zone.
> i.e:
> {noformat}
> CREATE TABLE timestamp(ts TIMESTAMP, t_tz TIMESTAMP WITH LOCAL TIME ZONE);
> SET TIME ZONE 'tz1';
> INSERT INTO timestamp VALUES ('2011-01-01 01:01:01', TIMESTAMP WITH LOCAL 
> TIME ZONE '2011-01-01 01:01:01');
> SET TIME ZONE 'tz2';
> INSERT INTO timestamp VALUES ('2011-01-01 01:01:01', TIMESTAMP WITH LOCAL 
> TIME ZONE '2011-01-01 01:01:01');
> ...
> select * from timestamp;{noformat}
> returned rows need to be different in case of different tz1 and tz2 offsets 
> but they are equals for now. Also returned representation need to be present 
> in user session time zone.
> h5. Update from 26.02.2024:
> Definition of done for this task:
> * Client time zone is passed to server (check other database implementations 
> to decide how and when to pass it).
> * Data of type "TIMESTAMP With LOCAL TIME ZONE" can be written/read correctly 
> using the dynamic parameter.



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


[jira] [Updated] (IGNITE-21874) Log versions (java, ignite) to the server log at startup

2024-03-28 Thread Alexander Belyak (Jira)


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

Alexander Belyak updated IGNITE-21874:
--
Labels: ignite-3  (was: )

> Log versions (java, ignite) to the server log at startup
> 
>
> Key: IGNITE-21874
> URL: https://issues.apache.org/jira/browse/IGNITE-21874
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Affects Versions: 3.0.0-alpha5
>Reporter: Alexander Belyak
>Priority: Major
>  Labels: ignite-3
>
> We need to log some environments to the server log.
> 1) *OS* and {*}Java version{*}:
> AI2:
> {noformat}
>  OS: Linux 5.15.0-100-generic amd64
> [17:54:06] VM information: Java(TM) SE Runtime Environment 18.0.1.1+2-6 
> Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 18.0.1.1+2-6{noformat}
> AI3:
> {code:java}
> // Nothing
> {code}
> 2) Product version WITH *commit hash*
> AI2 (version and commit has):
> {noformat}
> ver. 2.16.0#20231215-sha1:7bde6a42{noformat}
> AI3 (only version):
> {noformat}
> Apache Ignite ver. 3.0.0-SNAPSHOT{noformat}
>  
>  
>  



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


[jira] [Updated] (IGNITE-21874) Log versions (java, ignite) to the server log at startup

2024-03-28 Thread Alexander Belyak (Jira)


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

Alexander Belyak updated IGNITE-21874:
--
Description: 
We need to log some environments to the server log.

1) *OS* and {*}Java version{*}:

AI2:
{noformat}
 OS: Linux 5.15.0-100-generic amd64
[17:54:06] VM information: Java(TM) SE Runtime Environment 18.0.1.1+2-6 Oracle 
Corporation Java HotSpot(TM) 64-Bit Server VM 18.0.1.1+2-6{noformat}
AI3:
{code:java}
// Nothing
{code}
2) Product version WITH *commit hash*

AI2 (version and commit has):
{noformat}
ver. 2.16.0#20231215-sha1:7bde6a42{noformat}
AI3 (only version):
{noformat}
Apache Ignite ver. 3.0.0-SNAPSHOT{noformat}
 

 

 

  was:
We need to log some environments to the server log.

1) *OS* and {*}Java version{*}:

AI2:

 
{noformat}
 OS: Linux 5.15.0-100-generic amd64
[17:54:06] VM information: Java(TM) SE Runtime Environment 18.0.1.1+2-6 Oracle 
Corporation Java HotSpot(TM) 64-Bit Server VM 18.0.1.1+2-6{noformat}
AI3:

 
{code:java}
// Nothing
{code}
2) Product version WITH *commit hash*

AI2 (version and commit has):

 
{noformat}
ver. 2.16.0#20231215-sha1:7bde6a42{noformat}
AI3 (only version):

 

 
{noformat}
Apache Ignite ver. 3.0.0-SNAPSHOT{noformat}
 

 

 


> Log versions (java, ignite) to the server log at startup
> 
>
> Key: IGNITE-21874
> URL: https://issues.apache.org/jira/browse/IGNITE-21874
> Project: Ignite
>  Issue Type: Improvement
>  Components: general
>Affects Versions: 3.0.0-alpha5
>Reporter: Alexander Belyak
>Priority: Major
>
> We need to log some environments to the server log.
> 1) *OS* and {*}Java version{*}:
> AI2:
> {noformat}
>  OS: Linux 5.15.0-100-generic amd64
> [17:54:06] VM information: Java(TM) SE Runtime Environment 18.0.1.1+2-6 
> Oracle Corporation Java HotSpot(TM) 64-Bit Server VM 18.0.1.1+2-6{noformat}
> AI3:
> {code:java}
> // Nothing
> {code}
> 2) Product version WITH *commit hash*
> AI2 (version and commit has):
> {noformat}
> ver. 2.16.0#20231215-sha1:7bde6a42{noformat}
> AI3 (only version):
> {noformat}
> Apache Ignite ver. 3.0.0-SNAPSHOT{noformat}
>  
>  
>  



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


[jira] [Created] (IGNITE-21874) Log versions (java, ignite) to the server log at startup

2024-03-28 Thread Alexander Belyak (Jira)
Alexander Belyak created IGNITE-21874:
-

 Summary: Log versions (java, ignite) to the server log at startup
 Key: IGNITE-21874
 URL: https://issues.apache.org/jira/browse/IGNITE-21874
 Project: Ignite
  Issue Type: Improvement
  Components: general
Affects Versions: 3.0.0-alpha5
Reporter: Alexander Belyak


We need to log some environments to the server log.

1) *OS* and {*}Java version{*}:

AI2:

 
{noformat}
 OS: Linux 5.15.0-100-generic amd64
[17:54:06] VM information: Java(TM) SE Runtime Environment 18.0.1.1+2-6 Oracle 
Corporation Java HotSpot(TM) 64-Bit Server VM 18.0.1.1+2-6{noformat}
AI3:

 
{code:java}
// Nothing
{code}
2) Product version WITH *commit hash*

AI2 (version and commit has):

 
{noformat}
ver. 2.16.0#20231215-sha1:7bde6a42{noformat}
AI3 (only version):

 

 
{noformat}
Apache Ignite ver. 3.0.0-SNAPSHOT{noformat}
 

 

 



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


[jira] [Updated] (IGNITE-21873) Sql. The insertion fails if the execution node buffer size is set to 1

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21873:
--
Description: 
This looks like a degenerate case, but it may still be worth addressing the 
issue.

To reproduce this issue you need to set {{Commons.IN_BUFFER_SIZE = 1}}.
And execute DML query, for example:
{code:java}
sql("CREATE TABLE test(id INT PRIMARY KEY)");
sql("INSERT INTO test VALUES (0), (1) ");
{code}

Result:
{noformat}
Caused by: java.lang.AssertionError
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.request(ModifyNode.java:130)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.flush(Outbox.java:326) 
~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.push(Outbox.java:166) 
~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.tryEnd(ModifyNode.java:206)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.lambda$flushTuples$1(ModifyNode.java:282)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:325)
 ~[main/:?]
{noformat}

The problem can be solved by swapping the following lines in the 
{{ModifyNode#tryEnd}} method.
{code:java}
downstream().push(context().rowHandler().factory(MODIFY_RESULT).create(updatedRows));

requested = 0; // must come before the 'push()' call
{code}



  was:
This seems like a degenerate case, but it may still be worth addressing the 
issue.
To reproduce this issue you need to set {{Commons.IN_BUFFER_SIZE = 1}}.
And execute DML query, for example:
{code:java}
sql("CREATE TABLE test(id INT PRIMARY KEY)");
sql("INSERT INTO test VALUES (0), (1) ");
{code}

Result:
{noformat}
Caused by: java.lang.AssertionError
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.request(ModifyNode.java:130)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.flush(Outbox.java:326) 
~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.push(Outbox.java:166) 
~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.tryEnd(ModifyNode.java:206)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.lambda$flushTuples$1(ModifyNode.java:282)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:325)
 ~[main/:?]
{noformat}

The problem can be solved by swapping the following lines in the 
{{ModifyNode#tryEnd}} method.
{code:java}
downstream().push(context().rowHandler().factory(MODIFY_RESULT).create(updatedRows));

requested = 0; // must come before the 'push()' call
{code}




> Sql. The insertion fails if the execution node buffer size is set to 1
> --
>
> Key: IGNITE-21873
> URL: https://issues.apache.org/jira/browse/IGNITE-21873
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Pavel Pereslegin
>Priority: Minor
>  Labels: ignite-3
>
> This looks like a degenerate case, but it may still be worth addressing the 
> issue.
> To reproduce this issue you need to set {{Commons.IN_BUFFER_SIZE = 1}}.
> And execute DML query, for example:
> {code:java}
> sql("CREATE TABLE test(id INT PRIMARY KEY)");
> sql("INSERT INTO test VALUES (0), (1) ");
> {code}
> Result:
> {noformat}
> Caused by: java.lang.AssertionError
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.request(ModifyNode.java:130)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.Outbox.flush(Outbox.java:326) 
> ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.Outbox.push(Outbox.java:166) 
> ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.tryEnd(ModifyNode.java:206)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.lambda$flushTuples$1(ModifyNode.java:282)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:325)
>  ~[main/:?]
> {noformat}
> The problem can be solved by swapping the following lines in the 
> {{ModifyNode#tryEnd}} method.
> {code:java}
> downstream().push(context().rowHandler().factory(MODIFY_RESULT).create(updatedRows));
> requested = 0; // must come before the 'push()' call
> {code}



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


[jira] [Created] (IGNITE-21873) Sql. The insertion fails if the execution node buffer size is set to 1

2024-03-28 Thread Pavel Pereslegin (Jira)
Pavel Pereslegin created IGNITE-21873:
-

 Summary: Sql. The insertion fails if the execution node buffer 
size is set to 1
 Key: IGNITE-21873
 URL: https://issues.apache.org/jira/browse/IGNITE-21873
 Project: Ignite
  Issue Type: Bug
  Components: sql
Reporter: Pavel Pereslegin


This seems like a degenerate case, but it may still be worth addressing the 
issue.
To reproduce this issue you need to set {{Commons.IN_BUFFER_SIZE = 1}}.
And execute DML query, for example:
{code:java}
sql("CREATE TABLE test(id INT PRIMARY KEY)");
sql("INSERT INTO test VALUES (0), (1) ");
{code}

Result:
{noformat}
Caused by: java.lang.AssertionError
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.request(ModifyNode.java:130)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.flush(Outbox.java:326) 
~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.Outbox.push(Outbox.java:166) 
~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.tryEnd(ModifyNode.java:206)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.rel.ModifyNode.lambda$flushTuples$1(ModifyNode.java:282)
 ~[main/:?]
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:325)
 ~[main/:?]
{noformat}

The problem can be solved by swapping the following lines in the 
{{ModifyNode#tryEnd}} method.
{code:java}
downstream().push(context().rowHandler().factory(MODIFY_RESULT).create(updatedRows));

requested = 0; // must come before the 'push()' call
{code}





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


[jira] [Updated] (IGNITE-21868) Move the sql RO inflights handling from SqlQueryProcessor to QueryTransactionContext#getOrStartImplicit/QueryTransactionWrapper#commitImplicit

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21868:
--
Description: Handling  the transaction inflights in the SqlQueryProcessor 
is not the best option,   (was: *)

> Move the sql RO inflights handling from SqlQueryProcessor to 
> QueryTransactionContext#getOrStartImplicit/QueryTransactionWrapper#commitImplicit
> --
>
> Key: IGNITE-21868
> URL: https://issues.apache.org/jira/browse/IGNITE-21868
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> Handling  the transaction inflights in the SqlQueryProcessor is not the best 
> option, 



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


[jira] [Updated] (IGNITE-21868) Move the sql RO inflights handling from SqlQueryProcessor to QueryTransactionContext#getOrStartImplicit/QueryTransactionWrapper#commitImplicit

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21868:
--
Description: Handling  the transaction inflights in the SqlQueryProcessor 
is not the best option, should be moved to QueryTransactionContext and 
QueryTransactionWrapper  (was: Handling  the transaction inflights in the 
SqlQueryProcessor is not the best option, )

> Move the sql RO inflights handling from SqlQueryProcessor to 
> QueryTransactionContext#getOrStartImplicit/QueryTransactionWrapper#commitImplicit
> --
>
> Key: IGNITE-21868
> URL: https://issues.apache.org/jira/browse/IGNITE-21868
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> Handling  the transaction inflights in the SqlQueryProcessor is not the best 
> option, should be moved to QueryTransactionContext and QueryTransactionWrapper



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


[jira] [Assigned] (IGNITE-21863) [PerfStat] OOM when using build-report.sh from performance statistics

2024-03-28 Thread Aleksey Plekhanov (Jira)


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

Aleksey Plekhanov reassigned IGNITE-21863:
--

Assignee: Aleksey Plekhanov

>  [PerfStat] OOM when using build-report.sh from performance statistics
> --
>
> Key: IGNITE-21863
> URL: https://issues.apache.org/jira/browse/IGNITE-21863
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.16
>Reporter: Luchnikov Alexander
>Assignee: Aleksey Plekhanov
>Priority: Minor
>  Labels: ise
>
> The problem is reproduced on a large volume collected using 
> {code:java}
> ./control.sh --performance-statistics
> {code}
> statistics, in our cases the total volume was 50GB.
> Increasing xmx to 64gb did not solve the problem.
> {code:java}
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at java.base/java.util.HashMap.resize(HashMap.java:700)
> at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
> at 
> org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
> {code}



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


[jira] [Assigned] (IGNITE-21567) Sql. Conversion from TIMESTAMP to TIMESTAMP_WITH_LOCAL_TIME_ZONE trims millis

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin reassigned IGNITE-21567:
-

Assignee: Pavel Pereslegin

> Sql. Conversion from TIMESTAMP to TIMESTAMP_WITH_LOCAL_TIME_ZONE trims millis
> -
>
> Key: IGNITE-21567
> URL: https://issues.apache.org/jira/browse/IGNITE-21567
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Pavel Pereslegin
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: ignite-3
>
> Conversion from TIMESTAMP to TIMESTAMP_WITH_LOCAL_TIME_ZONE loses precision
> {code:java}
> String ts  = "1992-01-18 02:30:00.123";
> assertQuery(format("select TIMESTAMP '{}'::TIMESTAMP WITH LOCAL TIME ZONE ", 
> ts))
> .returns(LocalDateTime.parse(ts, 
> DateTimeFormatter.ofPattern("-MM-dd HH:mm:ss.SSS"))
> .atZone(ZoneId.systemDefault())
> .toInstant())
> .check();
> // Expected: 1992-01-17T22:30:00.123Z 
> // Actual:   1992-01-17T22:30:00Z 
> {code}



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


[jira] [Assigned] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin reassigned IGNITE-21867:


Assignee: Alexander Lapin

> Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values



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


[jira] [Commented] (IGNITE-21768) Wrong key column serialization in ClientKeyValueView

2024-03-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21768:
-

Merged to main: c662f45bbe5c89626f1d6739afbf1198c286e1bb

> Wrong key column serialization in ClientKeyValueView
> 
>
> Key: IGNITE-21768
> URL: https://issues.apache.org/jira/browse/IGNITE-21768
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Attachments: ItTablePutGetThinWithMarshaller.java
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> *ClientKeyValueView.writeKeyValueRaw* was not updated as part of IGNITE-21525 
> changes and still uses key-first order.



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


[jira] [Commented] (IGNITE-21864) Provide cluster name in thin client

2024-03-28 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin commented on IGNITE-21864:


Merged to main: a4dac8ef738a9000bd24d50fb356333e3c6898f1

> Provide cluster name in thin client
> ---
>
> Key: IGNITE-21864
> URL: https://issues.apache.org/jira/browse/IGNITE-21864
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Vadim Pakhnushev
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Some clients could benefit from knowing cluster name, we already have it 
> received in the handshake process, let's provide it in the internal API.



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


[jira] [Resolved] (IGNITE-21864) Provide cluster name in thin client

2024-03-28 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin resolved IGNITE-21864.

Resolution: Fixed

> Provide cluster name in thin client
> ---
>
> Key: IGNITE-21864
> URL: https://issues.apache.org/jira/browse/IGNITE-21864
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Vadim Pakhnushev
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Some clients could benefit from knowing cluster name, we already have it 
> received in the handshake process, let's provide it in the internal API.



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


[jira] [Commented] (IGNITE-21768) Wrong key column serialization in ClientKeyValueView

2024-03-28 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-21768:
--

Looks good to me.

> Wrong key column serialization in ClientKeyValueView
> 
>
> Key: IGNITE-21768
> URL: https://issues.apache.org/jira/browse/IGNITE-21768
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Attachments: ItTablePutGetThinWithMarshaller.java
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> *ClientKeyValueView.writeKeyValueRaw* was not updated as part of IGNITE-21525 
> changes and still uses key-first order.



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


[jira] [Updated] (IGNITE-21870) SharedRocksDbInstance#sortedIndexes method is not thread-safe

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21870:
-
Fix Version/s: 3.0.0-beta2

> SharedRocksDbInstance#sortedIndexes method is not thread-safe
> -
>
> Key: IGNITE-21870
> URL: https://issues.apache.org/jira/browse/IGNITE-21870
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> It is possible to obtain a {{ConcurrentModificationException}} when calling 
> {{SharedRocksDbInstance#sortedIndexes}}, because it performs a scan over a 
> non-concurrent map that can actually be concurrently modified.



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


[jira] [Updated] (IGNITE-21872) Implement IgniteSql#executeBatchAsync() accepting Statement

2024-03-28 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21872:
---
Summary: Implement IgniteSql#executeBatchAsync() accepting Statement  (was: 
Implement IgniteSql#executeBatchAsync())

> Implement IgniteSql#executeBatchAsync() accepting Statement
> ---
>
> Key: IGNITE-21872
> URL: https://issues.apache.org/jira/browse/IGNITE-21872
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
>
> The method is not implemented now, it just throws 
> UnsupportedOperationException



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


[jira] [Created] (IGNITE-21872) Implement IgniteSql#executeBatchAsync()

2024-03-28 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-21872:
--

 Summary: Implement IgniteSql#executeBatchAsync()
 Key: IGNITE-21872
 URL: https://issues.apache.org/jira/browse/IGNITE-21872
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Roman Puchkovskiy


The method is not implemented now, it just throws UnsupportedOperationException



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


[jira] [Comment Edited] (IGNITE-21223) Add xml example WAL Records Compression

2024-03-28 Thread Aleksandr Nikolaev (Jira)


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

Aleksandr Nikolaev edited comment on IGNITE-21223 at 3/28/24 2:25 PM:
--

[~andreinadyktov] looks good
!walcompress.png|width=931,height=339!


was (Author: aonikolaev):
[~andreinadyktov] looks good
 !walcompress.png! 

> Add xml example WAL Records Compression 
> 
>
> Key: IGNITE-21223
> URL: https://issues.apache.org/jira/browse/IGNITE-21223
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Nikolaev
>Assignee: Andrei Nadyktov
>Priority: Major
>  Labels: ise, newbee
> Attachments: walcompress.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add xml example WAL Records Compression 
> [https://ignite.apache.org/docs/latest/persistence/native-persistence#wal-records-compression]



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


[jira] [Updated] (IGNITE-21223) Add xml example WAL Records Compression

2024-03-28 Thread Aleksandr Nikolaev (Jira)


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

Aleksandr Nikolaev updated IGNITE-21223:

Attachment: walcompress.png

> Add xml example WAL Records Compression 
> 
>
> Key: IGNITE-21223
> URL: https://issues.apache.org/jira/browse/IGNITE-21223
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Nikolaev
>Assignee: Andrei Nadyktov
>Priority: Major
>  Labels: ise, newbee
> Attachments: walcompress.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add xml example WAL Records Compression 
> [https://ignite.apache.org/docs/latest/persistence/native-persistence#wal-records-compression]



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


[jira] [Commented] (IGNITE-21223) Add xml example WAL Records Compression

2024-03-28 Thread Aleksandr Nikolaev (Jira)


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

Aleksandr Nikolaev commented on IGNITE-21223:
-

[~andreinadyktov] looks good
 !walcompress.png! 

> Add xml example WAL Records Compression 
> 
>
> Key: IGNITE-21223
> URL: https://issues.apache.org/jira/browse/IGNITE-21223
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Nikolaev
>Assignee: Andrei Nadyktov
>Priority: Major
>  Labels: ise, newbee
> Attachments: walcompress.png
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Add xml example WAL Records Compression 
> [https://ignite.apache.org/docs/latest/persistence/native-persistence#wal-records-compression]



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


[jira] [Updated] (IGNITE-21870) SharedRocksDbInstance#sortedIndexes method is not thread-safe

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21870:
-
Labels: ignite-3  (was: )

> SharedRocksDbInstance#sortedIndexes method is not thread-safe
> -
>
> Key: IGNITE-21870
> URL: https://issues.apache.org/jira/browse/IGNITE-21870
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Blocker
>  Labels: ignite-3
>
> It is possible to obtain a {{ConcurrentModificationException}} when calling 
> {{SharedRocksDbInstance#sortedIndexes}}, because it performs a scan over a 
> non-concurrent map that can actually be concurrently modified.



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


[jira] [Updated] (IGNITE-21870) SharedRocksDbInstance#sortedIndexes method is not thread-safe

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21870:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> SharedRocksDbInstance#sortedIndexes method is not thread-safe
> -
>
> Key: IGNITE-21870
> URL: https://issues.apache.org/jira/browse/IGNITE-21870
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Blocker
>
> It is possible to obtain a {{ConcurrentModificationException}} when calling 
> {{SharedRocksDbInstance#sortedIndexes}}, because it performs a scan over a 
> non-concurrent map that can actually be concurrently modified.



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


[jira] [Created] (IGNITE-21871) SharedRocksDbInstance#sortedIndexes method is not thread-safe

2024-03-28 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21871:


 Summary: SharedRocksDbInstance#sortedIndexes method is not 
thread-safe
 Key: IGNITE-21871
 URL: https://issues.apache.org/jira/browse/IGNITE-21871
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


It is possible to obtain a {{ConcurrentModificationException}} when calling 
{{SharedRocksDbInstance#sortedIndexes}}, because it performs a scan over a 
non-concurrent map that can actually be concurrently modified.



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


[jira] [Created] (IGNITE-21870) SharedRocksDbInstance#sortedIndexes method is not thread-safe

2024-03-28 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21870:


 Summary: SharedRocksDbInstance#sortedIndexes method is not 
thread-safe
 Key: IGNITE-21870
 URL: https://issues.apache.org/jira/browse/IGNITE-21870
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


It is possible to obtain a {{ConcurrentModificationException}} when calling 
{{SharedRocksDbInstance#sortedIndexes}}, because it performs a scan over a 
non-concurrent map that can actually be concurrently modified.



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


[jira] [Updated] (IGNITE-21131) Calcite engine. OR operator with dynamic parameters can't be used for index scans

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21131:
--
Labels: calcite ise  (was: calcite calcite3-required ise)

> Calcite engine. OR operator with dynamic parameters can't be used for index 
> scans
> -
>
> Key: IGNITE-21131
> URL: https://issues.apache.org/jira/browse/IGNITE-21131
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksey Plekhanov
>Assignee: Aleksey Plekhanov
>Priority: Major
>  Labels: calcite, ise
> Fix For: 2.17
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Calcite can compose OR operator with literals to SEARCH/SARG, and SEARCH/SARG 
> can be used for index scans. But we can't do this for OR operator with 
> dynamic parameters. 
> For example expression {{a IN (1, 2, 3)}} can be converted to {{a = 1 OR a = 
> 2 OR a = 3}} and after that can be converted to {{SEARCH(a, SARG(1, 2, 3))}}, 
> but expression {{a IN (?, ?, ?)}} can be converted only to {{a = ? OR a = ? 
> OR a = ?}} and can't be used for index scan.
> To fix this issue we can create ranges from dynamic parameters during 
> planning, sort and remove intersections from these ranges in runtime.
>  



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


[jira] [Resolved] (IGNITE-21544) Amend SQL related thread pools.

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin resolved IGNITE-21544.
---
Resolution: Won't Do

Fixed in IGNITE-21669

> Amend SQL related  thread pools.
> 
>
> Key: IGNITE-21544
> URL: https://issues.apache.org/jira/browse/IGNITE-21544
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Iurii Gerzhedovich
>Priority: Major
>  Labels: ignite-3
>
> As of now SQL module have 3 thread-pools. In order to minimize number of 
> threads/threadspool let's get rid of sql-session-cleanup threadpool . The 
> works by cleanup sessions can be delegated to 
> ThreadPoolsManager.commonScheduler



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


[jira] [Updated] (IGNITE-21869) Prevent thread hijacking via IgniteSql

2024-03-28 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy updated IGNITE-21869:
---
Description: Methods of IgniteSql that return CompletableFutures must wrap 
their return value with PublicApiThreading#preventThreadHijack(). Also, tests 
need to be created (similar to ItKvRecordApiThreadingTest).  (was: Methods of 
IgniteTransactions that return CompletableFutures must wrap their return value 
with PublicApiThreading#preventThreadHijack(). Also, tests need to be created 
(similar to ItKvRecordApiThreadingTest).)

> Prevent thread hijacking via IgniteSql
> --
>
> Key: IGNITE-21869
> URL: https://issues.apache.org/jira/browse/IGNITE-21869
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3, threading
>
> Methods of IgniteSql that return CompletableFutures must wrap their return 
> value with PublicApiThreading#preventThreadHijack(). Also, tests need to be 
> created (similar to ItKvRecordApiThreadingTest).



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


[jira] [Created] (IGNITE-21869) Prevent thread hijacking via IgniteSql

2024-03-28 Thread Roman Puchkovskiy (Jira)
Roman Puchkovskiy created IGNITE-21869:
--

 Summary: Prevent thread hijacking via IgniteSql
 Key: IGNITE-21869
 URL: https://issues.apache.org/jira/browse/IGNITE-21869
 Project: Ignite
  Issue Type: Improvement
Reporter: Roman Puchkovskiy
Assignee: Roman Puchkovskiy


Methods of IgniteTransactions that return CompletableFutures must wrap their 
return value with PublicApiThreading#preventThreadHijack(). Also, tests need to 
be created (similar to ItKvRecordApiThreadingTest).



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


[jira] [Updated] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21867:
-
Description: 
h3. Motivation

RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but actually 
it's a business operation one. Within the context of replicaService, there are 
legitimate reasons for operation to be processed longer than current timeout of 
3 seconds, basically it should be possible to wait indefinitely until the 
transaction times out. But because we don't have transaction timeout and 
because of possible bugs it seems reasonable to have an operation processing 
timeout "watchdog" with finite but relatively big configurable value.
h3. Definition of Done
 * Add ability to configure ReplicaService#RPC_TIMEOUT and 
TxMessageSender#RPC_TIMEOUT and increase the default values

  was:
h3. Motivation

RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but actually 
it's a business operation one. Within the context of replicaService, there are 
legitimate reasons for operation to be processed longer than current timeout of 
3 seconds, basically it should be possible to wait indefinitely until the 
transaction times out. But because we don't have transaction timeout and 
because of possible bugs it seems reasonable to have an operation processing 
timeout "watchdog" with finite but relatively big configurable value.
h3. Definition of Done


> Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Priority: Major
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values



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


[jira] [Updated] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

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

> Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values



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


[jira] [Updated] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21867:
-
Description: 
h3. Motivation

RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but actually 
it's a business operation one. Within the context of replicaService, there are 
legitimate reasons for operation to be processed longer than current timeout of 
3 seconds, basically it should be possible to wait indefinitely until the 
transaction times out. But because we don't have transaction timeout and 
because of possible bugs it seems reasonable to have an operation processing 
timeout "watchdog" with finite but relatively big configurable value.
h3. Definition of Done

  was:
h3. Motivation

RPC_TIMEOUT  is actually but a business operation timeout, thus it should be 
configured separately depending on the operation type.


> Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Priority: Major
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done



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


[jira] [Updated] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

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

> Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> RPC_TIMEOUT was mistakenly recognized as a network layer timeout, but 
> actually it's a business operation one. Within the context of replicaService, 
> there are legitimate reasons for operation to be processed longer than 
> current timeout of 3 seconds, basically it should be possible to wait 
> indefinitely until the transaction times out. But because we don't have 
> transaction timeout and because of possible bugs it seems reasonable to have 
> an operation processing timeout "watchdog" with finite but relatively big 
> configurable value.
> h3. Definition of Done
>  * Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values



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


[jira] [Updated] (IGNITE-21382) Test ItPrimaryReplicaChoiceTest.testPrimaryChangeLongHandling is flaky

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21382:
--
Reviewer: Vladislav Pyatkov

> Test ItPrimaryReplicaChoiceTest.testPrimaryChangeLongHandling is flaky
> --
>
> Key: IGNITE-21382
> URL: https://issues.apache.org/jira/browse/IGNITE-21382
> Project: Ignite
>  Issue Type: Bug
>Reporter: Vladislav Pyatkov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> The test falls while waiting for the primary replica change. This issue is 
> also reproduced locally, at least one per five passes.
> {code}
> assertThat(primaryChangeTask, willCompleteSuccessfully());
> {code}
> {noformat}
> 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.placementdriver.ItPrimaryReplicaChoiceTest.testPrimaryChangeLongHandling(ItPrimaryReplicaChoiceTest.java:179)
> {noformat}
> This test will be muted on TC to pervent future falls.



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


[jira] [Assigned] (IGNITE-21763) Adjust TxnResourceVacuumTask in order to vacuum persistent txn state

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov reassigned IGNITE-21763:
-

Assignee: Denis Chudov  (was: Alexander Lapin)

> Adjust TxnResourceVacuumTask in order to vacuum persistent txn state
> 
>
> Key: IGNITE-21763
> URL: https://issues.apache.org/jira/browse/IGNITE-21763
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>
> h3. Definition of Done
>  * TxnResourceVacuumTask is adjusted in a way that 
>  ** txnState is removed from txnStateVolatileMap if 
> {*}max{*}(cleanupCompletionTimestamp, initialVacuumObservationTimestamp) + 
> txnResourcesTTL < vacuumObservationTimestamp
>  ** If there's a value in cleanupCompletionTimestamp, prior to removal the 
> txnState from the volatile map it's required to remove corresponding record 
> from within txn persistant state storage.



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


[jira] [Commented] (IGNITE-21808) CREATE ZONE syntax must work with any the case of zone name

2024-03-28 Thread Mikhail Efremov (Jira)


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

Mikhail Efremov commented on IGNITE-21808:
--

[~korlov] could you take a look too?

> CREATE ZONE syntax must work with any the case of zone name
> ---
>
> Key: IGNITE-21808
> URL: https://issues.apache.org/jira/browse/IGNITE-21808
> Project: Ignite
>  Issue Type: Bug
>Reporter: Mirza Aliev
>Assignee: Mikhail Efremov
>Priority: Major
>  Labels: ignite-3, sql
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> h3. Steps to reproduce
> If we try to run such code
> {code:java}
> cluster.doInSession(0, session -> {
> session.execute(null, "CREATE ZONE test_zone");
> session.execute(null, "CREATE TABLE TEST (id INT PRIMARY KEY, 
> name INT) WITH PRIMARY_ZONE='test_zone'");
> });
> {code}
> It fails with {{Failed to validate query. Distribution zone with name 
> 'test_zone' not found,}}
> but works if zone name is in upper case
> This behaviour must be changed.
> h3. Definition of done
>  * Zone name must support any case, not only upper case
>  * Corresponding tests must be added



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


[jira] [Created] (IGNITE-21868) Move the sql RO inflights handling from SqlQueryProcessor to QueryTransactionContext#getOrStartImplicit/QueryTransactionWrapper#commitImplicit

2024-03-28 Thread Denis Chudov (Jira)
Denis Chudov created IGNITE-21868:
-

 Summary: Move the sql RO inflights handling from SqlQueryProcessor 
to 
QueryTransactionContext#getOrStartImplicit/QueryTransactionWrapper#commitImplicit
 Key: IGNITE-21868
 URL: https://issues.apache.org/jira/browse/IGNITE-21868
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Chudov
Assignee: Denis Chudov


*



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


[jira] [Updated] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)


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

Alexander Lapin updated IGNITE-21867:
-
Description: 
h3. Motivation

RPC_TIMEOUT  is actually but a business operation timeout, thus it should be 
configured separately depending on the operation type.

> Add ability to configure ReplicaService#RPC_TIMEOUT and 
> TxMessageSender#RPC_TIMEOUT and increase the default values
> ---
>
> Key: IGNITE-21867
> URL: https://issues.apache.org/jira/browse/IGNITE-21867
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Alexander Lapin
>Priority: Major
>
> h3. Motivation
> RPC_TIMEOUT  is actually but a business operation timeout, thus it should be 
> configured separately depending on the operation type.



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


[jira] [Created] (IGNITE-21867) Add ability to configure ReplicaService#RPC_TIMEOUT and TxMessageSender#RPC_TIMEOUT and increase the default values

2024-03-28 Thread Alexander Lapin (Jira)
Alexander Lapin created IGNITE-21867:


 Summary: Add ability to configure ReplicaService#RPC_TIMEOUT and 
TxMessageSender#RPC_TIMEOUT and increase the default values
 Key: IGNITE-21867
 URL: https://issues.apache.org/jira/browse/IGNITE-21867
 Project: Ignite
  Issue Type: Improvement
Reporter: Alexander Lapin






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


[jira] [Updated] (IGNITE-21862) Rename table catalog command must also rename the PK index

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21862:
-
Description: {{RenameTableCommand}} is used to rename a table. However, it 
does not rename its primary key, which is tied to the table's name. This leads 
to a bug, for example, when you rename a table and create a new table with the 
old name an exception is thrown indicating that an index with this name already 
exists.

> Rename table catalog command must also rename the PK index
> --
>
> Key: IGNITE-21862
> URL: https://issues.apache.org/jira/browse/IGNITE-21862
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> {{RenameTableCommand}} is used to rename a table. However, it does not rename 
> its primary key, which is tied to the table's name. This leads to a bug, for 
> example, when you rename a table and create a new table with the old name an 
> exception is thrown indicating that an index with this name already exists.



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


[jira] [Commented] (IGNITE-20731) Exception "The primary replica has changed" on big amount of rows

2024-03-28 Thread Alexander Belyak (Jira)


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

Alexander Belyak commented on IGNITE-20731:
---

[~slava.koptilin] I'm unable to reproduce it on a fresh main branch.

> Exception "The primary replica has changed" on big amount of rows
> -
>
> Key: IGNITE-20731
> URL: https://issues.apache.org/jira/browse/IGNITE-20731
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Affects Versions: 3.0.0-beta2
>Reporter: Igor
>Priority: Major
>  Labels: ignite-3
>
> *Steps to reproduce:*
> 1. Start cluster with 1 node with JVM options: "-Xms4096m -Xmx4096m"
> 2. Execute
> {code:java}
> create table rows_capacity_table(id INTEGER not null, column_1 VARCHAR(50) 
> not null, column_2 VARCHAR(50) not null, column_3 VARCHAR(50) not null, 
> column_4 VARCHAR(50) not null, primary key (id)) {code}
> 3. Insert rows into table up to 1 000 000 rows.
> *Expected result:*
> Rows are inserted.
> *Actual result:*
> After 733000 rows the exception is thrown.
> Client:
> {code:java}
> java.sql.BatchUpdateException: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:9b8ef95a-bbbe-48cf-9c94-2e80d01c2033 The primary replica 
> has changed [expectedLeaseholder=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholder=null]
>   at 
> org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:155)
>  {code}
> Server:
> {code:java}
> 2023-10-23 13:47:31:529 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_12]
> 2023-10-23 13:47:31:532 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_20]
> 2023-10-23 13:47:31:536 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_24]
> 2023-10-23 13:47:31:539 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_16]
> 2023-10-23 13:47:31:699 +0300 
> [WARNING][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-3][ReplicaManager]
>  Failed to process replica request [request=TxFinishReplicaRequestImpl 
> [commit=false, commitTimestampLong=111283931920007204, groupId=5_part_24, 
> groups=HashSet [5_part_5, 5_part_4, 5_part_7, 5_part_6, 5_part_1, 5_part_0, 
> 5_part_3, 5_part_2, 5_part_13, 5_part_12, 5_part_15, 5_part_14, 5_part_9, 
> 5_part_8, 5_part_11, 5_part_10, 5_part_21, 5_part_20, 5_part_23, 5_part_22, 
> 5_part_17, 5_part_16, 5_part_19, 5_part_18, 5_part_24], 
> term=111283839559532593, timestampLong=111283932466315264, 
> txId=018b5c25-7653---23c06ab5]]
> java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:9b8ef95a-bbbe-48cf-9c94-2e80d01c2033 The primary replica 
> has changed [expectedLeaseholder=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholder=null]
>   at 
> java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
>   at 
> java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
>   at 
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1074)
>   at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>   at 
> java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.lambda$completeWaitersOnUpdate$0(PendingComparableValuesTracker.java:169)
>   at 
> java.base/java.util.concurrent.ConcurrentMap.forEach(ConcurrentMap.java:122)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.completeWaitersOnUpdate(PendingComparableValuesTracker.java:169)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.update(PendingComparableValuesTracker.java:103)
>   at 
> org.apache.ignite.internal.metastorage.server.time.ClusterTimeImpl.updateSafeTime(ClusterTimeImpl.java:146)
>   at 
> org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl.onSafeTimeAdvanced(MetaStorageManagerImpl.java:849)
>   at 
> org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl$1.onSafeTimeAdvanced(MetaStorageManagerImpl.java:456)
>   at 
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$advanceSafeTime$7(WatchProcessor.java:281)
>   at 
> 

[jira] [Resolved] (IGNITE-20731) Exception "The primary replica has changed" on big amount of rows

2024-03-28 Thread Alexander Belyak (Jira)


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

Alexander Belyak resolved IGNITE-20731.
---
Resolution: Cannot Reproduce

> Exception "The primary replica has changed" on big amount of rows
> -
>
> Key: IGNITE-20731
> URL: https://issues.apache.org/jira/browse/IGNITE-20731
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Affects Versions: 3.0.0-beta2
>Reporter: Igor
>Priority: Major
>  Labels: ignite-3
>
> *Steps to reproduce:*
> 1. Start cluster with 1 node with JVM options: "-Xms4096m -Xmx4096m"
> 2. Execute
> {code:java}
> create table rows_capacity_table(id INTEGER not null, column_1 VARCHAR(50) 
> not null, column_2 VARCHAR(50) not null, column_3 VARCHAR(50) not null, 
> column_4 VARCHAR(50) not null, primary key (id)) {code}
> 3. Insert rows into table up to 1 000 000 rows.
> *Expected result:*
> Rows are inserted.
> *Actual result:*
> After 733000 rows the exception is thrown.
> Client:
> {code:java}
> java.sql.BatchUpdateException: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:9b8ef95a-bbbe-48cf-9c94-2e80d01c2033 The primary replica 
> has changed [expectedLeaseholder=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholder=null]
>   at 
> org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:155)
>  {code}
> Server:
> {code:java}
> 2023-10-23 13:47:31:529 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_12]
> 2023-10-23 13:47:31:532 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_20]
> 2023-10-23 13:47:31:536 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_24]
> 2023-10-23 13:47:31:539 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_16]
> 2023-10-23 13:47:31:699 +0300 
> [WARNING][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-3][ReplicaManager]
>  Failed to process replica request [request=TxFinishReplicaRequestImpl 
> [commit=false, commitTimestampLong=111283931920007204, groupId=5_part_24, 
> groups=HashSet [5_part_5, 5_part_4, 5_part_7, 5_part_6, 5_part_1, 5_part_0, 
> 5_part_3, 5_part_2, 5_part_13, 5_part_12, 5_part_15, 5_part_14, 5_part_9, 
> 5_part_8, 5_part_11, 5_part_10, 5_part_21, 5_part_20, 5_part_23, 5_part_22, 
> 5_part_17, 5_part_16, 5_part_19, 5_part_18, 5_part_24], 
> term=111283839559532593, timestampLong=111283932466315264, 
> txId=018b5c25-7653---23c06ab5]]
> java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:9b8ef95a-bbbe-48cf-9c94-2e80d01c2033 The primary replica 
> has changed [expectedLeaseholder=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholder=null]
>   at 
> java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
>   at 
> java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
>   at 
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1074)
>   at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>   at 
> java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.lambda$completeWaitersOnUpdate$0(PendingComparableValuesTracker.java:169)
>   at 
> java.base/java.util.concurrent.ConcurrentMap.forEach(ConcurrentMap.java:122)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.completeWaitersOnUpdate(PendingComparableValuesTracker.java:169)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.update(PendingComparableValuesTracker.java:103)
>   at 
> org.apache.ignite.internal.metastorage.server.time.ClusterTimeImpl.updateSafeTime(ClusterTimeImpl.java:146)
>   at 
> org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl.onSafeTimeAdvanced(MetaStorageManagerImpl.java:849)
>   at 
> org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl$1.onSafeTimeAdvanced(MetaStorageManagerImpl.java:456)
>   at 
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$advanceSafeTime$7(WatchProcessor.java:281)
>   at 
> 

[jira] [Commented] (IGNITE-21864) Provide cluster name in thin client

2024-03-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21864:
-

[~vpakhnushev] looks good to me.

> Provide cluster name in thin client
> ---
>
> Key: IGNITE-21864
> URL: https://issues.apache.org/jira/browse/IGNITE-21864
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Vadim Pakhnushev
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Some clients could benefit from knowing cluster name, we already have it 
> received in the handshake process, let's provide it in the internal API.



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


[jira] [Updated] (IGNITE-21864) Provide cluster name in thin client

2024-03-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21864:

Fix Version/s: 3.0.0-beta2

> Provide cluster name in thin client
> ---
>
> Key: IGNITE-21864
> URL: https://issues.apache.org/jira/browse/IGNITE-21864
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Vadim Pakhnushev
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Some clients could benefit from knowing cluster name, we already have it 
> received in the handshake process, let's provide it in the internal API.



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


[jira] [Created] (IGNITE-21866) Calcite engine. Add memory quotas control for Cursor.getAll() method

2024-03-28 Thread Aleksey Plekhanov (Jira)
Aleksey Plekhanov created IGNITE-21866:
--

 Summary: Calcite engine. Add memory quotas control for 
Cursor.getAll() method 
 Key: IGNITE-21866
 URL: https://issues.apache.org/jira/browse/IGNITE-21866
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksey Plekhanov
Assignee: Aleksey Plekhanov


Cursor.getAll() method can collect a lot of rows before return result to the 
user and can cause OOM errors. We should control memory consumption for 
Cursor.getAll() the same way as we do for execution nodes. 



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


[jira] [Updated] (IGNITE-21865) [PerfStat] Add metadata about tables, columns, indexes

2024-03-28 Thread Luchnikov Alexander (Jira)


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

Luchnikov Alexander updated IGNITE-21865:
-
Labels: ise  (was: )

> [PerfStat] Add metadata about tables, columns, indexes
> --
>
> Key: IGNITE-21865
> URL: https://issues.apache.org/jira/browse/IGNITE-21865
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Luchnikov Alexander
>Priority: Minor
>  Labels: ise
>
> The PerfStat report contains information about which SQL queries were 
> executed and what their execution plan was. But there is no information about 
> what tables are in the cluster, what columns are in the tables, what indexes 
> are created.
> In our case, we had to request additional information about tables and 
> indexes to understand the cause of the problematic query plan. Used:
> {code:java}
> ./control.sh --system-view TABLES
> ./control.sh --system-view TABLES_COLUMNS
> ./control.sh --system-view INDEXES
> {code}



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


[jira] [Created] (IGNITE-21864) Provide cluster name in thin client

2024-03-28 Thread Vadim Pakhnushev (Jira)
Vadim Pakhnushev created IGNITE-21864:
-

 Summary: Provide cluster name in thin client
 Key: IGNITE-21864
 URL: https://issues.apache.org/jira/browse/IGNITE-21864
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Vadim Pakhnushev
Assignee: Vadim Pakhnushev


Some clients could benefit from knowing cluster name, we already have it 
received in the handshake process, let's provide it in the internal API.



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


[jira] [Created] (IGNITE-21865) [PerfStat] Add metadata about tables, columns, indexes

2024-03-28 Thread Luchnikov Alexander (Jira)
Luchnikov Alexander created IGNITE-21865:


 Summary: [PerfStat] Add metadata about tables, columns, indexes
 Key: IGNITE-21865
 URL: https://issues.apache.org/jira/browse/IGNITE-21865
 Project: Ignite
  Issue Type: Improvement
Reporter: Luchnikov Alexander


The PerfStat report contains information about which SQL queries were executed 
and what their execution plan was. But there is no information about what 
tables are in the cluster, what columns are in the tables, what indexes are 
created.

In our case, we had to request additional information about tables and indexes 
to understand the cause of the problematic query plan. Used:
{code:java}
./control.sh --system-view TABLES
./control.sh --system-view TABLES_COLUMNS
./control.sh --system-view INDEXES
{code}




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


[jira] [Updated] (IGNITE-21820) Sql. Test framework. Activate indices created via TestNode::initSchema script.

2024-03-28 Thread Konstantin Orlov (Jira)


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

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

> Sql. Test framework. Activate indices created via TestNode::initSchema script.
> --
>
> Key: IGNITE-21820
> URL: https://issues.apache.org/jira/browse/IGNITE-21820
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Maksim Zhuravkov
>Assignee: Maksim Zhuravkov
>Priority: Minor
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> We should activate indices defined in init script, otherwise execution of 
> this script hangs indefinitely.



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


[jira] [Updated] (IGNITE-21863) [PerfStat] OOM when using build-report.sh from performance statistics

2024-03-28 Thread Luchnikov Alexander (Jira)


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

Luchnikov Alexander updated IGNITE-21863:
-
Summary:  [PerfStat] OOM when using build-report.sh from performance 
statistics  (was:  OOM when using build-report.sh from performance statistics)

>  [PerfStat] OOM when using build-report.sh from performance statistics
> --
>
> Key: IGNITE-21863
> URL: https://issues.apache.org/jira/browse/IGNITE-21863
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.16
>Reporter: Luchnikov Alexander
>Priority: Minor
>  Labels: ise
>
> The problem is reproduced on a large volume collected using 
> {code:java}
> ./control.sh --performance-statistics
> {code}
> statistics, in our cases the total volume was 50GB.
> Increasing xmx to 64gb did not solve the problem.
> {code:java}
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at java.base/java.util.HashMap.resize(HashMap.java:700)
> at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
> at 
> org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
> {code}



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


[jira] [Updated] (IGNITE-21863) OOM when using build-report.sh from performance statistics

2024-03-28 Thread Luchnikov Alexander (Jira)


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

Luchnikov Alexander updated IGNITE-21863:
-
Labels: ise  (was: )

>  OOM when using build-report.sh from performance statistics
> ---
>
> Key: IGNITE-21863
> URL: https://issues.apache.org/jira/browse/IGNITE-21863
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.16
>Reporter: Luchnikov Alexander
>Priority: Minor
>  Labels: ise
>
> The problem is reproduced on a large volume collected using 
> {code:java}
> ./control.sh --performance-statistics
> {code}
> statistics, in our cases the total volume was 50GB.
> Increasing xmx to 64gb did not solve the problem.
> {code:java}
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at java.base/java.util.HashMap.resize(HashMap.java:700)
> at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
> at 
> org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
> {code}



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


[jira] [Updated] (IGNITE-21863) OOM when using build-report.sh from performance statistics

2024-03-28 Thread Luchnikov Alexander (Jira)


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

Luchnikov Alexander updated IGNITE-21863:
-
Description: 
The problem is reproduced on a large volume collected using 
{code:java}
./control.sh --performance-statistics
{code}
statistics, in our cases the total volume was 50GB.

Increasing xmx to 64gb did not solve the problem.

{code:java}
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.HashMap.resize(HashMap.java:700)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
at 
org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
at 
org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
at 
org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
at 
org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
at 
org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
{code}


  was:
The problem is reproduced on a large volume collected using 
{code:java}
control.sh --performance-statistics
{code}
statistics, in our cases the total volume was 50GB.

Increasing xmx to 64gb did not solve the problem.

{code:java}
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.HashMap.resize(HashMap.java:700)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
at 
org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
at 
org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
at 
org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
at 
org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
at 
org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
{code}



>  OOM when using build-report.sh from performance statistics
> ---
>
> Key: IGNITE-21863
> URL: https://issues.apache.org/jira/browse/IGNITE-21863
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.16
>Reporter: Luchnikov Alexander
>Priority: Minor
>
> The problem is reproduced on a large volume collected using 
> {code:java}
> ./control.sh --performance-statistics
> {code}
> statistics, in our cases the total volume was 50GB.
> Increasing xmx to 64gb did not solve the problem.
> {code:java}
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at java.base/java.util.HashMap.resize(HashMap.java:700)
> at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
> at 
> org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
> {code}



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


[jira] [Created] (IGNITE-21863) OOM when using build-report.sh from performance statistics

2024-03-28 Thread Luchnikov Alexander (Jira)
Luchnikov Alexander created IGNITE-21863:


 Summary:  OOM when using build-report.sh from performance 
statistics
 Key: IGNITE-21863
 URL: https://issues.apache.org/jira/browse/IGNITE-21863
 Project: Ignite
  Issue Type: Improvement
Affects Versions: 2.16
Reporter: Luchnikov Alexander


The problem is reproduced on a large volume collected using 
{code:java}
control.sh --performance-statistics
{code}
statistics, in our cases the total volume was 50GB.

Increasing xmx to 64gb did not solve the problem.

{code:java}
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.base/java.util.HashMap.resize(HashMap.java:700)
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
at 
org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
at 
org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
at 
org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
at 
org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
at 
org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
{code}




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


[jira] [Updated] (IGNITE-21863) OOM when using build-report.sh from performance statistics

2024-03-28 Thread Luchnikov Alexander (Jira)


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

Luchnikov Alexander updated IGNITE-21863:
-
Ignite Flags: Release Notes Required  (was: Docs Required,Release Notes 
Required)

>  OOM when using build-report.sh from performance statistics
> ---
>
> Key: IGNITE-21863
> URL: https://issues.apache.org/jira/browse/IGNITE-21863
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 2.16
>Reporter: Luchnikov Alexander
>Priority: Minor
>
> The problem is reproduced on a large volume collected using 
> {code:java}
> control.sh --performance-statistics
> {code}
> statistics, in our cases the total volume was 50GB.
> Increasing xmx to 64gb did not solve the problem.
> {code:java}
> Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
> at java.base/java.util.HashMap.resize(HashMap.java:700)
> at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1112)
> at 
> org.apache.ignite.internal.performancestatistics.handlers.QueryHandler.queryProperty(QueryHandler.java:160)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.deserialize(FilePerformanceStatisticsReader.java:345)
> at 
> org.apache.ignite.internal.processors.performancestatistics.FilePerformanceStatisticsReader.read(FilePerformanceStatisticsReader.java:169)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.createReport(PerformanceStatisticsReportBuilder.java:124)
> at 
> org.apache.ignite.internal.performancestatistics.PerformanceStatisticsReportBuilder.main(PerformanceStatisticsReportBuilder.java:69)
> {code}



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


[jira] [Resolved] (IGNITE-21684) Sql. Exception from a scan operation is not correctly propagated if OrderedPublisher is used.

2024-03-28 Thread Konstantin Orlov (Jira)


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

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

Was fixed in IGNITE-20126

> Sql. Exception from a scan operation is not correctly propagated if 
> OrderedPublisher is used.
> -
>
> Key: IGNITE-21684
> URL: https://issues.apache.org/jira/browse/IGNITE-21684
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Maksim Zhuravkov
>Assignee: Konstantin Orlov
>Priority: Minor
>  Labels: ignite-3
>
> The root cause of an exception thrown from an sorted index scan operation is 
> lost.
> Reproducer can be found in 
> ItSchemaSyncSingleNodeTest::readWriteOperationAfterDroppingTargetTableIsRejected
>  (change a primary key index to a sorted one get such error).
> {code:java}
>  java.lang.AssertionError: 
>  Expected: a string containing "Table was dropped [table=6]"
>  but: was null
>  Expected :a string containing "Table was dropped [table=6]"
>  Actual   :null
> {code}
> Although a stack trace on a server includes that error:
> {code:java}
> Suppressed: java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.table.distributed.replicator.IncompatibleSchemaException:
>  IGN-TX-12 TraceId:68590499-47c7-46a9-bd5a-d75f2090aebc Table was dropped 
> [table=6]
> {code}



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


[jira] [Updated] (IGNITE-21684) Sql. Exception from a scan operation is not correctly propagated if OrderedPublisher is used.

2024-03-28 Thread Konstantin Orlov (Jira)


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

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

> Sql. Exception from a scan operation is not correctly propagated if 
> OrderedPublisher is used.
> -
>
> Key: IGNITE-21684
> URL: https://issues.apache.org/jira/browse/IGNITE-21684
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Maksim Zhuravkov
>Assignee: Konstantin Orlov
>Priority: Minor
>  Labels: ignite-3
>
> The root cause of an exception thrown from an sorted index scan operation is 
> lost.
> Reproducer can be found in 
> ItSchemaSyncSingleNodeTest::readWriteOperationAfterDroppingTargetTableIsRejected
>  (change a primary key index to a sorted one get such error).
> {code:java}
>  java.lang.AssertionError: 
>  Expected: a string containing "Table was dropped [table=6]"
>  but: was null
>  Expected :a string containing "Table was dropped [table=6]"
>  Actual   :null
> {code}
> Although a stack trace on a server includes that error:
> {code:java}
> Suppressed: java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.table.distributed.replicator.IncompatibleSchemaException:
>  IGN-TX-12 TraceId:68590499-47c7-46a9-bd5a-d75f2090aebc Table was dropped 
> [table=6]
> {code}



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


[jira] [Created] (IGNITE-21862) Rename table catalog command must also rename the PK index

2024-03-28 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21862:


 Summary: Rename table catalog command must also rename the PK index
 Key: IGNITE-21862
 URL: https://issues.apache.org/jira/browse/IGNITE-21862
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Commented] (IGNITE-21849) Prevent thread hijacking via IgniteTables

2024-03-28 Thread Roman Puchkovskiy (Jira)


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

Roman Puchkovskiy commented on IGNITE-21849:


Thanks

> Prevent thread hijacking via IgniteTables
> -
>
> Key: IGNITE-21849
> URL: https://issues.apache.org/jira/browse/IGNITE-21849
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3, threading
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Methods of IgniteTables that return CompletableFutures must wrap their return 
> value with PublicApiThreading#preventThreadHijack(). Also, tests need to be 
> created (similar to ItKvRecordApiThreadingTest).



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


[jira] [Updated] (IGNITE-18590) Transaction recovery tries rollback a tx concurrently with committing it

2024-03-28 Thread Dmitry Pavlov (Jira)


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

Dmitry Pavlov updated IGNITE-18590:
---
Labels: ise  (was: )

> Transaction recovery tries rollback a tx concurrently with committing it
> 
>
> Key: IGNITE-18590
> URL: https://issues.apache.org/jira/browse/IGNITE-18590
> Project: Ignite
>  Issue Type: Bug
>Reporter: Maksim Timonin
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: ise
> Fix For: 2.15
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> This is a bug introduced in the patch 
> [https://github.com/apache/ignite/pull/8822.]
> When a transaction commits on primary node during TxRecovery procedure, it 
> also sends rollback request (GridDhtTxFinishRequest#commit = false) on backup 
> nodes.
> Then it's possible that such a request (commit = false) reaches a backup node 
> earlier than GridCacheTxRecoveryResponse(commit = true).  Then primary node 
> will commit the transaction, and backup node rollbacks it. Then cluster will 
> be in inconsistent state.



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


[jira] [Updated] (IGNITE-21330) Sql. Index is not used for IN predicate with column type of UUID

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21330:
--
Fix Version/s: 3.0.0-beta2

> Sql. Index is not used for IN predicate with column type of UUID
> 
>
> Key: IGNITE-21330
> URL: https://issues.apache.org/jira/browse/IGNITE-21330
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> See ItUuidIndexTest#testInLookUp, false scan is used in execution although 
> index is available.
> The query is 
> {code:java}
> SELECT *
>   FROM t
>  WHERE test_key IN ('--0001--0001'::UUID, 
> '--0003--0001'::UUID)
>  ORDER BY id
> {code}
> and the plan is 
> {code:java}
> IgniteExchange(distribution=[single])
>   IgniteSort(sort0=[$0], dir0=[ASC])
> IgniteTableScan(table=[[PUBLIC, T]], tableId=[6], filters=[OR(=($t1, 
> CAST(_UTF-8'--0001--0001'):UUID NOT NULL), =($t1, 
> CAST(_UTF-8'--0003--0001'):UUID NOT NULL))], 
> requiredColumns=[{0, 1}])
> {code}
> h4. Update
> The issue is raised after rule {{LogicalOrToUnionRule}} has been disabled. 
> Without this rule, the index was not used, because SARG can only be assembled 
> from constants, and since there is no UUID literal, we end up with an OR 
> operator that was not supported when assembling search boundaries for the 
> index.
> A solution to the problem of OR operator support is described in the pull 
> request ([#3407|https://github.com/apache/ignite-3/pull/3407]).



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


[jira] [Updated] (IGNITE-21722) Sql. NPE in correlated nested loop join

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21722:
--
Description: 
See stack trace below:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
... 4 more

{code}

To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster

*Update*

The following sequence occurs:

#  {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream (FilterNode). 
See {{joinType == JoinRelType.LEFT}} branch in {{join()}} method.
#  {{FilterNode}} receives last requested row and tries to request next batch 
from the upstream ({{CorrelatedNestedLoopJoinNode}}).
#  {{CorrelatedNestedLoopJoinNode}} is in {{IDLE}} state (which is incorrect), 
so it submits {{join()}} to the execution queue.
#  {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to 
{{FILLING_LEFT}} and requests rows from {{leftsource()}}.
# Previously submitted  {{join()}} starts executing and crashes with 
{{NullPointerException}}, because {{rightInBuf}} is null.

  was:
See stack trace below:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
... 4 more

{code}

To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster

*Update*

The following sequence occurs:

#  {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream (FilterNode). 
See {{joinType == JoinRelType.LEFT}} branch in {{join()}} method.
#  {{FilterNode}} receives last requested row and tries to request next batch 
from the upstream ({{CorrelatedNestedLoopJoinNode}}).
#  {{CorrelatedNestedLoopJoinNode is in {{IDLE}} state (which is incorrect), so 
it submits {{join()}} to the execution queue.
#  {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to 
{{FILLING_LEFT}} and requests rows from {{leftsource()}}.
# Previously submitted  {{join()}} starts executing and crashes with 
{{NullPointerException}}, because {{rightInBuf}} is null.


> Sql. NPE in correlated nested loop join
> ---
>
> Key: IGNITE-21722
> URL: https://issues.apache.org/jira/browse/IGNITE-21722
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: calcite2-required, ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> See stack trace below:
> {code}
> Caused by: java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
>   ... 4 more
> {code}
> To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster
> *Update*
> The following sequence occurs:
> #  {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream 
> (FilterNode). See {{joinType == JoinRelType.LEFT}} branch in {{join()}} 
> method.
> #  {{FilterNode}} receives last requested row and tries to request next batch 
> from the upstream ({{CorrelatedNestedLoopJoinNode}}).
> #  {{CorrelatedNestedLoopJoinNode}} is in {{IDLE}} state (which is 
> incorrect), so it submits {{join()}} to the execution queue.
> #  {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to 
> {{FILLING_LEFT}} and requests rows from {{leftsource()}}.
> # Previously submitted  {{join()}} starts executing and crashes with 
> {{NullPointerException}}, because {{rightInBuf}} is null.



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


[jira] [Updated] (IGNITE-21722) Sql. NPE in correlated nested loop join

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21722:
--
Description: 
See stack trace below:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
... 4 more

{code}

To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster

*Update*

The following sequence occurs:

#  {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream (FilterNode). 
See {{joinType == JoinRelType.LEFT}} branch in {{join()}} method.
#  {{FilterNode}} receives last requested row and tries to request next batch 
from the upstream ({{CorrelatedNestedLoopJoinNode}}).
#  {{CorrelatedNestedLoopJoinNode is in {{IDLE}} state (which is incorrect), so 
it submits {{join()}} to the execution queue.
#  {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to 
{{FILLING_LEFT}} and requests rows from {{leftsource()}}.
# Previously submitted  {{join()}} starts executing and crashes with 
{{NullPointerException}}, because {{rightInBuf}} is null.

  was:
See stack trace below:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
... 4 more

{code}

To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster

*Update*

The following sequence occurs:

CorrelatedNestedLoopJoinNode pushes last row to downstream (FilterNode). 
See joinType == JoinRelType.LEFT branch in join() method.
FilterNode receives last requested row and tries to request next batch from 
the upstream (CorrelatedNestedLoopJoinNode).
CorrelatedNestedLoopJoinNode is in IDLE state (which is incorrect), so it 
submits join() to the execution queue.
CorrelatedNestedLoopJoinNode resets rightInBuf, changes state to 
FILLING_LEFT and requests rows from leftsource().
Previously submitted join() starts executing and crashes with 
NullPointerException, because rightInBuf is null.


> Sql. NPE in correlated nested loop join
> ---
>
> Key: IGNITE-21722
> URL: https://issues.apache.org/jira/browse/IGNITE-21722
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: calcite2-required, ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> See stack trace below:
> {code}
> Caused by: java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
>   ... 4 more
> {code}
> To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster
> *Update*
> The following sequence occurs:
> #  {{CorrelatedNestedLoopJoinNode}} pushes last row to downstream 
> (FilterNode). See {{joinType == JoinRelType.LEFT}} branch in {{join()}} 
> method.
> #  {{FilterNode}} receives last requested row and tries to request next batch 
> from the upstream ({{CorrelatedNestedLoopJoinNode}}).
> #  {{CorrelatedNestedLoopJoinNode is in {{IDLE}} state (which is incorrect), 
> so it submits {{join()}} to the execution queue.
> #  {{CorrelatedNestedLoopJoinNode}} resets {{rightInBuf}}, changes state to 
> {{FILLING_LEFT}} and requests rows from {{leftsource()}}.
> # Previously submitted  {{join()}} starts executing and crashes with 
> {{NullPointerException}}, because {{rightInBuf}} is null.



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


[jira] [Updated] (IGNITE-21722) Sql. NPE in correlated nested loop join

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21722:
--
Description: 
See stack trace below:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
... 4 more

{code}

To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster

*Update*

The following sequence occurs:

CorrelatedNestedLoopJoinNode pushes last row to downstream (FilterNode). 
See joinType == JoinRelType.LEFT branch in join() method.
FilterNode receives last requested row and tries to request next batch from 
the upstream (CorrelatedNestedLoopJoinNode).
CorrelatedNestedLoopJoinNode is in IDLE state (which is incorrect), so it 
submits join() to the execution queue.
CorrelatedNestedLoopJoinNode resets rightInBuf, changes state to 
FILLING_LEFT and requests rows from leftsource().
Previously submitted join() starts executing and crashes with 
NullPointerException, because rightInBuf is null.

  was:
See stack trace below:
{code}
Caused by: java.lang.NullPointerException
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
at 
org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
at 
org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
... 4 more

{code}

To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster


> Sql. NPE in correlated nested loop join
> ---
>
> Key: IGNITE-21722
> URL: https://issues.apache.org/jira/browse/IGNITE-21722
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: calcite2-required, ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> See stack trace below:
> {code}
> Caused by: java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
>   ... 4 more
> {code}
> To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster
> *Update*
> The following sequence occurs:
> CorrelatedNestedLoopJoinNode pushes last row to downstream (FilterNode). 
> See joinType == JoinRelType.LEFT branch in join() method.
> FilterNode receives last requested row and tries to request next batch 
> from the upstream (CorrelatedNestedLoopJoinNode).
> CorrelatedNestedLoopJoinNode is in IDLE state (which is incorrect), so it 
> submits join() to the execution queue.
> CorrelatedNestedLoopJoinNode resets rightInBuf, changes state to 
> FILLING_LEFT and requests rows from leftsource().
> Previously submitted join() starts executing and crashes with 
> NullPointerException, because rightInBuf is null.



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


[jira] [Resolved] (IGNITE-20782) Ignite 3.0: Dynamically created indexes integration and improvements

2024-03-28 Thread Vladimir Pligin (Jira)


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

Vladimir Pligin resolved IGNITE-20782.
--
Resolution: Fixed

> Ignite 3.0: Dynamically created indexes integration and improvements
> 
>
> Key: IGNITE-20782
> URL: https://issues.apache.org/jira/browse/IGNITE-20782
> Project: Ignite
>  Issue Type: Epic
>  Components: persistence
>Reporter: Sergey Chugunov
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Updated] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21861:
--
Description: 
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
scanId=20361, timestampLong=112165039967305730, 
transactionId=018e7d82-647b-0030-63a2-6a190001, upperBoundPrefix=null]].
java.util.concurrent.CompletionException: 
org.apache.ignite.tx.TransactionException: IGN-TX-14 
TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
 ~[?:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.apache.ignite.tx.TransactionException: Transaction is already 
finished.
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    ... 10 more{code}
 

It happens in PartitionReplicaListener because the local volatile tx state is 
null or final when trying to compute a value for txCleanupReadyFutures map:
{code:java}
txCleanupReadyFutures.compute(txId, (id, txOps) -> {
// First check whether the transaction has already been finished.
// And complete cleanupReadyFut with exception if it is the case.
TxStateMeta txStateMeta = txManager.stateMeta(txId);

if (txStateMeta == null || isFinalState(txStateMeta.txState())) {
cleanupReadyFut.completeExceptionally(new Exception());

return txOps;
}

// Otherwise collect cleanupReadyFut in the transaction's futures.
if (txOps == null) {
txOps = new TxCleanupReadyFutureList();
}

txOps.futures.computeIfAbsent(cmdType, type -> new HashMap<>()).put(opId, 
cleanupReadyFut);

return txOps;
});

if (cleanupReadyFut.isCompletedExceptionally()) {
return failedFuture(new TransactionException(TX_ALREADY_FINISHED_ERR, 
"Transaction is already finished."));
}{code}
First problem is that we don't actually know the real state from this exception.

The second one is the exception itself, because it shouldn't happen. We 
shouldn't meet a null state, because it's updated to pending just before, and 
it can be vacuumized only after it becomes final. 

Committed state is also not possible because we wait for all in-flights before 
the state transition. It can be Aborted state here, but there should be no 
exception in logs in this case.

In our case, the transaction is most likely aborted because of replication 
timeout exception happened before (it would be nice to see a tx id in this 
exception as well).

Full log is attached.

*Defitinion of done:*
 * no TransactionException in log in case of aborted 

[jira] [Updated] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21861:
--
Description: 
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
scanId=20361, timestampLong=112165039967305730, 
transactionId=018e7d82-647b-0030-63a2-6a190001, upperBoundPrefix=null]].
java.util.concurrent.CompletionException: 
org.apache.ignite.tx.TransactionException: IGN-TX-14 
TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
 ~[?:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.apache.ignite.tx.TransactionException: Transaction is already 
finished.
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    ... 10 more{code}
 

It happens in PartitionReplicaListener because the local volatile tx state is 
null or final when trying to compute a value for txCleanupReadyFutures map:
{code:java}
txCleanupReadyFutures.compute(txId, (id, txOps) -> {
// First check whether the transaction has already been finished.
// And complete cleanupReadyFut with exception if it is the case.
TxStateMeta txStateMeta = txManager.stateMeta(txId);

if (txStateMeta == null || isFinalState(txStateMeta.txState())) {
cleanupReadyFut.completeExceptionally(new Exception());

return txOps;
}

// Otherwise collect cleanupReadyFut in the transaction's futures.
if (txOps == null) {
txOps = new TxCleanupReadyFutureList();
}

txOps.futures.computeIfAbsent(cmdType, type -> new HashMap<>()).put(opId, 
cleanupReadyFut);

return txOps;
});

if (cleanupReadyFut.isCompletedExceptionally()) {
return failedFuture(new TransactionException(TX_ALREADY_FINISHED_ERR, 
"Transaction is already finished."));
}{code}
First problem is that we don't actually know the real state from this exception.

The second one is the exception itself, because it shouldn't happen. We 
shouldn't meet a null state, because it's updated to pending just before, and 
it can be vacuumized only after it becomes final. 

Committed state is also not possible because we wait for all in-flights before 
the state transition. It can be Aborted state here, but there should be no 
exception in logs in this case.

In our case, the transaction is most likely aborted because of replication 
timeout exception happened before (it would be nice to see a tx id in this 
exception as well).

Full log is attached.

*Defitinion of done:*
 * no TransactionException in log in case of aborted 

[jira] [Updated] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21861:
--
Description: 
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
scanId=20361, timestampLong=112165039967305730, 
transactionId=018e7d82-647b-0030-63a2-6a190001, upperBoundPrefix=null]].
java.util.concurrent.CompletionException: 
org.apache.ignite.tx.TransactionException: IGN-TX-14 
TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
 ~[?:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.apache.ignite.tx.TransactionException: Transaction is already 
finished.
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    ... 10 more{code}
 

It happens in PartitionReplicaListener because the local volatile tx state is 
null or final when trying to compute a value for txCleanupReadyFutures map:
{code:java}
txCleanupReadyFutures.compute(txId, (id, txOps) -> {
// First check whether the transaction has already been finished.
// And complete cleanupReadyFut with exception if it is the case.
TxStateMeta txStateMeta = txManager.stateMeta(txId);

if (txStateMeta == null || isFinalState(txStateMeta.txState())) {
cleanupReadyFut.completeExceptionally(new Exception());

return txOps;
}

// Otherwise collect cleanupReadyFut in the transaction's futures.
if (txOps == null) {
txOps = new TxCleanupReadyFutureList();
}

txOps.futures.computeIfAbsent(cmdType, type -> new HashMap<>()).put(opId, 
cleanupReadyFut);

return txOps;
});

if (cleanupReadyFut.isCompletedExceptionally()) {
return failedFuture(new TransactionException(TX_ALREADY_FINISHED_ERR, 
"Transaction is already finished."));
}{code}
First problem is that we don't actually know the real state from this exception.

The second one is the exception itself, because it shouldn't happen. We 
shouldn't meet a null state, because it's updated to pending just before, and 
it can be vacuumized only after it becomes final. 

Committed state is also not possible because we wait for all in-flights before 
the state transition. It can be Aborted state here, but there should be no 
exception in logs in this case.

In our case, the transaction is most likely aborted because of replication 
timeout exception happened before (it would be nice to see a tx id in this 
exception as well).

Full log is attached.

*Defitinion of done:*
 * no TransactionException in log in case of aborted 

[jira] [Updated] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21861:
--
Attachment: _Integration_Tests_Module_SQL_Engine_4133_.log

> Unexpected "Transaction is already finished" exception 
> ---
>
> Key: IGNITE-21861
> URL: https://issues.apache.org/jira/browse/IGNITE-21861
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Priority: Major
>  Labels: ignite-3
> Attachments: _Integration_Tests_Module_SQL_Engine_4133_.log
>
>
> Exception in log:
> {code:java}
> [2024-03-27T01:24:46,636][WARN 
> ][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
> request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
> columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
> [partitionId=17, tableId=90], 
> coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
> enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
> full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
> scanId=20361, timestampLong=112165039967305730, 
> transactionId=018e7d82-647b-0030-63a2-6a190001, upperBoundPrefix=null]].
> java.util.concurrent.CompletionException: 
> org.apache.ignite.tx.TransactionException: IGN-TX-14 
> TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.
>     at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
>  ~[?:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
>  ~[?:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
>  ~[?:?]
>     at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
>  ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
>     at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
>  ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
>     at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
>  ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
>  ~[?:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>  [?:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
>  [?:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
>  [?:?]
>     at 
> java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
>  [?:?]
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>     at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
> Caused by: org.apache.ignite.tx.TransactionException: Transaction is already 
> finished.
>     at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
>  ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
>     at 
> org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
>  ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
>     ... 10 more{code}
> It happens in PartitionReplicaListener because the local volatile tx state is 
> null or final when trying to compute a value for txCleanupReadyFutures map:
> {code:java}
> txCleanupReadyFutures.compute(txId, (id, txOps) -> {
> // First check whether the transaction has already been finished.
> // And complete cleanupReadyFut with exception if it is the case.
> TxStateMeta txStateMeta = txManager.stateMeta(txId);
> if (txStateMeta == null || isFinalState(txStateMeta.txState())) {
> cleanupReadyFut.completeExceptionally(new Exception());
> return txOps;
> }
> // Otherwise collect cleanupReadyFut in the transaction's futures.
> if (txOps == null) {
> txOps = new TxCleanupReadyFutureList();
> }
> txOps.futures.computeIfAbsent(cmdType, type -> new HashMap<>()).put(opId, 
> cleanupReadyFut);
> return txOps;
> });
> if (cleanupReadyFut.isCompletedExceptionally()) {
> return failedFuture(new TransactionException(TX_ALREADY_FINISHED_ERR, 
> "Transaction is already finished."));
> }{code}
> First problem is that we don't actually know the real state from this 
> exception.

[jira] [Updated] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21861:
--
Description: 
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
scanId=20361, timestampLong=112165039967305730, 
transactionId=018e7d82-647b-0030-63a2-6a190001, upperBoundPrefix=null]].
java.util.concurrent.CompletionException: 
org.apache.ignite.tx.TransactionException: IGN-TX-14 
TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
 ~[?:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.apache.ignite.tx.TransactionException: Transaction is already 
finished.
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    ... 10 more{code}
It happens in PartitionReplicaListener because the local volatile tx state is 
null or final when trying to compute a value for txCleanupReadyFutures map:
{code:java}
txCleanupReadyFutures.compute(txId, (id, txOps) -> {
// First check whether the transaction has already been finished.
// And complete cleanupReadyFut with exception if it is the case.
TxStateMeta txStateMeta = txManager.stateMeta(txId);

if (txStateMeta == null || isFinalState(txStateMeta.txState())) {
cleanupReadyFut.completeExceptionally(new Exception());

return txOps;
}

// Otherwise collect cleanupReadyFut in the transaction's futures.
if (txOps == null) {
txOps = new TxCleanupReadyFutureList();
}

txOps.futures.computeIfAbsent(cmdType, type -> new HashMap<>()).put(opId, 
cleanupReadyFut);

return txOps;
});

if (cleanupReadyFut.isCompletedExceptionally()) {
return failedFuture(new TransactionException(TX_ALREADY_FINISHED_ERR, 
"Transaction is already finished."));
}{code}
First problem is that we don't actually know the real state from this exception.

The second one is the exception itself, because it shouldn't happen. We 
shouldn't meet a null state, because it's updated to pending just before, and 
it can be vacuumized only after it becomes final. 

Committed state is also not possible because we wait for all in-flights before 
the state transition. It can be Aborted state here, but there should be no 
exception in logs in this case.

In our case, the transaction is most likely aborted because of replication 
timeout exception happened before (it would be nice to see a tx id in this 
exception as well).

Full log is attached.

  was:
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 

[jira] [Updated] (IGNITE-20731) Exception "The primary replica has changed" on big amount of rows

2024-03-28 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-20731:
-
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Exception "The primary replica has changed" on big amount of rows
> -
>
> Key: IGNITE-20731
> URL: https://issues.apache.org/jira/browse/IGNITE-20731
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Affects Versions: 3.0.0-beta2
>Reporter: Igor
>Priority: Major
>  Labels: ignite-3
>
> *Steps to reproduce:*
> 1. Start cluster with 1 node with JVM options: "-Xms4096m -Xmx4096m"
> 2. Execute
> {code:java}
> create table rows_capacity_table(id INTEGER not null, column_1 VARCHAR(50) 
> not null, column_2 VARCHAR(50) not null, column_3 VARCHAR(50) not null, 
> column_4 VARCHAR(50) not null, primary key (id)) {code}
> 3. Insert rows into table up to 1 000 000 rows.
> *Expected result:*
> Rows are inserted.
> *Actual result:*
> After 733000 rows the exception is thrown.
> Client:
> {code:java}
> java.sql.BatchUpdateException: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:9b8ef95a-bbbe-48cf-9c94-2e80d01c2033 The primary replica 
> has changed [expectedLeaseholder=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholder=null]
>   at 
> org.apache.ignite.internal.jdbc.JdbcPreparedStatement.executeBatch(JdbcPreparedStatement.java:155)
>  {code}
> Server:
> {code:java}
> 2023-10-23 13:47:31:529 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_12]
> 2023-10-23 13:47:31:532 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_20]
> 2023-10-23 13:47:31:536 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_24]
> 2023-10-23 13:47:31:539 +0300 
> [INFO][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-0][PartitionReplicaListener]
>  Primary replica expired [grp=5_part_16]
> 2023-10-23 13:47:31:699 +0300 
> [WARNING][%TablesAmountCapacityTest_cluster_0%metastorage-watch-executor-3][ReplicaManager]
>  Failed to process replica request [request=TxFinishReplicaRequestImpl 
> [commit=false, commitTimestampLong=111283931920007204, groupId=5_part_24, 
> groups=HashSet [5_part_5, 5_part_4, 5_part_7, 5_part_6, 5_part_1, 5_part_0, 
> 5_part_3, 5_part_2, 5_part_13, 5_part_12, 5_part_15, 5_part_14, 5_part_9, 
> 5_part_8, 5_part_11, 5_part_10, 5_part_21, 5_part_20, 5_part_23, 5_part_22, 
> 5_part_17, 5_part_16, 5_part_19, 5_part_18, 5_part_24], 
> term=111283839559532593, timestampLong=111283932466315264, 
> txId=018b5c25-7653---23c06ab5]]
> java.util.concurrent.CompletionException: 
> org.apache.ignite.internal.replicator.exception.PrimaryReplicaMissException: 
> IGN-REP-6 TraceId:9b8ef95a-bbbe-48cf-9c94-2e80d01c2033 The primary replica 
> has changed [expectedLeaseholder=TablesAmountCapacityTest_cluster_0, 
> currentLeaseholder=null]
>   at 
> java.base/java.util.concurrent.CompletableFuture.encodeRelay(CompletableFuture.java:367)
>   at 
> java.base/java.util.concurrent.CompletableFuture.completeRelay(CompletableFuture.java:376)
>   at 
> java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1074)
>   at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>   at 
> java.base/java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:2073)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.lambda$completeWaitersOnUpdate$0(PendingComparableValuesTracker.java:169)
>   at 
> java.base/java.util.concurrent.ConcurrentMap.forEach(ConcurrentMap.java:122)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.completeWaitersOnUpdate(PendingComparableValuesTracker.java:169)
>   at 
> org.apache.ignite.internal.util.PendingComparableValuesTracker.update(PendingComparableValuesTracker.java:103)
>   at 
> org.apache.ignite.internal.metastorage.server.time.ClusterTimeImpl.updateSafeTime(ClusterTimeImpl.java:146)
>   at 
> org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl.onSafeTimeAdvanced(MetaStorageManagerImpl.java:849)
>   at 
> org.apache.ignite.internal.metastorage.impl.MetaStorageManagerImpl$1.onSafeTimeAdvanced(MetaStorageManagerImpl.java:456)
>   at 
> org.apache.ignite.internal.metastorage.server.WatchProcessor.lambda$advanceSafeTime$7(WatchProcessor.java:281)
>   at 
> 

[jira] [Assigned] (IGNITE-21005) Deal with choosing of indexes during garbage collection in MvPartitionStorage

2024-03-28 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21005:
--

Assignee: (was: Philipp Shergalis)

> Deal with choosing of indexes during garbage collection in MvPartitionStorage
> -
>
> Key: IGNITE-21005
> URL: https://issues.apache.org/jira/browse/IGNITE-21005
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
>
> Now, during garbage collection for the repository, for the deleted versions 
> of rows, we delete them in all indexes known to us.
> This is a little inefficient since we may not remove those indexes that will 
> no longer be accessible to transactions.
> We need to deal with this, it does not spoil the consistency of the data, but 
> it slows down garbage collection.



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


[jira] [Assigned] (IGNITE-17591) Refactor toString generation for network messages

2024-03-28 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-17591:
--

Assignee: Philipp Shergalis

> Refactor toString generation for network messages
> -
>
> Key: IGNITE-17591
> URL: https://issues.apache.org/jira/browse/IGNITE-17591
> Project: Ignite
>  Issue Type: Task
>  Components: networking
>Reporter: Semyon Danilov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> toString method generation for the network message should be taking into 
> account several things:
> 1) Message may contain large objects (such as byte arrays)
> 2) Some data can be sensitive, so it should be possible to ignore or mask a 
> field in the toString method



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


[jira] [Updated] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)


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

Denis Chudov updated IGNITE-21861:
--
Description: 
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
scanId=20361, timestampLong=112165039967305730, 
transactionId=018e7d82-647b-0030-63a2-6a190001, upperBoundPrefix=null]].
java.util.concurrent.CompletionException: 
org.apache.ignite.tx.TransactionException: IGN-TX-14 
TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
 ~[?:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]
    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
Caused by: org.apache.ignite.tx.TransactionException: Transaction is already 
finished.
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]
    ... 10 more{code}
It happens in PartitionReplicaListener because the local volatile tx state is 
null or final when trying to compute a value for txCleanupReadyFutures map:
{code:java}
txCleanupReadyFutures.compute(txId, (id, txOps) -> {
// First check whether the transaction has already been finished.
// And complete cleanupReadyFut with exception if it is the case.
TxStateMeta txStateMeta = txManager.stateMeta(txId);

if (txStateMeta == null || isFinalState(txStateMeta.txState())) {
cleanupReadyFut.completeExceptionally(new Exception());

return txOps;
}

// Otherwise collect cleanupReadyFut in the transaction's futures.
if (txOps == null) {
txOps = new TxCleanupReadyFutureList();
}

txOps.futures.computeIfAbsent(cmdType, type -> new HashMap<>()).put(opId, 
cleanupReadyFut);

return txOps;
});

if (cleanupReadyFut.isCompletedExceptionally()) {
return failedFuture(new TransactionException(TX_ALREADY_FINISHED_ERR, 
"Transaction is already finished."));
}{code}
First problem is that we don't actually know the real state from this exception.

The second one is the exception itself, because it shouldn't happen. We 
shouldn't meet a null state, because it's updated to pending just before, and 
it can be vacuumized only after it becomes final. 

 

  was:
Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, 

[jira] [Created] (IGNITE-21861) Unexpected "Transaction is already finished" exception

2024-03-28 Thread Denis Chudov (Jira)
Denis Chudov created IGNITE-21861:
-

 Summary: Unexpected "Transaction is already finished" exception 
 Key: IGNITE-21861
 URL: https://issues.apache.org/jira/browse/IGNITE-21861
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Chudov


Exception in log:
{code:java}
[2024-03-27T01:24:46,636][WARN 
][%idt_n_1%partition-operations-4][ReplicaManager] Failed to process replica 
request [request=ReadWriteScanRetrieveBatchReplicaRequestImpl [batchSize=512, 
columnsToInclude=null, commitPartitionId=TablePartitionIdMessageImpl 
[partitionId=17, tableId=90], 
coordinatorId=125b397c-0404-4dcf-a28b-625fe010ecef, 
enlistmentConsistencyToken=112165039282455690, exactKey=null, flags=0, 
full=false, groupId=92_part_7, indexToUse=null, lowerBoundPrefix=null, 
scanId=20361, timestampLong=112165039967305730, 
transactionId=018e7d82-647b-0030-63a2-6a190001, 
upperBoundPrefix=null]].java.util.concurrent.CompletionException: 
org.apache.ignite.tx.TransactionException: IGN-TX-14 
TraceId:6612dad8-4a32-4453-8af0-0139e336aad9 Transaction is already finished.   
 at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1099)
 ~[?:?]    at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
 ~[?:?]    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:660)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3860)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:436)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]    at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
 ~[?:?]    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
 [?:?]    at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
 [?:?]    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
 [?:?]    at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
 [?:?]    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]    at java.base/java.lang.Thread.run(Thread.java:834) [?:?]Caused by: 
org.apache.ignite.tx.TransactionException: Transaction is already finished.    
at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1937)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]    at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:659)
 ~[ignite-table-3.0.0-SNAPSHOT.jar:?]    ... 10 more {code}
 



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


[jira] [Updated] (IGNITE-21860) DDL operations hang with "Corrupted LogStorage" message after creating an index

2024-03-28 Thread Ivan Artiukhov (Jira)


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

Ivan Artiukhov updated IGNITE-21860:

Summary: DDL operations hang with "Corrupted LogStorage" message after 
creating an index  (was: DDL operations hang after creating an index)

> DDL operations hang with "Corrupted LogStorage" message after creating an 
> index
> ---
>
> Key: IGNITE-21860
> URL: https://issues.apache.org/jira/browse/IGNITE-21860
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3
> Attachments: drop_index_test_ddl.txt, node1.log, node2.log
>
>
> ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
> h1. Setup:
>  * 2 server nodes
> h1. Test:
> A set of DDL operations which creates test tables with different field types, 
> creates an index over one or more fields and then drops the index. See the 
> attached [^drop_index_test_ddl.txt]
> h1. Expected result:
> The test passes
> h1. Actual result:
> The test hangs after executing the following set of operations:
>  
> {noformat}
> drop table if exists dropIndexedColumn
> create zone if not exists "AIMEM" engine aimem
> create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 
> SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not 
> null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
> create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
> {noformat}
> The following error is seen in the log of the first node at this time:
>  
> {noformat}
> 2024-03-28 02:42:38:675 + 
> [WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] 
> FSMCaller already in error status, ignore new error
> Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at 
> index=1534, not found]]
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> 2024-03-28 02:42:38:674 + 
> [INFO][%DropColumnsTest_cluster_0%build-index-1][IndexBuildTask] Index build 
> completed: [tableId=83, partitionId=0, indexId=85]
> 2024-03-28 02:42:38:720 + 
> [ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-4][NodeImpl] Node 
>  append [0, 0] failed, 
> status=Status[EIO<1014>: Corrupted LogStorage].
> 2024-03-28 02:42:38:720 + 
> [ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-9][NodeImpl] Node 
>  append [0, 0] failed, 
> status=Status[EIO<1014>: Corrupted LogStorage].
> 2024-03-28 02:42:38:720 + 
> [ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-3][NodeImpl] Node 
>  append [0, 0] failed, 
> status=Status[EIO<1014>: Corrupted LogStorage].
> 2024-03-28 02:42:38:720 + 
> [ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-5][NodeImpl] Node 
>  append [0, 0] failed, 
> status=Status[EIO<1014>: Corrupted LogStorage].
> 2024-03-28 02:42:38:720 + 
> [ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-0][NodeImpl] Node 
>  append [0, 0] failed, 
> status=Status[EIO<1014>: Corrupted LogStorage].
> 2024-03-28 02:42:38:720 + 
> [ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-1][NodeImpl] Node 
>  append [0, 0] failed, 
> status=Status[EIO<1014>: Corrupted LogStorage].
>  {noformat}
> On the second node:
> {noformat}
> 2024-03-28 02:42:49:143 + 
> [ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController]
>  Error processing the operation to delete the partition index 

[jira] [Updated] (IGNITE-21860) DDL operations hang after creating an index

2024-03-28 Thread Ivan Artiukhov (Jira)


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

Ivan Artiukhov updated IGNITE-21860:

Description: 
ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
h1. Setup:
 * 2 server nodes

h1. Test:

A set of DDL operations which creates test tables with different field types, 
creates an index over one or more fields and then drops the index. See the 
attached [^drop_index_test_ddl.txt]
h1. Expected result:

The test passes
h1. Actual result:

The test hangs after executing the following set of operations:

 
{noformat}
drop table if exists dropIndexedColumn
create zone if not exists "AIMEM" engine aimem
create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 
SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not 
null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
{noformat}
The following error is seen in the log of the first node at this time:

 
{noformat}
2024-03-28 02:42:38:675 + 
[WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] 
FSMCaller already in error status, ignore new error
Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at 
index=1534, not found]]
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
    at 
org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
    at 
org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
    at 
org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
    at 
org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
    at 
org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
    at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
2024-03-28 02:42:38:674 + 
[INFO][%DropColumnsTest_cluster_0%build-index-1][IndexBuildTask] Index build 
completed: [tableId=83, partitionId=0, indexId=85]
2024-03-28 02:42:38:720 + 
[ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-4][NodeImpl] Node 
 append [0, 0] failed, 
status=Status[EIO<1014>: Corrupted LogStorage].
2024-03-28 02:42:38:720 + 
[ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-9][NodeImpl] Node 
 append [0, 0] failed, 
status=Status[EIO<1014>: Corrupted LogStorage].
2024-03-28 02:42:38:720 + 
[ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-3][NodeImpl] Node 
 append [0, 0] failed, 
status=Status[EIO<1014>: Corrupted LogStorage].
2024-03-28 02:42:38:720 + 
[ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-5][NodeImpl] Node 
 append [0, 0] failed, 
status=Status[EIO<1014>: Corrupted LogStorage].
2024-03-28 02:42:38:720 + 
[ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-0][NodeImpl] Node 
 append [0, 0] failed, 
status=Status[EIO<1014>: Corrupted LogStorage].
2024-03-28 02:42:38:720 + 
[ERROR][%DropColumnsTest_cluster_0%JRaft-Common-Executor-1][NodeImpl] Node 
 append [0, 0] failed, 
status=Status[EIO<1014>: Corrupted LogStorage].
 {noformat}
On the second node:
{noformat}
2024-03-28 02:42:49:143 + 
[ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController]
 Error processing the operation to delete the partition index building key: 
[indexId=85, partitionId=11]
java.util.concurrent.CompletionException: java.util.concurrent.TimeoutException
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
    at 
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
    at 
java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
    at 
org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
    at 
org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleErrorResponse$44(RaftGroupServiceImpl.java:653)
    at 

[jira] [Commented] (IGNITE-21860) DDL operations hang after creating an index

2024-03-28 Thread Ivan Artiukhov (Jira)


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

Ivan Artiukhov commented on IGNITE-21860:
-

Attached the full logs from these two nodes. 

> DDL operations hang after creating an index
> ---
>
> Key: IGNITE-21860
> URL: https://issues.apache.org/jira/browse/IGNITE-21860
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3
> Attachments: drop_index_test_ddl.txt, node1.log, node2.log
>
>
> ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
> h1. Setup:
>  * 2 server nodes
> h1. Test:
> A set of DDL operations which creates test tables with different field types, 
> creates an index over one or more fields and then drops the index. See the 
> attached [^drop_index_test_ddl.txt]
> h1. Expected result:
> The test passes
> h1. Actual result:
> The test hangs after executing the following set of operations:
>  
> {noformat}
> drop table if exists dropIndexedColumn
> create zone if not exists "AIMEM" engine aimem
> create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 
> SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not 
> null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
> create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
> {noformat}
> The following error is seen in the log of the first node at this time:
>  
> {noformat}
> 2024-03-28 02:42:38:675 + 
> [WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] 
> FSMCaller already in error status, ignore new error
> Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at 
> index=1534, not found]]
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> {noformat}
> On the second node:
> {noformat}
> 2024-03-28 02:42:49:143 + 
> [ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController]
>  Error processing the operation to delete the partition index building key: 
> [indexId=85, partitionId=11]
> java.util.concurrent.CompletionException: 
> java.util.concurrent.TimeoutException
>     at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
>     at 
> java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
>     at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
>     at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
>     at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleErrorResponse$44(RaftGroupServiceImpl.java:653)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at 

[jira] [Created] (IGNITE-21860) DDL operations hang after creating an index

2024-03-28 Thread Ivan Artiukhov (Jira)
Ivan Artiukhov created IGNITE-21860:
---

 Summary: DDL operations hang after creating an index
 Key: IGNITE-21860
 URL: https://issues.apache.org/jira/browse/IGNITE-21860
 Project: Ignite
  Issue Type: Bug
  Components: sql
Affects Versions: 3.0.0-beta1
Reporter: Ivan Artiukhov
 Attachments: drop_index_test_ddl.txt

ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
h1. Setup:
 * 2 server nodes

h1. Test:

A set of DDL operations which creates test tables with different field types, 
creates an index over one or more fields and then drops the index. See the 
attached [^drop_index_test_ddl.txt]
h1. Expected result:

The test passes
h1. Actual result:

The test hangs after executing the following set of operations:

 
{noformat}
drop table if exists dropIndexedColumn
create zone if not exists "AIMEM" engine aimem
create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 
SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not 
null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
{noformat}
The following error is seen in the log of the first node at this time:

 
{noformat}
2024-03-28 02:42:38:675 + 
[WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] 
FSMCaller already in error status, ignore new error
Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at 
index=1534, not found]]
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
    at 
org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
    at 
org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
    at 
org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
    at 
org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
    at 
org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
    at 
org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
    at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
{noformat}
On the second node:
{noformat}
2024-03-28 02:42:49:143 + 
[ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController]
 Error processing the operation to delete the partition index building key: 
[indexId=85, partitionId=11]
java.util.concurrent.CompletionException: java.util.concurrent.TimeoutException
    at 
java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
    at 
java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
    at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
    at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
    at 
java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
    at 
org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
    at 
org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleErrorResponse$44(RaftGroupServiceImpl.java:653)
    at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.util.concurrent.TimeoutException
    ... 8 more
{noformat}
After this there is no way to execute the following DDL (it hangs): {{drop 
table if exists dropNoMoreIndexedColumn}}
h1. Notes:
 * Reproduced only once and only with {{aimem}} storage engine.



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


[jira] [Updated] (IGNITE-21860) DDL operations hang after creating an index

2024-03-28 Thread Ivan Artiukhov (Jira)


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

Ivan Artiukhov updated IGNITE-21860:

Attachment: node1.log

> DDL operations hang after creating an index
> ---
>
> Key: IGNITE-21860
> URL: https://issues.apache.org/jira/browse/IGNITE-21860
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3
> Attachments: drop_index_test_ddl.txt, node1.log, node2.log
>
>
> ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
> h1. Setup:
>  * 2 server nodes
> h1. Test:
> A set of DDL operations which creates test tables with different field types, 
> creates an index over one or more fields and then drops the index. See the 
> attached [^drop_index_test_ddl.txt]
> h1. Expected result:
> The test passes
> h1. Actual result:
> The test hangs after executing the following set of operations:
>  
> {noformat}
> drop table if exists dropIndexedColumn
> create zone if not exists "AIMEM" engine aimem
> create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 
> SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not 
> null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
> create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
> {noformat}
> The following error is seen in the log of the first node at this time:
>  
> {noformat}
> 2024-03-28 02:42:38:675 + 
> [WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] 
> FSMCaller already in error status, ignore new error
> Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at 
> index=1534, not found]]
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> {noformat}
> On the second node:
> {noformat}
> 2024-03-28 02:42:49:143 + 
> [ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController]
>  Error processing the operation to delete the partition index building key: 
> [indexId=85, partitionId=11]
> java.util.concurrent.CompletionException: 
> java.util.concurrent.TimeoutException
>     at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
>     at 
> java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
>     at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
>     at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
>     at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleErrorResponse$44(RaftGroupServiceImpl.java:653)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: 

[jira] [Updated] (IGNITE-21860) DDL operations hang after creating an index

2024-03-28 Thread Ivan Artiukhov (Jira)


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

Ivan Artiukhov updated IGNITE-21860:

Attachment: node2.log

> DDL operations hang after creating an index
> ---
>
> Key: IGNITE-21860
> URL: https://issues.apache.org/jira/browse/IGNITE-21860
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3
> Attachments: drop_index_test_ddl.txt, node1.log, node2.log
>
>
> ignite3, rev. ae643bd31f329ac2ce877cc51eaa2c6a1f1a8a21
> h1. Setup:
>  * 2 server nodes
> h1. Test:
> A set of DDL operations which creates test tables with different field types, 
> creates an index over one or more fields and then drops the index. See the 
> attached [^drop_index_test_ddl.txt]
> h1. Expected result:
> The test passes
> h1. Actual result:
> The test hangs after executing the following set of operations:
>  
> {noformat}
> drop table if exists dropIndexedColumn
> create zone if not exists "AIMEM" engine aimem
> create table dropIndexedColumn(k1 SMALLINT not null, v0 TINYINT not null, v1 
> SMALLINT not null, v2 INTEGER not null, v3 BIGINT not null, v4 VARCHAR not 
> null, v5 TIMESTAMP not null, primary key (k1)) with PRIMARY_ZONE='AIMEM'
> create index dropIndexedColumn_v1idx on dropIndexedColumn using TREE (v1)
> {noformat}
> The following error is seen in the log of the first node at this time:
>  
> {noformat}
> 2024-03-28 02:42:38:675 + 
> [WARNING][%DropColumnsTest_cluster_0%JRaft-Common-Executor-8][FSMCallerImpl] 
> FSMCaller already in error status, ignore new error
> Error [type=ERROR_TYPE_LOG, status=Status[EIO<1014>: Corrupted entry at 
> index=1534, not found]]
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.reportError(LogManagerImpl.java:595)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.getEntry(LogManagerImpl.java:798)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.prepareEntry(Replicator.java:820)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1645)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.sendEntries(Replicator.java:1601)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.continueSending(Replicator.java:983)
>     at 
> org.apache.ignite.raft.jraft.core.Replicator.lambda$waitMoreEntries$9(Replicator.java:1583)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.runOnNewLog(LogManagerImpl.java:1205)
>     at 
> org.apache.ignite.raft.jraft.storage.impl.LogManagerImpl.lambda$notifyOnNewLog$9(LogManagerImpl.java:1159)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> {noformat}
> On the second node:
> {noformat}
> 2024-03-28 02:42:49:143 + 
> [ERROR][%DropColumnsTest_cluster_1%Raft-Group-Client-8][IndexAvailabilityController]
>  Error processing the operation to delete the partition index building key: 
> [indexId=85, partitionId=11]
> java.util.concurrent.CompletionException: 
> java.util.concurrent.TimeoutException
>     at 
> java.base/java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:346)
>     at 
> java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:632)
>     at 
> java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
>     at 
> java.base/java.util.concurrent.CompletableFuture.completeExceptionally(CompletableFuture.java:2088)
>     at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.sendWithRetry(RaftGroupServiceImpl.java:550)
>     at 
> org.apache.ignite.internal.raft.RaftGroupServiceImpl.lambda$handleErrorResponse$44(RaftGroupServiceImpl.java:653)
>     at 
> java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834)
> Caused by: 

[jira] [Updated] (IGNITE-21722) Sql. NPE in correlated nested loop join

2024-03-28 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin updated IGNITE-21722:
--
Labels: calcite2-required ignite-3  (was: ignite-3)

> Sql. NPE in correlated nested loop join
> ---
>
> Key: IGNITE-21722
> URL: https://issues.apache.org/jira/browse/IGNITE-21722
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Pavel Pereslegin
>Priority: Major
>  Labels: calcite2-required, ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> See stack trace below:
> {code}
> Caused by: java.lang.NullPointerException
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.join(CorrelatedNestedLoopJoinNode.java:362)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.CorrelatedNestedLoopJoinNode.lambda$onRequest$1(CorrelatedNestedLoopJoinNode.java:274)
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionContext.lambda$execute$0(ExecutionContext.java:320)
>   ... 4 more
> {code}
> To reproduce the issue, run TPC-H q21 with sf=0.1 on 3-node cluster



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


[jira] [Created] (IGNITE-21859) Causality token stays 0 for default zone

2024-03-28 Thread Ivan Zlenko (Jira)
Ivan Zlenko created IGNITE-21859:


 Summary: Causality token stays 0 for default zone
 Key: IGNITE-21859
 URL: https://issues.apache.org/jira/browse/IGNITE-21859
 Project: Ignite
  Issue Type: Task
Affects Versions: 3.0.0-beta1
Reporter: Ivan Zlenko


We have a problem where if no alter or other action was performed on default 
zone causality token in CatalogZoneDescriptor will remain 0. 
It will cause an error on any attempt of rebalacing any tables in that zone:
{code}
[2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-18][DistributionZoneRebalanceEngine]
 Failed to update stable keys for tables [[TESTTABLE]]
{code}
If we will add stacktrace to output we will get following:
{code}
[2024-03-27T14:27:22,231][ERROR][%icbt_tacwdws_0%rebalance-scheduler-13][DistributionZoneRebalanceEngine]
 CATCH, 
 java.lang.IllegalArgumentException: causalityToken must be greater then zero 
[causalityToken=0"
at 
org.apache.ignite.internal.distributionzones.causalitydatanodes.CausalityDataNodesEngine.dataNodes(CausalityDataNodesEngine.java:139)
 ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.distributionzones.DistributionZoneManager.dataNodes(DistributionZoneManager.java:324)
 ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine.calculateAssignments(DistributionZoneRebalanceEngine.java:346)
 ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.distributionzones.rebalance.RebalanceRaftGroupEventsListener.doStableKeySwitch(RebalanceRaftGroupEventsListener.java:408)
 ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
at 
org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$0(DistributionZoneRebalanceEngine.java:294)
 ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
at java.base/java.util.HashMap.forEach(HashMap.java:1337) ~[?:?]
at 
org.apache.ignite.internal.distributionzones.rebalance.DistributionZoneRebalanceEngine$3.lambda$onUpdate$1(DistributionZoneRebalanceEngine.java:293)
 ~[ignite-distribution-zones-9.0.127-SNAPSHOT.jar:?]
at 
java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
 [?:?]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) 
[?:?]
at 
java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
 [?:?]
at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
 [?:?]
at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
 [?:?]
at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
{code}
The workaround is creating a zone and specifying this zone to table. 

Also wouldn't be a bad idea to print stacktrace for  "Failed to update stable 
keys for tables" at least on DEBUG log level. 



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


[jira] [Updated] (IGNITE-21858) Move from TablePartitionId to ZonePartitionId for all PlacementDriver API usages

2024-03-28 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21858:
-
Description: 
In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
stable/pending/planned keys handling to zone, and now they work with 
{{ZonePartitionId}}, but all these changes lead to changes in PlacementDriver 
api changes, because the accepted {{ReplicationGroupId}} which is 
{{TablePartitionId}}.

We need to change all places where {{PlacementDriver}} API is used and where 
{{TablePartitionId}} is passed 

  was:In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
stable/pending/planned keys handling to zone, and now they work with 
{{ZonePartitionId}}, but all these changes lead to changes in PlacementDriver 
api changes, because the accepted {{ReplicationGroupId}} which is 


> Move from TablePartitionId to ZonePartitionId for all PlacementDriver API 
> usages
> 
>
> Key: IGNITE-21858
> URL: https://issues.apache.org/jira/browse/IGNITE-21858
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
> stable/pending/planned keys handling to zone, and now they work with 
> {{ZonePartitionId}}, but all these changes lead to changes in PlacementDriver 
> api changes, because the accepted {{ReplicationGroupId}} which is 
> {{TablePartitionId}}.
> We need to change all places where {{PlacementDriver}} API is used and where 
> {{TablePartitionId}} is passed 



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


[jira] [Updated] (IGNITE-21858) Move from TablePartitionId to ZonePartitionId for all PlacementDriver API usages

2024-03-28 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21858:
-
Description: In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
stable/pending/planned keys handling to zone, and now they work with 
{{ZonePartitionId}}, but all these changes lead to changes in PlacementDriver 
api changes, because the accepted {{ReplicationGroupId}} which is   (was: In 
https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
stable/pending/planned keys handling to zone, and now they work with )

> Move from TablePartitionId to ZonePartitionId for all PlacementDriver API 
> usages
> 
>
> Key: IGNITE-21858
> URL: https://issues.apache.org/jira/browse/IGNITE-21858
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
> stable/pending/planned keys handling to zone, and now they work with 
> {{ZonePartitionId}}, but all these changes lead to changes in PlacementDriver 
> api changes, because the accepted {{ReplicationGroupId}} which is 



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


[jira] [Updated] (IGNITE-21858) Move from TablePartitionId to ZonePartitionId for all PlacementDriver API usages

2024-03-28 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21858:
-
Description: In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
stable/pending/planned keys handling to zone, and now they work with 

> Move from TablePartitionId to ZonePartitionId for all PlacementDriver API 
> usages
> 
>
> Key: IGNITE-21858
> URL: https://issues.apache.org/jira/browse/IGNITE-21858
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-18991 we moved 
> stable/pending/planned keys handling to zone, and now they work with 



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


[jira] [Created] (IGNITE-21858) Move from TablePartitionId to ZonePartitionId for all PlacementDriver API usages

2024-03-28 Thread Mirza Aliev (Jira)
Mirza Aliev created IGNITE-21858:


 Summary: Move from TablePartitionId to ZonePartitionId for all 
PlacementDriver API usages
 Key: IGNITE-21858
 URL: https://issues.apache.org/jira/browse/IGNITE-21858
 Project: Ignite
  Issue Type: Improvement
Reporter: Mirza Aliev






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


[jira] [Assigned] (IGNITE-21858) Move from TablePartitionId to ZonePartitionId for all PlacementDriver API usages

2024-03-28 Thread Mirza Aliev (Jira)


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

Mirza Aliev reassigned IGNITE-21858:


Assignee: Mirza Aliev

> Move from TablePartitionId to ZonePartitionId for all PlacementDriver API 
> usages
> 
>
> Key: IGNITE-21858
> URL: https://issues.apache.org/jira/browse/IGNITE-21858
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-21857) Improvements. Update AsmMarshallerGenerator to generate unmarshalKeyOnly method to support arbitrary key column order.

2024-03-28 Thread Maksim Zhuravkov (Jira)
Maksim Zhuravkov created IGNITE-21857:
-

 Summary: Improvements. Update AsmMarshallerGenerator to generate 
unmarshalKeyOnly method to support arbitrary key column order.   
 Key: IGNITE-21857
 URL: https://issues.apache.org/jira/browse/IGNITE-21857
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Maksim Zhuravkov


AsmMarshaller should define unmarshalKeyOnly method to be used a replacement 
for reflection based marshaller.



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


[jira] [Updated] (IGNITE-21857) Improvements. Update AsmMarshallerGenerator to generate unmarshalKeyOnly method to support arbitrary key column order.

2024-03-28 Thread Maksim Zhuravkov (Jira)


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

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

> Improvements. Update AsmMarshallerGenerator to generate unmarshalKeyOnly 
> method to support arbitrary key column order.   
> -
>
> Key: IGNITE-21857
> URL: https://issues.apache.org/jira/browse/IGNITE-21857
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Maksim Zhuravkov
>Priority: Major
>  Labels: ignite-3
>
> AsmMarshaller should define unmarshalKeyOnly method to be used a replacement 
> for reflection based marshaller.



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


[jira] [Resolved] (IGNITE-21777) 'Failed to get the primary replica' or 'Replication is timed out' or hangs with 'aimem' storage engine

2024-03-28 Thread Nikita Sivkov (Jira)


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

Nikita Sivkov resolved IGNITE-21777.

Resolution: Cannot Reproduce

> 'Failed to get the primary replica' or 'Replication is timed out' or hangs 
> with 'aimem' storage engine
> --
>
> Key: IGNITE-21777
> URL: https://issues.apache.org/jira/browse/IGNITE-21777
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta2
> Environment: Cluster of 2 nodes.
> Storage engine - aimem.
>Reporter: Nikita Sivkov
>Priority: Major
>  Labels: ignite-3
>
> *Steps to reproduce:*
>  # Create a cluster with 2 nodes.
>  # Connect via JDBC.
>  # Repeat the following SQL statements in a loop (for example, 100 times):
>  ** {{drop table if exists tags}}
>  ** {{create zone if not exists "AIMEM" engine aimem}}
>  ** {{create table tags(tagId integer not null, tag varchar(100) not null, 
> primary key (tagId)) with PRIMARY_ZONE='AIMEM'}}
>  ** {{insert into tags(tagId, tag) values (1,'unit'), (2,'integration'), 
> (3,'smoke'), (4,'sanity'), (5,'regression')}}
> *Expected result:*
> No errors or hangs happen.
> *Actual result:*
> Hangs on {{Create table}} or {{Insert into}} statement.
> _*OR*_
> Get the error {{Replication is timed out}}
> {code:java}
> Replication is timed out [replicaGrpId=34_part_16]
> java.sql.SQLException: Replication is timed out [replicaGrpId=34_part_16]
>     at 
> org.apache.ignite.internal.jdbc.proto.IgniteQueryErrorCode.createJdbcSqlException(IgniteQueryErrorCode.java:57)
>     at 
> org.apache.ignite.internal.jdbc.JdbcStatement.execute0(JdbcStatement.java:154)
>     at 
> org.apache.ignite.internal.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:181)
>     at 
> org.gridgain.ai3tests.tests.teststeps.JdbcSteps.executeUpdateQuery(JdbcSteps.java:116)
>     at 
> org.gridgain.ai3tests.tests.UpdateTests.wannaCatchTheBug(UpdateTests.java:95)
>     at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>     at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>     at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>     at java.base/java.lang.Thread.run(Thread.java:834) {code}
> _*OR*_
> Get the error {{Failed to get the primary replica}}
> {code:java}
> java.sql.SQLException: Failed to get the primary replica 
> [tablePartitionId=18_part_1]
> at 
> org.apache.ignite.internal.jdbc.proto.IgniteQueryErrorCode.createJdbcSqlException(IgniteQueryErrorCode.java:57)
> at 
> org.apache.ignite.internal.jdbc.JdbcStatement.execute0(JdbcStatement.java:154)
> at 
> org.apache.ignite.internal.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:181)
> at 
> org.gridgain.ai3tests.tests.teststeps.JdbcSteps.executeUpdateQuery(JdbcSteps.java:116)
> at 
> org.gridgain.ai3tests.tests.UpdateTests.createAndFillTables(UpdateTests.java:247)
> at io.qameta.allure.Allure.lambda$step$0(Allure.java:113)
> at io.qameta.allure.Allure.lambda$step$1(Allure.java:127)
> at io.qameta.allure.Allure.step(Allure.java:181)
> at io.qameta.allure.Allure.step(Allure.java:125)
> at io.qameta.allure.Allure.step(Allure.java:112)
> at 
> org.gridgain.ai3tests.tests.UpdateTests.updateTableWithConditionThatHasLinkedInnerSubQueries(UpdateTests.java:147)
> at java.base/java.lang.reflect.Method.invoke(Method.java:566)
> at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
> at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
> at java.base/java.lang.Thread.run(Thread.java:834) {code}



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


[jira] [Updated] (IGNITE-21856) Unable to insert values with exponent values >=39 for FLOAT and REAL

2024-03-28 Thread Anatoli Karman (Jira)


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

Anatoli Karman updated IGNITE-21856:

Component/s: sql

> Unable to insert values with exponent values >=39 for FLOAT and REAL
> 
>
> Key: IGNITE-21856
> URL: https://issues.apache.org/jira/browse/IGNITE-21856
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Anatoli Karman
>Priority: Major
>  Labels: ignite-3
>
> Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) 
> for FLOAT and REAL data type columns results in an error.
> *Please note that this issue is present only for IG3.*
>  
> {*}Steps to reproduce{*}:
>  - send an insert query where a value for REAL or FLOAT column is 
> *{{3.4028235E39}}*
> {code:java}
> insert into test_e011_REAL (key_field, field1_REAL) values (3, 
> 3.4028235E39);{code}
>  
> *Expected result:*
> Data has been successfully inserted in the table.
> The data returned upon respective select query:
> {code:java}
> '3','Infinity'{code}
>  
> *Actual result:*
> Data has not been inserted.
> The following error is present:
> {code:java}
> Character I is neither a decimal digit number, decimal point, nor "e" 
> notation exponential mark.{code}



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


[jira] [Updated] (IGNITE-21856) Unable to insert values with exponent values >=39 for FLOAT and REAL

2024-03-28 Thread Anatoli Karman (Jira)


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

Anatoli Karman updated IGNITE-21856:

Description: 
Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) for 
FLOAT and REAL data type columns results in an error.

*Please note that this issue is present only for IG3.*

 

{*}Steps to reproduce{*}:
 - send an insert query where a value for REAL or FLOAT column is 
*{{3.4028235E39}}*

{code:java}
insert into test_e011_REAL (key_field, field1_REAL) values (3, 
3.4028235E39);{code}
 

*Expected result:*

Data has been successfully inserted in the table.

The data returned upon respective select query:
{code:java}
'3','Infinity'{code}
 

*Actual result:*

Data has not been inserted.

The following error is present:
{code:java}
Character I is neither a decimal digit number, decimal point, nor "e" notation 
exponential mark.{code}

  was:
Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) for 
FLOAT and REAL data type columns results in an error.

 

{*}Steps to reproduce{*}:
 - send an insert query where a value for REAL or FLOAT column is 
*{{3.4028235E39}}*

{code:java}
insert into test_e011_REAL (key_field, field1_REAL) values (3, 
3.4028235E39);{code}
 

*Expected result:*

Data has been successfully inserted in the table.

The data returned upon respective select query:
{code:java}
'3','Infinity'{code}
 

*Actual result:*

Data has not been inserted.

The following error is present:
{code:java}
Character I is neither a decimal digit number, decimal point, nor "e" notation 
exponential mark.{code}
 

*Please note that this issue is present only for IG3.*


> Unable to insert values with exponent values >=39 for FLOAT and REAL
> 
>
> Key: IGNITE-21856
> URL: https://issues.apache.org/jira/browse/IGNITE-21856
> Project: Ignite
>  Issue Type: Bug
>Reporter: Anatoli Karman
>Priority: Major
>  Labels: ignite-3
>
> Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) 
> for FLOAT and REAL data type columns results in an error.
> *Please note that this issue is present only for IG3.*
>  
> {*}Steps to reproduce{*}:
>  - send an insert query where a value for REAL or FLOAT column is 
> *{{3.4028235E39}}*
> {code:java}
> insert into test_e011_REAL (key_field, field1_REAL) values (3, 
> 3.4028235E39);{code}
>  
> *Expected result:*
> Data has been successfully inserted in the table.
> The data returned upon respective select query:
> {code:java}
> '3','Infinity'{code}
>  
> *Actual result:*
> Data has not been inserted.
> The following error is present:
> {code:java}
> Character I is neither a decimal digit number, decimal point, nor "e" 
> notation exponential mark.{code}



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


[jira] [Updated] (IGNITE-21856) Unable to insert values with exponent values >=39 for FLOAT and REAL

2024-03-28 Thread Anatoli Karman (Jira)


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

Anatoli Karman updated IGNITE-21856:

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

> Unable to insert values with exponent values >=39 for FLOAT and REAL
> 
>
> Key: IGNITE-21856
> URL: https://issues.apache.org/jira/browse/IGNITE-21856
> Project: Ignite
>  Issue Type: Bug
>Reporter: Anatoli Karman
>Priority: Major
>  Labels: ignite-3
>
> Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) 
> for FLOAT and REAL data type columns results in an error.
>  
> {*}Steps to reproduce{*}:
>  - send an insert query where a value for REAL or FLOAT column is 
> *{{3.4028235E39}}*
>  
> {code:java}
> insert into test_e011_REAL (key_field, field1_REAL) values (3, 
> 3.4028235E39);{code}
>  
> *Expected result:*
> Data has been successfully inserted in the table.
> The data returned upon respective select query:
> {code:java}
> '3','Infinity'{code}
>  
> *Actual result:*
> Data has not been inserted.
> The following error is present:
> {code:java}
> Character I is neither a decimal digit number, decimal point, nor "e" 
> notation exponential mark.{code}
>  
> *Please note that this issue is present only for IG3.*



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


[jira] [Updated] (IGNITE-21856) Unable to insert values with exponent values >=39 for FLOAT and REAL

2024-03-28 Thread Anatoli Karman (Jira)


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

Anatoli Karman updated IGNITE-21856:

Description: 
Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) for 
FLOAT and REAL data type columns results in an error.

 

{*}Steps to reproduce{*}:
 - send an insert query where a value for REAL or FLOAT column is 
*{{3.4028235E39}}*

{code:java}
insert into test_e011_REAL (key_field, field1_REAL) values (3, 
3.4028235E39);{code}
 

*Expected result:*

Data has been successfully inserted in the table.

The data returned upon respective select query:
{code:java}
'3','Infinity'{code}
 

*Actual result:*

Data has not been inserted.

The following error is present:
{code:java}
Character I is neither a decimal digit number, decimal point, nor "e" notation 
exponential mark.{code}
 

*Please note that this issue is present only for IG3.*

  was:
Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) for 
FLOAT and REAL data type columns results in an error.

 

{*}Steps to reproduce{*}:
 - send an insert query where a value for REAL or FLOAT column is 
*{{3.4028235E39}}*

 
{code:java}
insert into test_e011_REAL (key_field, field1_REAL) values (3, 
3.4028235E39);{code}
 

*Expected result:*

Data has been successfully inserted in the table.

The data returned upon respective select query:
{code:java}
'3','Infinity'{code}
 

*Actual result:*

Data has not been inserted.

The following error is present:
{code:java}
Character I is neither a decimal digit number, decimal point, nor "e" notation 
exponential mark.{code}
 

*Please note that this issue is present only for IG3.*


> Unable to insert values with exponent values >=39 for FLOAT and REAL
> 
>
> Key: IGNITE-21856
> URL: https://issues.apache.org/jira/browse/IGNITE-21856
> Project: Ignite
>  Issue Type: Bug
>Reporter: Anatoli Karman
>Priority: Major
>  Labels: ignite-3
>
> Insert queries for values with exponent >=39 (e.g. {*}{{3.4028235E39}}{*}) 
> for FLOAT and REAL data type columns results in an error.
>  
> {*}Steps to reproduce{*}:
>  - send an insert query where a value for REAL or FLOAT column is 
> *{{3.4028235E39}}*
> {code:java}
> insert into test_e011_REAL (key_field, field1_REAL) values (3, 
> 3.4028235E39);{code}
>  
> *Expected result:*
> Data has been successfully inserted in the table.
> The data returned upon respective select query:
> {code:java}
> '3','Infinity'{code}
>  
> *Actual result:*
> Data has not been inserted.
> The following error is present:
> {code:java}
> Character I is neither a decimal digit number, decimal point, nor "e" 
> notation exponential mark.{code}
>  
> *Please note that this issue is present only for IG3.*



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


  1   2   >