[jira] [Commented] (IGNITE-21908) Add metrics of distribution among stripes in disruptor

2024-04-30 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov commented on IGNITE-21908:


Merged b02882dd7a11c0b73bcd02980716c382f497f14d

> Add metrics of distribution among stripes in disruptor
> --
>
> Key: IGNITE-21908
> URL: https://issues.apache.org/jira/browse/IGNITE-21908
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 2h 10m
>  Remaining Estimate: 0h
>
> h3. Motivation
> The metrics are useful to estimate the uniformity of the distribution.
> h3. Implementation notes
> These metrics can be implemented using the common approach, which is based on 
> {{MetricSource}} interface.
> h3. Definition of done
> Metrics that become available:
> * histogramm of batch size
> * operations were processed



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


[jira] [Created] (IGNITE-22156) Improve test coverage for UpgradingRowAdapter.

2024-04-30 Thread Andrey Mashenkov (Jira)
Andrey Mashenkov created IGNITE-22156:
-

 Summary: Improve test coverage for UpgradingRowAdapter.
 Key: IGNITE-22156
 URL: https://issues.apache.org/jira/browse/IGNITE-22156
 Project: Ignite
  Issue Type: Improvement
Reporter: Andrey Mashenkov


As fow now, we have no unit tests for UpgradingRowAdapter class at all.

`UpgradingRowAdapter` class inherits a bunch of methods from various 
interfaces, which are implemented in parent classes. We found few issues when 
some of these methods must be overridden in `UpgradingRowAdapter` due to 
different semantic.

Also, with the current approach, the one may add a method that implementation 
will have incorrect behavior in UpgradingRowAdapter.

Most likely, `inheritance` from base `Row` class should be changed to 
`delegation`, and a `Row` be an interface.



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


[jira] [Updated] (IGNITE-22121) Change parameters to disaster recovery partition states api

2024-04-30 Thread Kirill Tkalenko (Jira)


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

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

> Change parameters to disaster recovery partition states api
> ---
>
> Key: IGNITE-22121
> URL: https://issues.apache.org/jira/browse/IGNITE-22121
> Project: Ignite
>  Issue Type: Improvement
>  Components: rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> For getLocalPartitionStates/getGlobalPartitionStates add partitionIds and 
> nodeNames as parameters, replace zoneName with zoneNames



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


[jira] [Updated] (IGNITE-22121) Change parameters to disaster recovery partition states api

2024-04-30 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko updated IGNITE-22121:
-
Epic Link: IGNITE-21140

> Change parameters to disaster recovery partition states api
> ---
>
> Key: IGNITE-22121
> URL: https://issues.apache.org/jira/browse/IGNITE-22121
> Project: Ignite
>  Issue Type: Improvement
>  Components: rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> For getLocalPartitionStates/getGlobalPartitionStates add partitionIds and 
> nodeNames as parameters, replace zoneName with zoneNames



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


[jira] [Commented] (IGNITE-22121) Change parameters to disaster recovery partition states api

2024-04-30 Thread Kirill Tkalenko (Jira)


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

Kirill Tkalenko commented on IGNITE-22121:
--

Looks good.

> Change parameters to disaster recovery partition states api
> ---
>
> Key: IGNITE-22121
> URL: https://issues.apache.org/jira/browse/IGNITE-22121
> Project: Ignite
>  Issue Type: Improvement
>  Components: rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> For getLocalPartitionStates/getGlobalPartitionStates add partitionIds and 
> nodeNames as parameters, replace zoneName with zoneNames



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


[jira] [Comment Edited] (IGNITE-21908) Add metrics of distribution among stripes in disruptor

2024-04-30 Thread Vladislav Pyatkov (Jira)


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

Vladislav Pyatkov edited comment on IGNITE-21908 at 4/30/24 1:43 PM:
-

Following metrics are added as a part of the ticket:
||Name||Description||
|raft.fsmcaller.disruptor.Batch|The histogram of the batch size to handle in 
the state machine for partitions|
|raft.fsmcaller.disruptor.Stripes|The histogram of distribution data by stripes 
in the state machine for partitions|
|raft.nodeimpl.disruptor.Batch|The histogram of the batch size to handle node 
operations for partitions|
|raft.nodeimpl.disruptor.Stripes|The histogram of distribution data by stripes 
for node operations for partitions|
|raft.readonlyservice.disruptor.Batch|The histogram of the batch size to handle 
readonly operations for partitions|
|raft.readonlyservice.disruptor.Stripes|The histogram of distribution data by 
stripes readonly operations for partitions|
|raft.logmanager.disruptor.Batch|The histogram of the batch size to handle in 
the log for partitions|
|raft.logmanager.disruptor.Stripes|The histogram of distribution data by 
stripes in the log for partitions|



was (Author: v.pyatkov):
Following metrics are added as a part of the ticket:
||Name||Description||
|jraft.fsmcaller.disruptor.Batch|The histogram of the batch size to handle in 
the state machine for partitions|
|jraft.fsmcaller.disruptor.Stripes|The histogram of distribution data by 
stripes in the state machine for partitions|
|jraft.nodeimpl.disruptor.Batch|The histogram of the batch size to handle node 
operations for partitions|
|jraft.nodeimpl.disruptor.Stripes|The histogram of distribution data by stripes 
for node operations for partitions|
|jraft.readonlyservice.disruptor.Batch|The histogram of the batch size to 
handle readonly operations for partitions|
|jraft.readonlyservice.disruptor.Stripes|The histogram of distribution data by 
stripes readonly operations for partitions|
|jraft.logmanager.disruptor.Batch|The histogram of the batch size to handle in 
the log for partitions|
|jraft.logmanager.disruptor.Stripes|The histogram of distribution data by 
stripes in the log for partitions|


> Add metrics of distribution among stripes in disruptor
> --
>
> Key: IGNITE-21908
> URL: https://issues.apache.org/jira/browse/IGNITE-21908
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 2h
>  Remaining Estimate: 0h
>
> h3. Motivation
> The metrics are useful to estimate the uniformity of the distribution.
> h3. Implementation notes
> These metrics can be implemented using the common approach, which is based on 
> {{MetricSource}} interface.
> h3. Definition of done
> Metrics that become available:
> * histogramm of batch size
> * operations were processed



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


[jira] [Commented] (IGNITE-20073) [SQL] Inconsistent error message upon inserting a NULL value into a NOT NULL column

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich commented on IGNITE-20073:
-

Seems fixed under IGNITE-22015

> [SQL] Inconsistent error message upon inserting a NULL value into a NOT NULL 
> column
> ---
>
> Key: IGNITE-20073
> URL: https://issues.apache.org/jira/browse/IGNITE-20073
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0
>Reporter: Ivan Artiukhov
>Priority: Major
>  Labels: ignite-3
>
> Create a table with a {{NOT NULL}} column:
> {noformat}
> CREATE TABLE CAR(ID INT, PARKINGID INT NOT NULL, NAME VARCHAR(255), CITY 
> VARCHAR(20), PRIMARY KEY (ID, PARKINGID))
> {noformat}
> Insert a NULL value into that column:
> {noformat}
> INSERT INTO PUBLIC.CAR(ID, PARKINGID, NAME) VALUES(1002, NULL, 'car_1002')
> {noformat}
> *Expected result:*
> An exception is thrown
> *Actual result:*
> En exception is thrown but its message differs from time to time.
> Sometimes the exception looks like this:
> {noformat}
> 'HY000', "[HY000] org.apache.ignite.lang.IgniteException: From line 1, column 
> 45 to line 1, column 74: Column 'PARKINGID' has no default value and does not 
> allow NULLs (131071, c361f5a2-e219-476d-a817-15809bf5b588) (0) 
> (SQLExecDirectW)"
> {noformat}
> Sometimes like this:
> {noformat}
> 'HY000', "[HY000] org.apache.ignite.lang.IgniteException: From line 1, column 
> 45 to line 1, column 74: Column 'PARKINGID' does not allow NULLs (131071, 
> ca73fb01-0b69-4c8d-9a36-1adcb3d679b7) (0) (SQLExecDirectW)"
> {noformat}



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


[jira] [Updated] (IGNITE-21908) Add metrics of distribution among stripes in disruptor

2024-04-30 Thread Vyacheslav Koptilin (Jira)


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

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

> Add metrics of distribution among stripes in disruptor
> --
>
> Key: IGNITE-21908
> URL: https://issues.apache.org/jira/browse/IGNITE-21908
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> h3. Motivation
> The metrics are useful to estimate the uniformity of the distribution.
> h3. Implementation notes
> These metrics can be implemented using the common approach, which is based on 
> {{MetricSource}} interface.
> h3. Definition of done
> Metrics that become available:
> * histogramm of batch size
> * operations were processed



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


[jira] [Updated] (IGNITE-21908) Add metrics of distribution among stripes in disruptor

2024-04-30 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-21908:
-
Fix Version/s: 3.0.0-beta2

> Add metrics of distribution among stripes in disruptor
> --
>
> Key: IGNITE-21908
> URL: https://issues.apache.org/jira/browse/IGNITE-21908
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> h3. Motivation
> The metrics are useful to estimate the uniformity of the distribution.
> h3. Implementation notes
> These metrics can be implemented using the common approach, which is based on 
> {{MetricSource}} interface.
> h3. Definition of done
> Metrics that become available:
> * histogramm of batch size
> * operations were processed



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


[jira] [Assigned] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov reassigned IGNITE-22155:
---

Assignee: Kirill Gusakov

> Introduce new component ZoneReplicasManager
> ---
>
> Key: IGNITE-22155
> URL: https://issues.apache.org/jira/browse/IGNITE-22155
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Assignee: Kirill Gusakov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> To implement the further steps in the zone-based collocation track we need to 
> move the logic around start/stop replicas to separate component 
> ZoneReplicasManager.
> *Definition of done*
> - Component listens the zone creation/drop events (and do nothing at the 
> moment, but will populate the PartitionListener by TableProcessors in future)
> - Component listens the table create/drop events and start the appropriate 
> replicas/partition listeners
> - Component initializes the appropriate rebalance listeners



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


[jira] [Updated] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov updated IGNITE-22155:

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

> Introduce new component ZoneReplicasManager
> ---
>
> Key: IGNITE-22155
> URL: https://issues.apache.org/jira/browse/IGNITE-22155
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> To implement the further steps in the zone-based collocation track we need to 
> move the logic around start/stop replicas to separate component 
> ZoneReplicasManager.
> *Definition of done*
> - Component listens the zone creation/drop events (and do nothing at the 
> moment, but will populate the PartitionListener by TableProcessors in future)
> - Component listens the table create/drop events and start the appropriate 
> replicas/partition listeners
> - Component initializes the appropriate rebalance listeners



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


[jira] [Updated] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov updated IGNITE-22155:

Description: 
*Motivation*
To implement the further steps in the zone-based collocation track we need to 
move the logic around start/stop replicas to separate component 
ZoneReplicasManager.

*Definition of done*
- Component listens the zone creation/drop events (and do nothing at the 
moment, but will populate the PartitionListener by TableProcessors in future)
- Component listens the table create/drop events and start the appropriate 
replicas/partition listeners
- Component initializes the appropriate rebalance listeners


  was:
*Motivation*
To implement the further steps in the zone-based collocation track we need to 
move the logic around start/stop replicas to separate component 
ZoneReplicasManager.

*Definition of done*
- Component listens the zone creation/drop events (and do nothing at the 
moment, but will populate the PartitionListener by TableProcessors in future)
- Component listens the table create/drop events and start the appropriate 
replicas/partition listeners
- Component initialize the appropriate rebalance listeners



> Introduce new component ZoneReplicasManager
> ---
>
> Key: IGNITE-22155
> URL: https://issues.apache.org/jira/browse/IGNITE-22155
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> To implement the further steps in the zone-based collocation track we need to 
> move the logic around start/stop replicas to separate component 
> ZoneReplicasManager.
> *Definition of done*
> - Component listens the zone creation/drop events (and do nothing at the 
> moment, but will populate the PartitionListener by TableProcessors in future)
> - Component listens the table create/drop events and start the appropriate 
> replicas/partition listeners
> - Component initializes the appropriate rebalance listeners



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


[jira] [Updated] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov updated IGNITE-22155:

Description: 
*Motivation*
To implement the further steps in the zone-based collocation track we need to 
move the logic around start/stop replicas to separate component 
ZoneReplicasManager.

*Definition of done*
- Component listens the zone creation/drop events (and do nothing at the 
moment, but will populate the PartitionListener by TableProcessors in future)
- Component listens the table create/drop events and start the appropriate 
replicas/partition listeners
- Component initialize the appropriate rebalance listeners


> Introduce new component ZoneReplicasManager
> ---
>
> Key: IGNITE-22155
> URL: https://issues.apache.org/jira/browse/IGNITE-22155
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Priority: Major
>
> *Motivation*
> To implement the further steps in the zone-based collocation track we need to 
> move the logic around start/stop replicas to separate component 
> ZoneReplicasManager.
> *Definition of done*
> - Component listens the zone creation/drop events (and do nothing at the 
> moment, but will populate the PartitionListener by TableProcessors in future)
> - Component listens the table create/drop events and start the appropriate 
> replicas/partition listeners
> - Component initialize the appropriate rebalance listeners



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


[jira] [Updated] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov updated IGNITE-22155:

Labels: ignite-3  (was: )

> Introduce new component ZoneReplicasManager
> ---
>
> Key: IGNITE-22155
> URL: https://issues.apache.org/jira/browse/IGNITE-22155
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> To implement the further steps in the zone-based collocation track we need to 
> move the logic around start/stop replicas to separate component 
> ZoneReplicasManager.
> *Definition of done*
> - Component listens the zone creation/drop events (and do nothing at the 
> moment, but will populate the PartitionListener by TableProcessors in future)
> - Component listens the table create/drop events and start the appropriate 
> replicas/partition listeners
> - Component initialize the appropriate rebalance listeners



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


[jira] [Updated] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)


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

Kirill Gusakov updated IGNITE-22155:

Epic Link: IGNITE-22115

> Introduce new component ZoneReplicasManager
> ---
>
> Key: IGNITE-22155
> URL: https://issues.apache.org/jira/browse/IGNITE-22155
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Gusakov
>Priority: Major
>  Labels: ignite-3
>
> *Motivation*
> To implement the further steps in the zone-based collocation track we need to 
> move the logic around start/stop replicas to separate component 
> ZoneReplicasManager.
> *Definition of done*
> - Component listens the zone creation/drop events (and do nothing at the 
> moment, but will populate the PartitionListener by TableProcessors in future)
> - Component listens the table create/drop events and start the appropriate 
> replicas/partition listeners
> - Component initialize the appropriate rebalance listeners



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


[jira] [Created] (IGNITE-22155) Introduce new component ZoneReplicasManager

2024-04-30 Thread Kirill Gusakov (Jira)
Kirill Gusakov created IGNITE-22155:
---

 Summary: Introduce new component ZoneReplicasManager
 Key: IGNITE-22155
 URL: https://issues.apache.org/jira/browse/IGNITE-22155
 Project: Ignite
  Issue Type: Improvement
Reporter: Kirill Gusakov






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


[jira] [Comment Edited] (IGNITE-22148) BinaryTupleFormatException for UUID

2024-04-30 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin edited comment on IGNITE-22148 at 4/30/24 12:44 PM:
-

the following case should be also investigated (rand_uuid instead of 
gen_random_uuid)
{code:java}
sql("create table tdd(a uuid default RAND_UUID, b int, primary key (a) )"); 
sql("insert into tdd(b) values(22)");
{code}

current output

{noformat}
Caused by: java.lang.IllegalArgumentException: No enum constant 
org.apache.ignite.internal.schema.DefaultValueGenerator.RAND_UUID
at java.base/java.lang.Enum.valueOf(Enum.java:240) ~[?:?]
at 
org.apache.ignite.internal.schema.DefaultValueGenerator.valueOf(DefaultValueGenerator.java:29)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:138)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:162)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaUtils.prepareSchemaDescriptor(SchemaUtils.java:37)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaManager.onTableCreatedOrAltered(SchemaManager.java:147)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaManager.onTableCreated(SchemaManager.java:119)
 ~[main/:?]
at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:83)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:532)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:499)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:310)
 ~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:233)
 ~[main/:?]
... 6 more

{noformat}




was (Author: xtern):
the following case should be also investigated
{code:java}
sql("create table tdd(a uuid default RAND_UUID, b int, primary key (a) )"); 
sql("insert into tdd(b) values(22)");
{code}

current output

{noformat}
Caused by: java.lang.IllegalArgumentException: No enum constant 
org.apache.ignite.internal.schema.DefaultValueGenerator.RAND_UUID
at java.base/java.lang.Enum.valueOf(Enum.java:240) ~[?:?]
at 
org.apache.ignite.internal.schema.DefaultValueGenerator.valueOf(DefaultValueGenerator.java:29)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:138)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:162)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaUtils.prepareSchemaDescriptor(SchemaUtils.java:37)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaManager.onTableCreatedOrAltered(SchemaManager.java:147)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaManager.onTableCreated(SchemaManager.java:119)
 ~[main/:?]
at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:83)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:532)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:499)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:310)
 ~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:233)
 ~[main/:?]
... 6 more

{noformat}



> BinaryTupleFormatException for UUID
> ---
>
> Key: IGNITE-22148
> URL: https://issues.apache.org/jira/browse/IGNITE-22148
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Iurii Gerzhedovich
>Priority: Major
>  Labels: ignite-3
>
> Simple example to reproduce the issue:
> {code:java}
> sql("create table tdd(a uuid default 

[jira] [Commented] (IGNITE-22148) BinaryTupleFormatException for UUID

2024-04-30 Thread Pavel Pereslegin (Jira)


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

Pavel Pereslegin commented on IGNITE-22148:
---

the following case should be also investigated
{code:java}
sql("create table tdd(a uuid default RAND_UUID, b int, primary key (a) )"); 
sql("insert into tdd(b) values(22)");
{code}

current output

{noformat}
Caused by: java.lang.IllegalArgumentException: No enum constant 
org.apache.ignite.internal.schema.DefaultValueGenerator.RAND_UUID
at java.base/java.lang.Enum.valueOf(Enum.java:240) ~[?:?]
at 
org.apache.ignite.internal.schema.DefaultValueGenerator.valueOf(DefaultValueGenerator.java:29)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:138)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:162)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaUtils.prepareSchemaDescriptor(SchemaUtils.java:37)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaManager.onTableCreatedOrAltered(SchemaManager.java:147)
 ~[main/:?]
at 
org.apache.ignite.internal.schema.SchemaManager.onTableCreated(SchemaManager.java:119)
 ~[main/:?]
at 
org.apache.ignite.internal.event.AbstractEventProducer.fireEvent(AbstractEventProducer.java:88)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl.access$000(CatalogManagerImpl.java:83)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:532)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.CatalogManagerImpl$OnUpdateHandlerImpl.handle(CatalogManagerImpl.java:499)
 ~[main/:?]
at 
org.apache.ignite.internal.catalog.storage.UpdateLogImpl$UpdateListener.onUpdate(UpdateLogImpl.java:310)
 ~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.Watch.onUpdate(Watch.java:67) 
~[main/:?]
at 
org.apache.ignite.internal.metastorage.server.WatchProcessor.notifyWatches(WatchProcessor.java:233)
 ~[main/:?]
... 6 more

{noformat}



> BinaryTupleFormatException for UUID
> ---
>
> Key: IGNITE-22148
> URL: https://issues.apache.org/jira/browse/IGNITE-22148
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Iurii Gerzhedovich
>Priority: Major
>  Labels: ignite-3
>
> Simple example to reproduce the issue:
> {code:java}
> sql("create table tdd(a uuid default gen_random_uuid, b int, primary key (a) 
> )"); 
> sql("insert into tdd(b) values(22)");{code}
> we got
> {code:java}
> Caused by: org.apache.ignite.internal.binarytuple.BinaryTupleFormatException: 
> IGN-CMN-65535 TraceId:5dfdd34c-6722-41ad-85f3-13aa0c483454 Invalid length for 
> a tuple element: 36
>     at 
> org.apache.ignite.internal.binarytuple.BinaryTupleParser.uuidValue(BinaryTupleParser.java:377)
>     at 
> org.apache.ignite.internal.binarytuple.BinaryTupleReader.uuidValue(BinaryTupleReader.java:305)
>     at 
> org.apache.ignite.internal.sql.engine.util.Commons.readValue(Commons.java:487)
>     at 
> org.apache.ignite.internal.sql.engine.exec.SqlOutputBinaryRow.newRow(SqlOutputBinaryRow.java:85)
>     at 
> org.apache.ignite.internal.sql.engine.exec.TableRowConverterImpl.toBinaryRow(TableRowConverterImpl.java:83)
>     at 
> org.apache.ignite.internal.sql.engine.exec.UpdatableTableImpl.insert(UpdatableTableImpl.java:187)
>     at 
> org.apache.ignite.internal.sql.engine.prepare.KeyValueModifyPlan.lambda$execute$1(KeyValueModifyPlan.java:133)
>     at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187)
>  {code}



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


[jira] [Updated] (IGNITE-22154) Add more tests for MapReduce API

2024-04-30 Thread Vadim Pakhnushev (Jira)


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

Vadim Pakhnushev updated IGNITE-22154:
--
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Add more tests for MapReduce API
> 
>
> Key: IGNITE-22154
> URL: https://issues.apache.org/jira/browse/IGNITE-22154
> Project: Ignite
>  Issue Type: Improvement
>  Components: compute
>Reporter: Vadim Pakhnushev
>Assignee: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
>
> We should add more tests for map reduce task management, namely management 
> through REST API and changing priorities of the submitted jobs.



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


[jira] [Created] (IGNITE-22154) Add more tests for MapReduce API

2024-04-30 Thread Vadim Pakhnushev (Jira)
Vadim Pakhnushev created IGNITE-22154:
-

 Summary: Add more tests for MapReduce API
 Key: IGNITE-22154
 URL: https://issues.apache.org/jira/browse/IGNITE-22154
 Project: Ignite
  Issue Type: Improvement
  Components: compute
Reporter: Vadim Pakhnushev
Assignee: Vadim Pakhnushev


We should add more tests for map reduce task management, namely management 
through REST API and changing priorities of the submitted jobs.



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


[jira] [Updated] (IGNITE-22132) .NET: Thin 3.0: EF Core provider

2024-04-30 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-22132:
-
Labels: ignite-3  (was: )

> .NET: Thin 3.0: EF Core provider
> 
>
> Key: IGNITE-22132
> URL: https://issues.apache.org/jira/browse/IGNITE-22132
> Project: Ignite
>  Issue Type: Epic
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> EF Core provider will allow using Ignite as any other DB supported by EF.
> This makes adoption incredibly easy for the users - a matter of a few changed 
> lines to switch from Postgres/MsSQL/MySQL, keeping all existing code.
> h2. But we already have a LINQ provider, what is the difference?
> Think micro-ORM vs full-blown one.
> *Ignite LINQ provider:*
> * Comes in the box, very lightweight
> * Can do LINQ without any setup, literally one line
> * Limited DML
> * No DDL
> *EF Core:*
> * Separate package
> * Full-blown ORM, extremely powerful
> * Familiar to any .NET developer, same API for many databases
> h2. More Info
> * EF Core is the most popular ORM for .NET. Provides an abstract way of 
> working with a database without writing any SQL by hand. Includes DDL, DML, 
> migrations.
> * Providers exist for many databases: 
> https://learn.microsoft.com/en-us/ef/core/providers/
> * Writing a provider: 
> https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider
> * Reference implementation: 
> https://github.com/dotnet/efcore/tree/main/src/EFCore.Sqlite.Core



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


[jira] [Updated] (IGNITE-22118) Explicitly specify pool to execute start/stop on IgniteComponent

2024-04-30 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-22118:
-
Labels: ignite-3  (was: )

> Explicitly specify pool to execute start/stop on IgniteComponent
> 
>
> Key: IGNITE-22118
> URL: https://issues.apache.org/jira/browse/IGNITE-22118
> Project: Ignite
>  Issue Type: Task
>Reporter:  Kirill Sizov
>Priority: Major
>  Labels: ignite-3
>
> start/stop methods of {{IgniteComponent}} should be called from specific 
> thread pools.
> At the moment start is called from two different threads - some components 
> start on _main_ while the others start on _startupExecutor_. 
> We need a consistent process of starting and stoping all components.



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


[jira] [Updated] (IGNITE-22115) Data collocation: single Primary, single Raft

2024-04-30 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin updated IGNITE-22115:
-
Labels: ignite-3  (was: )

> Data collocation: single Primary, single Raft
> -
>
> Key: IGNITE-22115
> URL: https://issues.apache.org/jira/browse/IGNITE-22115
> Project: Ignite
>  Issue Type: Epic
>Reporter: Alexander Lapin
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-22153) Support partition filter in Criteria API

2024-04-30 Thread Mikhail Pochatkin (Jira)
Mikhail Pochatkin created IGNITE-22153:
--

 Summary: Support partition filter in Criteria API
 Key: IGNITE-22153
 URL: https://issues.apache.org/jira/browse/IGNITE-22153
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Mikhail Pochatkin


After IGNITE-22065 and IGNITE-22152 we need to support partition filter in 
Criteria API



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


[jira] [Created] (IGNITE-22152) Support partition filter in SQL

2024-04-30 Thread Mikhail Pochatkin (Jira)
Mikhail Pochatkin created IGNITE-22152:
--

 Summary: Support partition filter in SQL
 Key: IGNITE-22152
 URL: https://issues.apache.org/jira/browse/IGNITE-22152
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Mikhail Pochatkin


After IGNITE-22065 we need to introduce filter by partition in SELECT operator



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


[jira] [Updated] (IGNITE-22149) Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22149:
---
Description: 
Need to implement *org.apache.ignite.table.partition.PartitionManager* 
interface in Thin Client. 

 

 

  was:
Need to implement `org.apache.ignite.table.partition.PartitionManager` 
interface in Thin Client. 

 

 


> Thin 3.0: Implement Table partition API
> ---
>
> Key: IGNITE-22149
> URL: https://issues.apache.org/jira/browse/IGNITE-22149
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement *org.apache.ignite.table.partition.PartitionManager* 
> interface in Thin Client. 
>  
>  



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


[jira] [Updated] (IGNITE-22149) Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22149:
---
Component/s: platforms

> Thin 3.0: Implement Table partition API
> ---
>
> Key: IGNITE-22149
> URL: https://issues.apache.org/jira/browse/IGNITE-22149
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement *org.apache.ignite.table.partition.PartitionManager* 
> interface in Thin Client. 
>  
>  



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


[jira] [Updated] (IGNITE-22151) C++ Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22151:
---
Component/s: platforms

> C++ Thin 3.0: Implement Table partition API
> ---
>
> Key: IGNITE-22151
> URL: https://issues.apache.org/jira/browse/IGNITE-22151
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement *org.apache.ignite.table.partition.PartitionManager* 
> interface in C++ Thin Client. 
>  
>  



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


[jira] [Updated] (IGNITE-22150) .NET Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22150:
---
Description: 
Need to implement *org.apache.ignite.table.partition.PartitionManager* 
interface in C++ Thin Client. 

 

 

  was:
Need to implement `org.apache.ignite.table.partition.PartitionManager` 
interface in C++ Thin Client. 

 

 


> .NET Thin 3.0: Implement Table partition API
> 
>
> Key: IGNITE-22150
> URL: https://issues.apache.org/jira/browse/IGNITE-22150
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement *org.apache.ignite.table.partition.PartitionManager* 
> interface in C++ Thin Client. 
>  
>  



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


[jira] [Updated] (IGNITE-22150) .NET Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22150:
---
Description: 
Need to implement *org.apache.ignite.table.partition.PartitionManager* 
interface in .NET Thin Client. 

 

 

  was:
Need to implement *org.apache.ignite.table.partition.PartitionManager* 
interface in C++ Thin Client. 

 

 


> .NET Thin 3.0: Implement Table partition API
> 
>
> Key: IGNITE-22150
> URL: https://issues.apache.org/jira/browse/IGNITE-22150
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement *org.apache.ignite.table.partition.PartitionManager* 
> interface in .NET Thin Client. 
>  
>  



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


[jira] [Updated] (IGNITE-22150) .NET Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22150:
---
Component/s: platforms

> .NET Thin 3.0: Implement Table partition API
> 
>
> Key: IGNITE-22150
> URL: https://issues.apache.org/jira/browse/IGNITE-22150
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement *org.apache.ignite.table.partition.PartitionManager* 
> interface in .NET Thin Client. 
>  
>  



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


[jira] [Created] (IGNITE-22151) C++ Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)
Mikhail Pochatkin created IGNITE-22151:
--

 Summary: C++ Thin 3.0: Implement Table partition API
 Key: IGNITE-22151
 URL: https://issues.apache.org/jira/browse/IGNITE-22151
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Mikhail Pochatkin


Need to implement *org.apache.ignite.table.partition.PartitionManager* 
interface in C++ Thin Client. 

 

 



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


[jira] [Created] (IGNITE-22149) Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)
Mikhail Pochatkin created IGNITE-22149:
--

 Summary: Thin 3.0: Implement Table partition API
 Key: IGNITE-22149
 URL: https://issues.apache.org/jira/browse/IGNITE-22149
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Mikhail Pochatkin


Need to implement `org.apache.ignite.table.partition.PartitionManager` 
interface in Thin Client. 

 

 



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


[jira] [Created] (IGNITE-22150) .NET Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)
Mikhail Pochatkin created IGNITE-22150:
--

 Summary: .NET Thin 3.0: Implement Table partition API
 Key: IGNITE-22150
 URL: https://issues.apache.org/jira/browse/IGNITE-22150
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Reporter: Mikhail Pochatkin


Need to implement `org.apache.ignite.table.partition.PartitionManager` 
interface in Thin Client. 

 

 



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


[jira] [Updated] (IGNITE-22150) .NET Thin 3.0: Implement Table partition API

2024-04-30 Thread Mikhail Pochatkin (Jira)


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

Mikhail Pochatkin updated IGNITE-22150:
---
Description: 
Need to implement `org.apache.ignite.table.partition.PartitionManager` 
interface in C++ Thin Client. 

 

 

  was:
Need to implement `org.apache.ignite.table.partition.PartitionManager` 
interface in Thin Client. 

 

 


> .NET Thin 3.0: Implement Table partition API
> 
>
> Key: IGNITE-22150
> URL: https://issues.apache.org/jira/browse/IGNITE-22150
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Mikhail Pochatkin
>Priority: Major
>  Labels: ignite-3
>
> Need to implement `org.apache.ignite.table.partition.PartitionManager` 
> interface in C++ Thin Client. 
>  
>  



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


[jira] [Resolved] (IGNITE-21643) Ensure full project build as part of Run All on TeamCity

2024-04-30 Thread Artem Egorov (Jira)


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

Artem Egorov resolved IGNITE-21643.
---
Resolution: Done

> Ensure full project build as part of Run All on TeamCity
> 
>
> Key: IGNITE-21643
> URL: https://issues.apache.org/jira/browse/IGNITE-21643
> Project: Ignite
>  Issue Type: Improvement
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Artem Egorov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Recently we discovered that some build steps (such as *shadowJar*) are 
> skipped during Run All on TeamCity, which can cause build-breaking changes to 
> appear in main branch - see IGNITE-21631 .
> Update AI3 TeamCity to run the full build for every PR.



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


[jira] [Created] (IGNITE-22148) BinaryTupleFormatException for UUID

2024-04-30 Thread Iurii Gerzhedovich (Jira)
Iurii Gerzhedovich created IGNITE-22148:
---

 Summary: BinaryTupleFormatException for UUID
 Key: IGNITE-22148
 URL: https://issues.apache.org/jira/browse/IGNITE-22148
 Project: Ignite
  Issue Type: Improvement
  Components: sql
Reporter: Iurii Gerzhedovich


Simple example to reproduce the issue:
{code:java}
sql("create table tdd(a uuid default gen_random_uuid, b int, primary key (a) 
)"); 
sql("insert into tdd(b) values(22)");{code}
we got
{code:java}
Caused by: org.apache.ignite.internal.binarytuple.BinaryTupleFormatException: 
IGN-CMN-65535 TraceId:5dfdd34c-6722-41ad-85f3-13aa0c483454 Invalid length for a 
tuple element: 36
    at 
org.apache.ignite.internal.binarytuple.BinaryTupleParser.uuidValue(BinaryTupleParser.java:377)
    at 
org.apache.ignite.internal.binarytuple.BinaryTupleReader.uuidValue(BinaryTupleReader.java:305)
    at 
org.apache.ignite.internal.sql.engine.util.Commons.readValue(Commons.java:487)
    at 
org.apache.ignite.internal.sql.engine.exec.SqlOutputBinaryRow.newRow(SqlOutputBinaryRow.java:85)
    at 
org.apache.ignite.internal.sql.engine.exec.TableRowConverterImpl.toBinaryRow(TableRowConverterImpl.java:83)
    at 
org.apache.ignite.internal.sql.engine.exec.UpdatableTableImpl.insert(UpdatableTableImpl.java:187)
    at 
org.apache.ignite.internal.sql.engine.prepare.KeyValueModifyPlan.lambda$execute$1(KeyValueModifyPlan.java:133)
    at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187)
 {code}



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


[jira] [Updated] (IGNITE-21731) Sql. Split TableRowConverter#toBinaryRow on two methods

2024-04-30 Thread Andrey Mashenkov (Jira)


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

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

> Sql. Split TableRowConverter#toBinaryRow on two methods
> ---
>
> Key: IGNITE-21731
> URL: https://issues.apache.org/jira/browse/IGNITE-21731
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, method 
> {{org.apache.ignite.internal.sql.engine.exec.TableRowConverter#toBinaryRow}} 
> accepts boolean flag {{key}} and creates row with regard to this flag.  
> Perhaps, the api will be cleaner if we split this method on two parts: 
> {{toKeyRow}} and {{toFullRow}}. 



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


[jira] [Updated] (IGNITE-21732) Sql. Split TableRowConverterImpl on two different implementations

2024-04-30 Thread Andrey Mashenkov (Jira)


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

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

> Sql. Split TableRowConverterImpl on two different implementations
> -
>
> Key: IGNITE-21732
> URL: https://issues.apache.org/jira/browse/IGNITE-21732
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Konstantin Orlov
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Currently, {{TableRowConverterImpl}} implements two strategies of conversion: 
> with and without field trimming. To make code simper and to remove branching 
> from a hot path let's split this class on two (one per each strategy)



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


[jira] [Resolved] (IGNITE-19702) Unable to create column with default value with literal convertion

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-19702.
-
Resolution: Cannot Reproduce

> Unable to create column with default value with literal convertion
> --
>
> Key: IGNITE-19702
> URL: https://issues.apache.org/jira/browse/IGNITE-19702
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0
>Reporter: Alexander Belyak
>Priority: Major
>  Labels: ignite-3
>
> DDL command to create a column with default value fails if it require some 
> type of conversion (string to time, date, timestamp, uuid). For example:
> {noformat}
> create table ttt6(key int primary key, val TIMESTAMP default '2022-02-01 
> 12:12:12');{noformat}
> returns
> {noformat}
> [Code: 0, SQL State: 5]  Exception while executing query [query=create 
> table ttt6(key int primary key, val TIMESTAMP default '2022-02-01 
> 12:12:12')]. Error message:Unable co convert literal{noformat}



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


[jira] [Assigned] (IGNITE-21731) Sql. Split TableRowConverter#toBinaryRow on two methods

2024-04-30 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov reassigned IGNITE-21731:
-

Assignee: Andrey Mashenkov

> Sql. Split TableRowConverter#toBinaryRow on two methods
> ---
>
> Key: IGNITE-21731
> URL: https://issues.apache.org/jira/browse/IGNITE-21731
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Konstantin Orlov
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
>
> Currently, method 
> {{org.apache.ignite.internal.sql.engine.exec.TableRowConverter#toBinaryRow}} 
> accepts boolean flag {{key}} and creates row with regard to this flag.  
> Perhaps, the api will be cleaner if we split this method on two parts: 
> {{toKeyRow}} and {{toFullRow}}. 



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


[jira] [Commented] (IGNITE-21445) IndexQuery ignores pageSize if setLocal=true is set

2024-04-30 Thread Ignite TC Bot (Jira)


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

Ignite TC Bot commented on IGNITE-21445:


{panel:title=Branch: [pull/11317/head] Base: [master] : No blockers 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}{panel}
{panel:title=Branch: [pull/11317/head] Base: [master] : No new tests 
found!|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}{panel}
[TeamCity *-- Run :: All* 
Results|https://ci2.ignite.apache.org/viewLog.html?buildId=7848030buildTypeId=IgniteTests24Java8_RunAll]

> IndexQuery ignores pageSize if setLocal=true is set
> ---
>
> Key: IGNITE-21445
> URL: https://issues.apache.org/jira/browse/IGNITE-21445
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 2.14
>Reporter: Maksim Timonin
>Assignee: Oleg Valuyskiy
>Priority: Major
>  Labels: ise
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> In 2.14, see GridCacheQueryManager#runQuery:L1323
> If query is local it just collects all possible data.
> For ScanQuery this code doesn't work, as it directly uses local 
> scanQueryIterator that returns entry one by one.
> Solution:
>  # Prepare page for iterating
>  # Use the same logic as ScanQuery for local queries.



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


[jira] [Resolved] (IGNITE-18393) Sql. Broken aggregations accumulators for (var)binary types.

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-18393.
-
Resolution: Cannot Reproduce

Seems was fixed under IGNITE-18373 

> Sql. Broken aggregations accumulators for (var)binary types.
> 
>
> Key: IGNITE-18393
> URL: https://issues.apache.org/jira/browse/IGNITE-18393
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Evgeny Stanilovsky
>Priority: Major
>  Labels: ignite-3
>
> No accumulators implemented for aggregators with (var)binary types
> {noformat}
> CREATE TABLE blobs (b varbinary, g INTEGER);
> INSERT INTO blobs VALUES (x'FFFEFB', 1);
> SELECT MIN(b) FROM blobs;
> {noformat}
>  
> {noformat}
> Caused by: org.apache.ignite.sql.SqlException: IGN-SQL-26 
> TraceId:06941fc6-3098-4fd3-a9f2-07f9a66fb317 Line 2, Column 125: Cannot cast 
> "long" to "org.apache.calcite.avatica.util.ByteString"
>     at 
> org.apache.ignite.internal.sql.engine.util.Commons.compile(Commons.java:515)
>     at 
> org.apache.ignite.internal.sql.engine.exec.exp.agg.AccumulatorsFactory.compileCast(AccumulatorsFactory.java:128)
>     at 
> org.apache.ignite.internal.sql.engine.exec.exp.agg.AccumulatorsFactory.cast0(AccumulatorsFactory.java:100){noformat}
> check:
> org.apache.ignite.internal.sql.engine.exec.exp.agg.Accumulators



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


[jira] [Assigned] (IGNITE-22147) ItTxResourcesVacuumTest.testRecoveryAfterPersistentStateVacuumized is flaky

2024-04-30 Thread Vyacheslav Koptilin (Jira)


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

Vyacheslav Koptilin reassigned IGNITE-22147:


Assignee: Denis Chudov

> ItTxResourcesVacuumTest.testRecoveryAfterPersistentStateVacuumized is flaky
> ---
>
> Key: IGNITE-22147
> URL: https://issues.apache.org/jira/browse/IGNITE-22147
> Project: Ignite
>  Issue Type: Bug
>Reporter: Denis Chudov
>Assignee: Denis Chudov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> https://ci.ignite.apache.org/project.html?projectId=ApacheIgnite3xGradle_Test_IntegrationTests=7228314194201887527=testDetails



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


[jira] [Resolved] (IGNITE-19032) Sql. Conditions in NATURAL JOINs do not use type coercion rules.

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-19032.
-
Resolution: Cannot Reproduce

> Sql. Conditions in NATURAL JOINs do not use type coercion rules.
> 
>
> Key: IGNITE-19032
> URL: https://issues.apache.org/jira/browse/IGNITE-19032
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Maksim Zhuravkov
>Priority: Minor
>  Labels: calcite2-required, calcite3-required, ignite-3
> Fix For: 3.0.0-beta2
>
>
> NATURAL JOINs do not use type coercion and that causes some queries to fail  
> with ClassCastException, even though equivalent JOINs complete successfully.
> {code:java}
> sql("CREATE TABLE T11 (c1 int primary key, c2 INTEGER)");
> sql("CREATE TABLE T12 (c1 BIGINT primary key, c2 BIGINT)");
> Transaction tx = CLUSTER_NODES.get(0).transactions().begin();
> sql(tx, "INSERT INTO T11 VALUES(1, 2)");
> sql(tx, "INSERT INTO T11 VALUES(2, 3)");
> sql(tx, "INSERT INTO T12 VALUES(1, 2)");
> sql(tx, "INSERT INTO T12 VALUES(2, 4)");
> tx.commit();
> sql("SELECT * FROM t11 NATURAL JOIN t12");
> {code}
> Error:
> {code:java}
> Caused by: java.lang.ClassCastException: class java.lang.Long cannot be cast 
> to class java.lang.Integer (java.lang.Long and java.lang.Integer are in 
> module java.base of loader 'bootstrap')
>   at 
> org.apache.ignite.internal.util.ColocationUtils.append(ColocationUtils.java:67)
>   at 
> org.apache.ignite.internal.sql.engine.util.HashFunctionFactoryImpl$TypesAwareHashFunction.hashOf(HashFunctionFactoryImpl.java:116)
>   at 
> org.apache.ignite.internal.sql.engine.trait.Partitioned.targets(Partitioned.java:47)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.Outbox.flush(Outbox.java:242)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.Outbox.push(Outbox.java:151)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.SortNode.flush(SortNode.java:193)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.SortNode.end(SortNode.java:154)
>   a
> {code}
> An equivalent query passes with no issues:
> {code:java}
> SELECT * FROM t11 JOIN t12 ON t11.c1 = t12.c1 AND t11.c2 = t12.c2
> {code}
> *Solution*
> Because NATURAL JOINs equivalent to JOINs that with ON condition, it would be 
> better to rewrite them with equivalent JOINs with ON conditions prior to 
> optimisation (even at the parsing stage) to leverage the code that handles 
> type coercion.



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


[jira] [Assigned] (IGNITE-22128) Balancing partitions across stripes

2024-04-30 Thread Vladimir Pligin (Jira)


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

Vladimir Pligin reassigned IGNITE-22128:


Assignee: Vladislav Pyatkov

> Balancing partitions across stripes
> ---
>
> Key: IGNITE-22128
> URL: https://issues.apache.org/jira/browse/IGNITE-22128
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladislav Pyatkov
>Assignee: Vladislav Pyatkov
>Priority: Major
>  Labels: ignite-3
>
> h3. Motivation
> Right now, we use a hash to balance partitions.
> {code:java}
> public int getStripe(NodeId nodeId) {
>   return Math.abs(nodeId.hashCode() % stripes);
> }
> {code}
> This approach might lead to a skew.
> h3. Definition of done
> Partition is distributed statically by the honest round-robin algorithm.



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


[jira] [Resolved] (IGNITE-15604) Caclite. Unexpected result in correlated scalar select with constant in projection.

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-15604.
-
Resolution: Cannot Reproduce

> Caclite. Unexpected result  in correlated scalar select with constant in 
> projection.
> 
>
> Key: IGNITE-15604
> URL: https://issues.apache.org/jira/browse/IGNITE-15604
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Evgeny Stanilovsky
>Priority: Major
>  Labels: calcite, calcite2-required, calcite3-required, ignite-3
>
> {noformat}
> statement ok
> CREATE TABLE integers(i INTEGER)
> statement ok
> INSERT INTO integers VALUES (1), (2), (3), (NULL)
> query II
> SELECT i, (SELECT 42 FROM integers WHERE i=i1.i) AS j FROM integers i1 ORDER 
> BY i NULLS FIRST;
> 
> NULL  NULL
> 1 42
> 2 42
> 3 42
> {noformat}
> {noformat}
> /subquery/scalar/test_correlated_subquery.test[_ignore]
> {noformat}
> checked with mysql, all ok there.



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


[jira] [Assigned] (IGNITE-21732) Sql. Split TableRowConverterImpl on two different implementations

2024-04-30 Thread Andrey Mashenkov (Jira)


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

Andrey Mashenkov reassigned IGNITE-21732:
-

Assignee: Andrey Mashenkov  (was: Evgeny Stanilovsky)

> Sql. Split TableRowConverterImpl on two different implementations
> -
>
> Key: IGNITE-21732
> URL: https://issues.apache.org/jira/browse/IGNITE-21732
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Affects Versions: 3.0.0-beta1
>Reporter: Konstantin Orlov
>Assignee: Andrey Mashenkov
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Currently, {{TableRowConverterImpl}} implements two strategies of conversion: 
> with and without field trimming. To make code simper and to remove branching 
> from a hot path let's split this class on two (one per each strategy)



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


[jira] [Commented] (IGNITE-22086) Thin 3.0: observableTimestamp is 0 after handshake

2024-04-30 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-22086:
-

Merged to main: 
[66172ffc2c07ebc13d25f496b54768eb718dad09|https://github.com/apache/ignite-3/commit/66172ffc2c07ebc13d25f496b54768eb718dad09]

> Thin 3.0: observableTimestamp is 0 after handshake
> --
>
> Key: IGNITE-22086
> URL: https://issues.apache.org/jira/browse/IGNITE-22086
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> We propagate *observableTimestamp* to client with every response (see 
> *ClientInboundMessageHandler#writeResponseHeader*), but not on handshake. As 
> a result, the very first operation from the client has 
> *observableTimestamp=0*, which can lead to causality issues.



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


[jira] [Updated] (IGNITE-19855) ODBC 3.0: Implement multiple queries execution

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-19855:
-
Epic Link:   (was: IGNITE-20815)

> ODBC 3.0: Implement multiple queries execution
> --
>
> Key: IGNITE-19855
> URL: https://issues.apache.org/jira/browse/IGNITE-19855
> Project: Ignite
>  Issue Type: New Feature
>  Components: odbc
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>
> Currently, we do not support execution of multiple queries and fetching of 
> multiple result sets. Let's implement it.



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


[jira] [Commented] (IGNITE-22086) Thin 3.0: observableTimestamp is 0 after handshake

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego commented on IGNITE-22086:
--

Looks good to me.

> Thin 3.0: observableTimestamp is 0 after handshake
> --
>
> Key: IGNITE-22086
> URL: https://issues.apache.org/jira/browse/IGNITE-22086
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> We propagate *observableTimestamp* to client with every response (see 
> *ClientInboundMessageHandler#writeResponseHeader*), but not on handshake. As 
> a result, the very first operation from the client has 
> *observableTimestamp=0*, which can lead to causality issues.



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


[jira] [Updated] (IGNITE-19684) С++: Thin 3.0: Tx partition awareness

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-19684:
-
Epic Link: IGNITE-19902  (was: IGNITE-19479)

> С++: Thin 3.0: Tx partition awareness
> -
>
> Key: IGNITE-19684
> URL: https://issues.apache.org/jira/browse/IGNITE-19684
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Igor Sapego
>Priority: Major
>  Labels: C++, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Currently, client sends a separate *TX_BEGIN* request when the user invokes 
> *transactions.begin_async()* API:
> * Extra network request.
> * Chosen tx coordinator (server node that handles TX_BEGIN request) is random 
> and in most cases won't be the primary node for enlisted keys.
> Solution:
> * On the client, do not send *TX_BEGIN* request when the user invokes 
> *transactions.begin_async()*. Instead, start the tx "on demand" when it is 
> first used in some API.
> * Send two requests at once to the same node where the first enlisted 
> operation goes (according to partition awareness, if applicable).



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


[jira] [Updated] (IGNITE-19682) .NET: Thin 3.0: Tx partition awareness

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-19682:
-
Epic Link: IGNITE-19902  (was: IGNITE-19479)

> .NET: Thin 3.0: Tx partition awareness
> --
>
> Key: IGNITE-19682
> URL: https://issues.apache.org/jira/browse/IGNITE-19682
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3, performance
> Fix For: 3.0.0-beta2
>
>
> Currently, client sends a separate *TX_BEGIN* request when the user invokes 
> *ITransactions.BeginAsync* API:
> * Extra network request.
> * Chosen tx coordinator (server node that handles TX_BEGIN request) is random 
> and in most cases won't be the primary node for enlisted keys.
> Solution:
> * On the client, do not send *TX_BEGIN* request when the user invokes 
> *ITransactions.BeginAsync*. Instead, start the tx "on demand" when it is 
> first used in some API.
> * Send two requests at once to the same node where the first enlisted 
> operation goes (according to partition awareness, if applicable).



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


[jira] [Updated] (IGNITE-22090) Thin 3.0: Avoid TX_BEGIN round-trip

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22090:
-
Epic Link: IGNITE-19902  (was: IGNITE-19479)

> Thin 3.0: Avoid TX_BEGIN round-trip
> ---
>
> Key: IGNITE-22090
> URL: https://issues.apache.org/jira/browse/IGNITE-22090
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> IGNITE-19681 implements tx partition awareness, where TX_BEGIN request is 
> performed together with the first enlisted operation. However, this still 
> involves a separate round-trip to start the transaction.
> We can change the protocol to do two things in one go:
> * Start the transaction
> * Enlist first operation
> See the comment from [~ascherbakov]: 
> https://github.com/apache/ignite-3/pull/3640#discussion_r1575943518
> {code}
> This can be optimized even further.
> Currently we still have +1RTT due to begin tx request/response here, which 
> may be sensitive to small transactions.
> A transaction should be started on first map request.
> For this to work logical client tx id should be assigned on client.
> For example, id can consist of local client counter combined with client 
> unique id assigned by server on handshake.
> One bit of 64 bit id is reserved for "first" flag.
> If an operation is "first", the txn is implicitly started.
> {code}



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


[jira] [Updated] (IGNITE-19681) Thin 3.0: Tx partition awareness

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-19681:
-
Epic Link: IGNITE-19902  (was: IGNITE-19479)

> Thin 3.0: Tx partition awareness
> 
>
> Key: IGNITE-19681
> URL: https://issues.apache.org/jira/browse/IGNITE-19681
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Currently, client sends a separate *TX_BEGIN* request when the user invokes 
> *IgniteTransactions.begin()* API:
> * Extra network request.
> * Chosen tx coordinator (server node that handles TX_BEGIN request) is random 
> and in most cases won't be the primary node for enlisted keys.
> Solution:
> * On the client, do not send *TX_BEGIN* request when the user invokes 
> *IgniteTransactions.begin()*. Instead, start the tx "on demand" when it is 
> first used in some API.
> * Send two requests at once to the same node where the first enlisted 
> operation goes (according to partition awareness, if applicable).



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


[jira] [Updated] (IGNITE-22145) C++ 3.0: Implement Data Streamer with Receiver for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22145:
-
Labels: iep-102 ignite-3  (was: ignite-3)

> C++ 3.0: Implement Data Streamer with Receiver for C++ client
> -
>
> Key: IGNITE-22145
> URL: https://issues.apache.org/jira/browse/IGNITE-22145
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: iep-102, ignite-3
>
> Let's implement data streamer with receiver for C++ Client.



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


[jira] [Updated] (IGNITE-22144) C++ 3.0: Implement Basic Data Streamer for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22144:
-
Description: 
Let's implement basic version of [IEP-102 
Data 
Streamer|https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer]
 for C++ Client.

  was:
Let's implement basic version of [IEP-102 
Data 
Streamer|"https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer;]
 for C++ Client.


> C++ 3.0: Implement Basic Data Streamer for C++ client
> -
>
> Key: IGNITE-22144
> URL: https://issues.apache.org/jira/browse/IGNITE-22144
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: iep-102, ignite-3
>
> Let's implement basic version of [IEP-102 
> Data 
> Streamer|https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer]
>  for C++ Client.



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


[jira] [Updated] (IGNITE-22144) C++ 3.0: Implement Basic Data Streamer for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22144:
-
Description: 
Let's implement basic version of [IEP-102 
Data 
Streamer|"https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer;]
 for C++ Client.

  was:
Let's implement basic version of [IEP-102 
Data 
Streamer|https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer]
 for C++ Client.


> C++ 3.0: Implement Basic Data Streamer for C++ client
> -
>
> Key: IGNITE-22144
> URL: https://issues.apache.org/jira/browse/IGNITE-22144
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: iep-102, ignite-3
>
> Let's implement basic version of [IEP-102 
> Data 
> Streamer|"https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer;]
>  for C++ Client.



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


[jira] [Updated] (IGNITE-22141) C++ 3.0: Implement Partition Awareness for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22141:
-
Labels: iep-95 ignite-3  (was: ignite-3)

> C++ 3.0: Implement Partition Awareness for C++ client
> -
>
> Key: IGNITE-22141
> URL: https://issues.apache.org/jira/browse/IGNITE-22141
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: iep-95, ignite-3
>
> Need to implement [IEP-95 Client Partition 
> Awareness|https://cwiki.apache.org/confluence/display/IGNITE/IEP-95%3A+Client+Partition+Awareness]
>  for C++ Client.



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


[jira] [Updated] (IGNITE-22143) C++ 3.0: Implement Heartbeats for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22143:
-
Labels: iep-83 ignite-3  (was: ignite-3)

> C++ 3.0: Implement Heartbeats for C++ client
> 
>
> Key: IGNITE-22143
> URL: https://issues.apache.org/jira/browse/IGNITE-22143
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: iep-83, ignite-3
>
> Let's implement [IEP-83 Thin Client 
> Keepalive|https://cwiki.apache.org/confluence/display/IGNITE/IEP-83+Thin+Client+Keepalive]
>  for C++ Client.



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


[jira] [Updated] (IGNITE-22144) C++ 3.0: Implement Basic Data Streamer for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22144:
-
Labels: iep-102 ignite-3  (was: ignite-3)

> C++ 3.0: Implement Basic Data Streamer for C++ client
> -
>
> Key: IGNITE-22144
> URL: https://issues.apache.org/jira/browse/IGNITE-22144
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: iep-102, ignite-3
>
> Let's implement basic version of [IEP-102 
> Data 
> Streamer|https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer]
>  for C++ Client.



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


[jira] [Created] (IGNITE-22147) ItTxResourcesVacuumTest.testRecoveryAfterPersistentStateVacuumized is flaky

2024-04-30 Thread Denis Chudov (Jira)
Denis Chudov created IGNITE-22147:
-

 Summary: 
ItTxResourcesVacuumTest.testRecoveryAfterPersistentStateVacuumized is flaky
 Key: IGNITE-22147
 URL: https://issues.apache.org/jira/browse/IGNITE-22147
 Project: Ignite
  Issue Type: Bug
Reporter: Denis Chudov


https://ci.ignite.apache.org/project.html?projectId=ApacheIgnite3xGradle_Test_IntegrationTests=7228314194201887527=testDetails



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


[jira] [Updated] (IGNITE-22145) C++ 3.0: Implement Data Streamer with Receiver for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22145:
-
Epic Link: IGNITE-22146

> C++ 3.0: Implement Data Streamer with Receiver for C++ client
> -
>
> Key: IGNITE-22145
> URL: https://issues.apache.org/jira/browse/IGNITE-22145
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>
> Let's implement data streamer with receiver for C++ Client.



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


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

2024-04-30 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-21629:
---

Assignee: Pavel Tupitsyn

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



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


[jira] [Updated] (IGNITE-22142) C++ 3.0: Implement Retry Policy for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22142:
-
Epic Link: IGNITE-22146

> C++ 3.0: Implement Retry Policy for C++ client
> --
>
> Key: IGNITE-22142
> URL: https://issues.apache.org/jira/browse/IGNITE-22142
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>
> Need to implement [IEP-82 Thin Client Retry 
> Policy|https://cwiki.apache.org/confluence/display/IGNITE/IEP-82+Thin+Client+Retry+Policy]
>  for C++ Client.



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


[jira] [Created] (IGNITE-22146) C++ 3.0: Feature Parity

2024-04-30 Thread Igor Sapego (Jira)
Igor Sapego created IGNITE-22146:


 Summary: C++ 3.0: Feature Parity
 Key: IGNITE-22146
 URL: https://issues.apache.org/jira/browse/IGNITE-22146
 Project: Ignite
  Issue Type: Epic
  Components: thin client
Reporter: Igor Sapego


This is an epic to keep track of the features that need to be implemented for 
C++ Client to have feature parity with Java Client. See 
https://cwiki.apache.org/confluence/display/IGNITE/Client+Features for details



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


[jira] [Updated] (IGNITE-22141) C++ 3.0: Implement Partition Awareness for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22141:
-
Epic Link: IGNITE-22146

> C++ 3.0: Implement Partition Awareness for C++ client
> -
>
> Key: IGNITE-22141
> URL: https://issues.apache.org/jira/browse/IGNITE-22141
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>
> Need to implement [IEP-95 Client Partition 
> Awareness|https://cwiki.apache.org/confluence/display/IGNITE/IEP-95%3A+Client+Partition+Awareness]
>  for C++ Client.



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


[jira] [Updated] (IGNITE-22144) C++ 3.0: Implement Basic Data Streamer for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22144:
-
Epic Link: IGNITE-22146

> C++ 3.0: Implement Basic Data Streamer for C++ client
> -
>
> Key: IGNITE-22144
> URL: https://issues.apache.org/jira/browse/IGNITE-22144
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>
> Let's implement basic version of [IEP-102 
> Data 
> Streamer|https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer]
>  for C++ Client.



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


[jira] [Updated] (IGNITE-22143) C++ 3.0: Implement Heartbeats for C++ client

2024-04-30 Thread Igor Sapego (Jira)


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

Igor Sapego updated IGNITE-22143:
-
Epic Link: IGNITE-22146

> C++ 3.0: Implement Heartbeats for C++ client
> 
>
> Key: IGNITE-22143
> URL: https://issues.apache.org/jira/browse/IGNITE-22143
> Project: Ignite
>  Issue Type: New Feature
>  Components: thin client
>Reporter: Igor Sapego
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>
> Let's implement [IEP-83 Thin Client 
> Keepalive|https://cwiki.apache.org/confluence/display/IGNITE/IEP-83+Thin+Client+Keepalive]
>  for C++ Client.



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


[jira] [Assigned] (IGNITE-22136) Update AI3 documentation

2024-04-30 Thread Igor Gusev (Jira)


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

Igor Gusev reassigned IGNITE-22136:
---

Assignee: Igor Gusev

> Update AI3 documentation
> 
>
> Key: IGNITE-22136
> URL: https://issues.apache.org/jira/browse/IGNITE-22136
> Project: Ignite
>  Issue Type: Task
>  Components: documentation
>Reporter: Igor Gusev
>Assignee: Igor Gusev
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> It's been a long time since the last documentation update. Lets make sure the 
> docs are more up-to-date



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


[jira] [Created] (IGNITE-22144) C++ 3.0: Implement Basic Data Streamer for C++ client

2024-04-30 Thread Igor Sapego (Jira)
Igor Sapego created IGNITE-22144:


 Summary: C++ 3.0: Implement Basic Data Streamer for C++ client
 Key: IGNITE-22144
 URL: https://issues.apache.org/jira/browse/IGNITE-22144
 Project: Ignite
  Issue Type: New Feature
  Components: thin client
Reporter: Igor Sapego
Assignee: Igor Sapego


Let's implement basic version of [IEP-102 
Data 
Streamer|https://cwiki.apache.org/confluence/display/IGNITE/IEP-102%3A+Data+Streamer]
 for C++ Client.



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


[jira] [Created] (IGNITE-22145) C++ 3.0: Implement Data Streamer with Receiver for C++ client

2024-04-30 Thread Igor Sapego (Jira)
Igor Sapego created IGNITE-22145:


 Summary: C++ 3.0: Implement Data Streamer with Receiver for C++ 
client
 Key: IGNITE-22145
 URL: https://issues.apache.org/jira/browse/IGNITE-22145
 Project: Ignite
  Issue Type: New Feature
  Components: thin client
Reporter: Igor Sapego
Assignee: Igor Sapego


Let's implement data streamer with receiver for C++ Client.



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


[jira] [Created] (IGNITE-22143) C++ 3.0: Implement Heartbeats for C++ client

2024-04-30 Thread Igor Sapego (Jira)
Igor Sapego created IGNITE-22143:


 Summary: C++ 3.0: Implement Heartbeats for C++ client
 Key: IGNITE-22143
 URL: https://issues.apache.org/jira/browse/IGNITE-22143
 Project: Ignite
  Issue Type: New Feature
  Components: thin client
Reporter: Igor Sapego
Assignee: Igor Sapego


Let's implement [IEP-83 Thin Client 
Keepalive|https://cwiki.apache.org/confluence/display/IGNITE/IEP-83+Thin+Client+Keepalive]
 for C++ Client.



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


[jira] [Created] (IGNITE-22141) C++ 3.0: Implement Partition Awareness for C++ client

2024-04-30 Thread Igor Sapego (Jira)
Igor Sapego created IGNITE-22141:


 Summary: C++ 3.0: Implement Partition Awareness for C++ client
 Key: IGNITE-22141
 URL: https://issues.apache.org/jira/browse/IGNITE-22141
 Project: Ignite
  Issue Type: New Feature
  Components: thin client
Reporter: Igor Sapego
Assignee: Igor Sapego


Need to implement [IEP-95 Client Partition 
Awareness|https://cwiki.apache.org/confluence/display/IGNITE/IEP-95%3A+Client+Partition+Awareness]
 for C++ Client.



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


[jira] [Created] (IGNITE-22142) C++ 3.0: Implement Retry Policy for C++ client

2024-04-30 Thread Igor Sapego (Jira)
Igor Sapego created IGNITE-22142:


 Summary: C++ 3.0: Implement Retry Policy for C++ client
 Key: IGNITE-22142
 URL: https://issues.apache.org/jira/browse/IGNITE-22142
 Project: Ignite
  Issue Type: New Feature
  Components: thin client
Reporter: Igor Sapego
Assignee: Igor Sapego


Need to implement [IEP-82 Thin Client Retry 
Policy|https://cwiki.apache.org/confluence/display/IGNITE/IEP-82+Thin+Client+Retry+Policy]
 for C++ Client.



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


[jira] [Commented] (IGNITE-18275) Distribute CMG state using RAFT, not network messages

2024-04-30 Thread Aleksandr Polovtsev (Jira)


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

Aleksandr Polovtsev commented on IGNITE-18275:
--

I'm going to close this ticket and remove the corresponding TODOs, because 
looks like this ticket is invalid: ClusterState is sent before any Raft groups 
are started and contains the node names that comprise the CMG group, so it's 
impossible to use Raft at this stage.

> Distribute CMG state using RAFT, not network messages
> -
>
> Key: IGNITE-18275
> URL: https://issues.apache.org/jira/browse/IGNITE-18275
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Aleksandr Polovtsev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, {{ClusterManagementGroupManager}} distributes cluster state in the 
> cluster by sending it to each node in the cluster using 
> {{{}MessagingService{}}}. After IGNITE-18261 it will become possible to 
> distribute this state using normal RAFT mechanism.



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


[jira] [Assigned] (IGNITE-18275) Distribute CMG state using RAFT, not network messages

2024-04-30 Thread Aleksandr Polovtsev (Jira)


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

Aleksandr Polovtsev reassigned IGNITE-18275:


Assignee: Aleksandr Polovtsev

> Distribute CMG state using RAFT, not network messages
> -
>
> Key: IGNITE-18275
> URL: https://issues.apache.org/jira/browse/IGNITE-18275
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Aleksandr Polovtsev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Currently, {{ClusterManagementGroupManager}} distributes cluster state in the 
> cluster by sending it to each node in the cluster using 
> {{{}MessagingService{}}}. After IGNITE-18261 it will become possible to 
> distribute this state using normal RAFT mechanism.



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


[jira] [Resolved] (IGNITE-18762) Sql. Type inference errors for some usages of dynamic parameters in CASE WHEN .. END expressions

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-18762.
-
Resolution: Cannot Reproduce

> Sql. Type inference errors for some usages of dynamic parameters in CASE  
> WHEN .. END expressions
> -
>
> Key: IGNITE-18762
> URL: https://issues.apache.org/jira/browse/IGNITE-18762
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Maksim Zhuravkov
>Priority: Major
>  Labels: calcite2-required, calcite3-required, ignite-3
>
> In some cases CASE WHEN .. END expressions produce inference errors. Examples:
> {code:java}
> @Test
> public void test() {
> // CASE WHEN  THEN .. WHEN  THEN ... END
> assertQuery("SELECT CASE ? "
> + "WHEN '1' = ? "
> + "THEN 'b' "
> + "ELSE ? END")
> .withParams("1", "2", "3")
> .check();
> }
> {code}
> Result:
> {code:java}
> class org.apache.calcite.sql.SqlBasicCall: CAST('1' AS UNKNOWN)
> java.lang.UnsupportedOperationException: class 
> org.apache.calcite.sql.SqlBasicCall: CAST('1' AS UNKNOWN)
>   at org.apache.calcite.util.Util.needToImplement(Util.java:1101)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.getValidatedNodeType(SqlValidatorImpl.java:1767)
>   at 
> org.apache.calcite.sql.SqlBinaryOperator.convertType(SqlBinaryOperator.java:137)
>   at 
> org.apache.calcite.sql.SqlBinaryOperator.adjustType(SqlBinaryOperator.java:132)
>   at org.apache.calcite.sql.SqlOperator.deriveType(SqlOperator.java:609)
>   at 
> org.apache.calcite.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:178)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:6373)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:6360)
>   at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:161)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1869)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1854)
>   at 
> org.apache.calcite.sql.type.SqlTypeUtil.deriveType(SqlTypeUtil.java:200)
>   at 
> org.apache.calcite.sql.type.InferTypes.lambda$static$0(InferTypes.java:47)
>   at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.inferUnknownTypes(IgniteSqlValidator.java:541)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.inferUnknownTypes(SqlValidatorImpl.java:2016)
>   at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.inferUnknownTypes(IgniteSqlValidator.java:568)
>   at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteSqlValidator.inferUnknownTypes(IgniteSqlValidator.java:564)
>   at 
> org.apache.calcite.sql.validate.SqlValidatorImpl.expandSelectItem(SqlValidatorImpl.java:462)
> {code}



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


[jira] [Commented] (IGNITE-19065) Sql. Reject INSERT statements with missing not nullable columns at the validation phase.

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich commented on IGNITE-19065:
-

It works, but we don't have such a test.  Let's add it.

> Sql. Reject INSERT statements with missing not nullable columns at the 
> validation phase.
> 
>
> Key: IGNITE-19065
> URL: https://issues.apache.org/jira/browse/IGNITE-19065
> Project: Ignite
>  Issue Type: Improvement
>  Components: sql
>Reporter: Maksim Zhuravkov
>Priority: Minor
>  Labels: calcite3-required, ignite-3
> Fix For: 3.0.0-beta2
>
>
> INSERT queries with missing columns that have NOT NULL constraint 
> successfully pass the validation phase and fail at the execution phase 
> because that constraint is violated. 
> It would be better to reject INSERT statements with omitted not nullable 
> columns at the validation phase in order not execute queries that always fail.
> An example of the current behaviour:
> {code:java}
>@Test
> public void test() {
> sql("CREATE TABLE integers(i INTEGER, j INTEGER NOT NULL, k 
> INTEGER)");
> sql("INSERT INTO integers (i, k) VALUES (1, 0)");
> }
> {code}
> Error:
> {code:java}
> Caused by: org.apache.ignite.internal.schema.SchemaMismatchException: 
> IGN-CMN-65535 TraceId:73ff8353-de43-4a58-9332-9f7d87718a93 Failed to set 
> column (null was passed, but column is not nullable): Column [schemaIndex=1, 
> columnOrder=1, name=J, type=NativeType [name=INT32, sizeInBytes=4, 
> fixed=true], nullable=false]
>   at 
> org.apache.ignite.internal.schema.row.RowAssembler.appendNull(RowAssembler.java:261)
>   at 
> org.apache.ignite.internal.schema.row.RowAssembler.writeValue(RowAssembler.java:112)
>   at 
> org.apache.ignite.internal.sql.engine.schema.IgniteTableImpl.convertRow(IgniteTableImpl.java:516)
>   at 
> org.apache.ignite.internal.sql.engine.schema.IgniteTableImpl.insertAll(IgniteTableImpl.java:390)
> {code}



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


[jira] [Resolved] (IGNITE-18557) Sql. AbstractTypeCoercion needToCast may raise an AssertionError.

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-18557.
-
Resolution: Cannot Reproduce

Seems was fixed under IGNITE-19877

> Sql. AbstractTypeCoercion needToCast may raise an AssertionError.
> -
>
> Key: IGNITE-18557
> URL: https://issues.apache.org/jira/browse/IGNITE-18557
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Reporter: Maksim Zhuravkov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta1
>
>
> Some combinations of data types may cause AbstractTypeCoercion to raise an 
> AssertionError. See TypeCoercionTest testNumericToDate.
> {code:java}
> Caused by: java.lang.AssertionError
>     at 
> org.apache.calcite.sql.validate.implicit.AbstractTypeCoercion.needToCast(AbstractTypeCoercion.java:274)
>     at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteTypeCoercion.needToCast(IgniteTypeCoercion.java:123)
>     at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteTypeCoercion.coerceOperandType(IgniteTypeCoercion.java:145)
>     at 
> org.apache.ignite.internal.sql.engine.prepare.IgniteTypeCoercion.binaryComparisonCoercion(IgniteTypeCoercion.java:88)
>     at 
> org.apache.calcite.sql.type.ComparableOperandTypeChecker.checkOperandTypes(ComparableOperandTypeChecker.java:70)
>  {code}
> AbstractTypeCoercion::needToCast:
> {code:java}
> at 
> org.apache.calcite.sql.validate.implicit.AbstractTypeCoercion.needToCast(AbstractTypeCoercion.java:274)
> // Should keep sync with rules in SqlTypeCoercionRule.
> assert SqlTypeUtil.canCastFrom(toType, fromType, true); {code}



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


[jira] [Updated] (IGNITE-21912) Change API usage of Placement driver for InternalTableImpl interaction from TablePartitionId to ZonePartitionId

2024-04-30 Thread Mirza Aliev (Jira)


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

Mirza Aliev updated IGNITE-21912:
-
Reviewer: Vladislav Pyatkov

> Change API usage of Placement driver for InternalTableImpl interaction from 
> TablePartitionId to ZonePartitionId
> ---
>
> Key: IGNITE-21912
> URL: https://issues.apache.org/jira/browse/IGNITE-21912
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Mirza Aliev
>Assignee: Mirza Aliev
>Priority: Major
>  Labels: ignite-3
>
> In https://issues.apache.org/jira/browse/IGNITE-21858 we have agreed to 
> decompose original task to several subtasks.
> In this ticket we need to use previously created decorator for Placement 
> Driver from https://issues.apache.org/jira/browse/IGNITE-21911 for all places 
> where PD was used in {{InternalTableImpl}} and other places connected to 
> {{InternalTableImpl}} that are described in the spreadsheet from 
> https://issues.apache.org/jira/browse/IGNITE-21858. Also zone id must be 
> propagated to {{InternalTableImpl}}.



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


[jira] [Resolved] (IGNITE-19031) Sql. Joins with USING condition do not use type coercion rules.

2024-04-30 Thread Iurii Gerzhedovich (Jira)


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

Iurii Gerzhedovich resolved IGNITE-19031.
-
Resolution: Cannot Reproduce

> Sql. Joins with USING condition do not use type coercion rules.
> ---
>
> Key: IGNITE-19031
> URL: https://issues.apache.org/jira/browse/IGNITE-19031
> Project: Ignite
>  Issue Type: Bug
>  Components: sql
>Affects Versions: 3.0.0-beta2
>Reporter: Maksim Zhuravkov
>Priority: Minor
>  Labels: calcite3-required, ignite-3
>
> JOINs with USING condition do not use type coercion and that causes some 
> queries to fail  with ClassCastException, even though equivalent JOINs 
> complete successfully.
> {code:java}
> sql("CREATE TABLE T11 (c1 int primary key, c2 INTEGER)");
> sql("CREATE TABLE T12 (c1 BIGINT primary key, c2 BIGINT)");
> Transaction tx = CLUSTER_NODES.get(0).transactions().begin();
> sql(tx, "INSERT INTO T11 VALUES(1, 2)");
> sql(tx, "INSERT INTO T11 VALUES(2, 3)");
> sql(tx, "INSERT INTO T12 VALUES(1, 2)");
> sql(tx, "INSERT INTO T12 VALUES(2, 4)");
> tx.commit();
> sql("SELECT * FROM t11 JOIN t12 USING (c1)");
> {code}
> Error:
> {code:java}
> Caused by: java.lang.ClassCastException: class java.lang.Integer cannot be 
> cast to class java.lang.Long (java.lang.Integer and java.lang.Long are in 
> module java.base of loader 'bootstrap')
>   at 
> org.apache.ignite.internal.util.ColocationUtils.append(ColocationUtils.java:71)
>   at 
> org.apache.ignite.internal.sql.engine.util.HashFunctionFactoryImpl$TypesAwareHashFunction.hashOf(HashFunctionFactoryImpl.java:116)
>   at 
> org.apache.ignite.internal.sql.engine.trait.Partitioned.targets(Partitioned.java:47)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.Outbox.flush(Outbox.java:242)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.Outbox.push(Outbox.java:151)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.SortNode.flush(SortNode.java:193)
>   at 
> org.apache.ignite.internal.sql.engine.exec.rel.SortNode.end(SortNode.java:154)
> {code}
> An equivalent query passes with no issues:
> {code:java}
> sql("SELECT * FROM t11 JOIN t12 ON t11.c1 = t12.c1");
> {code}
> *Solution*
> Because JOINs that use USING join condition are equivalent to JOINs that use 
> ON condition, It would be better to rewrite USING condition with equivalent 
> ON condition prior to optimisation (even at the parsing stage) to leverage 
> the code that handles type coercion.



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