[jira] [Updated] (IGNITE-21743) .NET: LINQ: Cast to decimal loses precision

2024-04-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21743:

Priority: Minor  (was: Major)

> .NET: LINQ: Cast to decimal loses precision
> ---
>
> Key: IGNITE-21743
> URL: https://issues.apache.org/jira/browse/IGNITE-21743
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Minor
>  Labels: .NET, LINQ, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Currently we use *as decimal* cast, which results in *scale=0*, truncating 
> any digits after the decimal point.
> See ticket mention in *IgniteQueryExpressionVisitor* - we should specify 
> scale and precision when performing cast to decimal.
> Blocked by IGNITE-21745 : .NET can't read small values with high scale.



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


[jira] [Updated] (IGNITE-22048) .NET: Thin 3.0: Add Gradle task to run tests

2024-04-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22048:

Priority: Trivial  (was: Major)

> .NET: Thin 3.0: Add Gradle task to run tests
> 
>
> Key: IGNITE-22048
> URL: https://issues.apache.org/jira/browse/IGNITE-22048
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Trivial
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Add a Gradle task to run .NET tests.



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


[jira] [Updated] (IGNITE-22049) C++: Thin 3.0: Add Gradle task to run tests

2024-04-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22049:

Priority: Trivial  (was: Major)

> C++: Thin 3.0: Add Gradle task to run tests
> ---
>
> Key: IGNITE-22049
> URL: https://issues.apache.org/jira/browse/IGNITE-22049
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Igor Sapego
>Priority: Trivial
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Add a Gradle task to run C++ tests.



--
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-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22090:

Epic Link: 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] [Commented] (IGNITE-20475) .NET: Thin 3.0: EF Core provider (investigate)

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-20475:
-

Investigation complete, working PoC created: 
https://github.com/apache/ignite-3/pull/3675
*Conclusion*

Implementing an EF Core provider is feasible and we should do that.

*Proposed Work Plan* 
See IGNITE-22132:
1. Implement ADO.NET classes (connection, command, etc): IGNITE-22131
2. Polish the PoC implementation to create a basic provider: IGNITE-22133
3. Add specification tests, create tickets for missing/failing things: 
IGNITE-22134
4. Add NuGet package once we have most of the tests working

> .NET: Thin 3.0: EF Core provider (investigate)
> --
>
> Key: IGNITE-20475
> URL: https://issues.apache.org/jira/browse/IGNITE-20475
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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.
> This is also a big undertaking and needs more investigation/PoC.
> * https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider
> * 
> https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/



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


[jira] [Comment Edited] (IGNITE-20475) .NET: Thin 3.0: EF Core provider (investigate)

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn edited comment on IGNITE-20475 at 4/29/24 5:44 AM:
--

Investigation complete, working PoC created: 
https://github.com/apache/ignite-3/pull/3675

*Conclusion*
Implementing an EF Core provider is feasible and we should do that.

*Proposed Work Plan* 
See IGNITE-22132:
1. Implement ADO.NET classes (connection, command, etc): IGNITE-22131
2. Polish the PoC implementation to create a basic provider: IGNITE-22133
3. Add specification tests, create tickets for missing/failing things: 
IGNITE-22134
4. Add NuGet package once we have most of the tests working


was (Author: ptupitsyn):
Investigation complete, working PoC created: 
https://github.com/apache/ignite-3/pull/3675
*Conclusion*

Implementing an EF Core provider is feasible and we should do that.

*Proposed Work Plan* 
See IGNITE-22132:
1. Implement ADO.NET classes (connection, command, etc): IGNITE-22131
2. Polish the PoC implementation to create a basic provider: IGNITE-22133
3. Add specification tests, create tickets for missing/failing things: 
IGNITE-22134
4. Add NuGet package once we have most of the tests working

> .NET: Thin 3.0: EF Core provider (investigate)
> --
>
> Key: IGNITE-20475
> URL: https://issues.apache.org/jira/browse/IGNITE-20475
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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.
> This is also a big undertaking and needs more investigation/PoC.
> * https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider
> * 
> https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/



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


[jira] [Updated] (IGNITE-22134) .NET: Thin 3.0: Specification tests for EF Core provider

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22134:

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

> .NET: Thin 3.0: Specification tests for EF Core provider
> 
>
> Key: IGNITE-22134
> URL: https://issues.apache.org/jira/browse/IGNITE-22134
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Add EF Core specification tests 
> https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider#the-ef-core-specification-tests
> Many of them will fail - disable and create tickets within IGNITE-22132 epic.



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


[jira] [Updated] (IGNITE-22134) .NET: Thin 3.0: Specification tests for EF Core provider

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22134:

Description: 
Add EF Core specification tests 
https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider#the-ef-core-specification-tests

Many of them will fail - disable and create tickets within IGNITE-22132 epic.

  was:Implement bare bones EF Core provider using the working POC from 
IGNITE-20475 and ADO.NET classes from IGNITE-22131.


> .NET: Thin 3.0: Specification tests for EF Core provider
> 
>
> Key: IGNITE-22134
> URL: https://issues.apache.org/jira/browse/IGNITE-22134
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Add EF Core specification tests 
> https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider#the-ef-core-specification-tests
> Many of them will fail - disable and create tickets within IGNITE-22132 epic.



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


[jira] [Created] (IGNITE-22134) .NET: Thin 3.0: Specification tests for EF Core provider

2024-04-28 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22134:
---

 Summary: .NET: Thin 3.0: Specification tests for EF Core provider
 Key: IGNITE-22134
 URL: https://issues.apache.org/jira/browse/IGNITE-22134
 Project: Ignite
  Issue Type: New Feature
  Components: platforms, thin client
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn


Implement bare bones EF Core provider using the working POC from IGNITE-20475 
and ADO.NET classes from IGNITE-22131.



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


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

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22133:

Description: Implement bare bones EF Core provider using the working POC 
from IGNITE-20475 and ADO.NET classes from IGNITE-22131.  (was: We already have 
*IgniteDbDataReader* (IGNITE-18478), let's add other essential classes to 
enable integrations with higher-level frameworks (e.g. EF Core - IGNITE-20475):
* DbConnection
* DbCommand
* DbParameter
* DbParameterCollection
* DbTransaction

https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview)

> .NET: Thin 3.0: Basic EF Core provider
> --
>
> Key: IGNITE-22133
> URL: https://issues.apache.org/jira/browse/IGNITE-22133
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Implement bare bones EF Core provider using the working POC from IGNITE-20475 
> and ADO.NET classes from IGNITE-22131.



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


[jira] [Created] (IGNITE-22133) .NET: Thin 3.0: Basic EF Core provider

2024-04-28 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22133:
---

 Summary: .NET: Thin 3.0: Basic EF Core provider
 Key: IGNITE-22133
 URL: https://issues.apache.org/jira/browse/IGNITE-22133
 Project: Ignite
  Issue Type: New Feature
  Components: platforms, thin client
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn


We already have *IgniteDbDataReader* (IGNITE-18478), let's add other essential 
classes to enable integrations with higher-level frameworks (e.g. EF Core - 
IGNITE-20475):
* DbConnection
* DbCommand
* DbParameter
* DbParameterCollection
* DbTransaction

https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview



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


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

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-20475:

Epic Link: IGNITE-22132

> .NET: Thin 3.0: EF Core provider (investigate)
> --
>
> Key: IGNITE-20475
> URL: https://issues.apache.org/jira/browse/IGNITE-20475
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> 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.
> This is also a big undertaking and needs more investigation/PoC.
> * https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider
> * 
> https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/



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


[jira] [Updated] (IGNITE-22131) .NET: Thin 3.0: Implement essential ADO.NET classes

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22131:

Epic Link: IGNITE-22132

> .NET: Thin 3.0: Implement essential ADO.NET classes
> ---
>
> Key: IGNITE-22131
> URL: https://issues.apache.org/jira/browse/IGNITE-22131
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> We already have *IgniteDbDataReader* (IGNITE-18478), let's add other 
> essential classes to enable integrations with higher-level frameworks (e.g. 
> EF Core - IGNITE-20475):
> * DbConnection
> * DbCommand
> * DbParameter
> * DbParameterCollection
> * DbTransaction
> https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview



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


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

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22132:

Description: 
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

> .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
>
> 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] [Created] (IGNITE-22132) .NET: Thin 3.0: EF Core provider

2024-04-28 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22132:
---

 Summary: .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






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


[jira] [Updated] (IGNITE-22131) .NET: Thin 3.0: Implement essential ADO.NET classes

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22131:

Description: 
We already have *IgniteDbDataReader* (IGNITE-18478), let's add other essential 
classes to enable integrations with higher-level frameworks (e.g. EF Core - 
IGNITE-20475):
* DbConnection
* DbCommand
* DbParameter
* DbParameterCollection
* DbTransaction

https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview

  was:
We already have *IgniteDbDataReader* (IGNITE-18478), let's add other essential 
classes to enable integrations with higher-level frameworks (e.g. EF Core - 
IGNITE-20475):
* DbConnection
* DbCommand
* DbParameter
* DbParameterCollection
* DbTransaction


> .NET: Thin 3.0: Implement essential ADO.NET classes
> ---
>
> Key: IGNITE-22131
> URL: https://issues.apache.org/jira/browse/IGNITE-22131
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> We already have *IgniteDbDataReader* (IGNITE-18478), let's add other 
> essential classes to enable integrations with higher-level frameworks (e.g. 
> EF Core - IGNITE-20475):
> * DbConnection
> * DbCommand
> * DbParameter
> * DbParameterCollection
> * DbTransaction
> https://learn.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview



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


[jira] [Updated] (IGNITE-22131) .NET: Thin 3.0: Implement essential ADO.NET classes

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22131:

Description: 
We already have *IgniteDbDataReader* (IGNITE-18478), let's add other essential 
classes to enable integrations with higher-level frameworks (e.g. EF Core - 
IGNITE-20475):
* 

> .NET: Thin 3.0: Implement essential ADO.NET classes
> ---
>
> Key: IGNITE-22131
> URL: https://issues.apache.org/jira/browse/IGNITE-22131
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> We already have *IgniteDbDataReader* (IGNITE-18478), let's add other 
> essential classes to enable integrations with higher-level frameworks (e.g. 
> EF Core - IGNITE-20475):
> * 



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


[jira] [Updated] (IGNITE-22131) .NET: Thin 3.0: Implement essential ADO.NET classes

2024-04-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22131:

Description: 
We already have *IgniteDbDataReader* (IGNITE-18478), let's add other essential 
classes to enable integrations with higher-level frameworks (e.g. EF Core - 
IGNITE-20475):
* DbConnection
* DbCommand
* DbParameter
* DbParameterCollection
* DbTransaction

  was:
We already have *IgniteDbDataReader* (IGNITE-18478), let's add other essential 
classes to enable integrations with higher-level frameworks (e.g. EF Core - 
IGNITE-20475):
* 


> .NET: Thin 3.0: Implement essential ADO.NET classes
> ---
>
> Key: IGNITE-22131
> URL: https://issues.apache.org/jira/browse/IGNITE-22131
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> We already have *IgniteDbDataReader* (IGNITE-18478), let's add other 
> essential classes to enable integrations with higher-level frameworks (e.g. 
> EF Core - IGNITE-20475):
> * DbConnection
> * DbCommand
> * DbParameter
> * DbParameterCollection
> * DbTransaction



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


[jira] [Created] (IGNITE-22131) .NET: Thin 3.0: Implement essential ADO.NET classes

2024-04-28 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22131:
---

 Summary: .NET: Thin 3.0: Implement essential ADO.NET classes
 Key: IGNITE-22131
 URL: https://issues.apache.org/jira/browse/IGNITE-22131
 Project: Ignite
  Issue Type: New Feature
  Components: platforms, thin client
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn






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


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

2024-04-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-19681:
-

Merged to main: 6dedb616b32f950da2020330a913ce7a8d292017

> 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-22090) Thin 3.0: Avoid TX_BEGIN round-trip

2024-04-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22090:

Description: 
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}

  was:
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


> 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-22090) Thin 3.0: Avoid TX_BEGIN round-trip

2024-04-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22090:

Description: 
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

  was:
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


> 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



--
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-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22090:

Description: 
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

> 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



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


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

2024-04-23 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22090:
---

 Summary: 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
 Fix For: 3.0.0-beta2






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


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

2024-04-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-19684:

Summary: С++: Thin 3.0: Tx partition awareness  (was: С++: Thin 3.0: 
Combine tx.begin with first enlisted operation)

> С++: 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-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-19682:

Summary: .NET: Thin 3.0: Tx partition awareness  (was: .NET: Thin 3.0: 
Combine tx.begin with first enlisted operation)

> .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-19681) Thin 3.0: Tx partition awareness

2024-04-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-19681:

Summary: Thin 3.0: Tx partition awareness  (was: Thin 3.0: Combine tx.begin 
with first enlisted operation)

> 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: 0.5h
>  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-20475) .NET: Thin 3.0: EF Core provider (investigate)

2024-04-23 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-20475:

Description: 
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.
This is also a big undertaking and needs more investigation/PoC.

* https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider
* 
https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/

  was:
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.
This is also a big undertaking and needs more investigation/PoC.


> .NET: Thin 3.0: EF Core provider (investigate)
> --
>
> Key: IGNITE-20475
> URL: https://issues.apache.org/jira/browse/IGNITE-20475
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> 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.
> This is also a big undertaking and needs more investigation/PoC.
> * https://learn.microsoft.com/en-us/ef/core/providers/writing-a-provider
> * 
> https://blog.oneunicorn.com/2016/11/11/so-you-want-to-write-an-ef-core-provider/



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


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

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-20475:

Summary: .NET: Thin 3.0: EF Core provider (investigate)  (was: .NET: Thin 
3.0: EF Core provider)

> .NET: Thin 3.0: EF Core provider (investigate)
> --
>
> Key: IGNITE-20475
> URL: https://issues.apache.org/jira/browse/IGNITE-20475
> Project: Ignite
>  Issue Type: New Feature
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> 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.
> This is also a big undertaking and needs more investigation/PoC.



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


[jira] [Commented] (IGNITE-22068) Inconsistent SQL and Criteria API behaviour

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-22068:
-

Might be caused by IGNITE-22086, let's double check after the fix.

> Inconsistent SQL and Criteria API behaviour
> ---
>
> Key: IGNITE-22068
> URL: https://issues.apache.org/jira/browse/IGNITE-22068
> Project: Ignite
>  Issue Type: Bug
>  Components: sql, thin client
>Reporter: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Attachments: CountTest-1.java
>
>
> When running a query through thin client Criteria API and SQL API the results 
> are sometimes differs with the same client.
> Reproducer is attached.
> For some reason, the test only fails at the second repetition.
> Leaving only the countCriteria line and comparing it with the recordCount 
> doesn't fail the test.



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


[jira] [Updated] (IGNITE-22068) Inconsistent SQL and Criteria API behaviour

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22068:

Summary: Inconsistent SQL and Criteria API behaviour  (was: Inconsistent 
API behaviour)

> Inconsistent SQL and Criteria API behaviour
> ---
>
> Key: IGNITE-22068
> URL: https://issues.apache.org/jira/browse/IGNITE-22068
> Project: Ignite
>  Issue Type: Bug
>  Components: sql, thin client
>Reporter: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Attachments: CountTest-1.java
>
>
> When running a query through thin client Criteria API and SQL API the results 
> are sometimes differs with the same client.
> Reproducer is attached.
> For some reason, the test only fails at the second repetition.
> Leaving only the countCriteria line and comparing it with the recordCount 
> doesn't fail the test.



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


[jira] [Updated] (IGNITE-22068) Inconsistent SQL and Criteria API behaviour

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22068:

Fix Version/s: 3.0.0-beta2

> Inconsistent SQL and Criteria API behaviour
> ---
>
> Key: IGNITE-22068
> URL: https://issues.apache.org/jira/browse/IGNITE-22068
> Project: Ignite
>  Issue Type: Bug
>  Components: sql, thin client
>Reporter: Vadim Pakhnushev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
> Attachments: CountTest-1.java
>
>
> When running a query through thin client Criteria API and SQL API the results 
> are sometimes differs with the same client.
> Reproducer is attached.
> For some reason, the test only fails at the second repetition.
> Leaving only the countCriteria line and comparing it with the recordCount 
> doesn't fail the test.



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


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

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-22086:
---

Assignee: Pavel Tupitsyn

> 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
>
>
> 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-22086) Thin 3.0: observableTimestamp is 0 after handshake

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22086:

Description: 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.  (was: 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 cause causality issues.)

> 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
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> 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-22086) Thin 3.0: observableTimestamp is 0 after handshake

2024-04-22 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22086:

Description: 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 cause causality issues.

> 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
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> 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 cause causality issues.



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


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

2024-04-22 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22086:
---

 Summary: 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
 Fix For: 3.0.0-beta2






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


[jira] [Commented] (IGNITE-22052) С++ 3.0: basic_authenticator_test is flaky

2024-04-16 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-22052:
-

Test disabled in ac10fb020b1424c81f65572acf7401442c2e1ed0

> С++ 3.0: basic_authenticator_test is flaky
> --
>
> Key: IGNITE-22052
> URL: https://issues.apache.org/jira/browse/IGNITE-22052
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> basic_authenticator_test is flaky and causes the entire test run failure due 
> to a timeout: 
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunCppLinuxTests?branch=%3Cdefault%3E=overview=builds#all-projects
> Most likely the reason is the same as in IGNITE-20962: 
> *EnableAuthenticationJob* does not wait for the configuration to be applied 
> to all nodes. We've added a workaround to .NET test which checks all nodes in 
> a loop, but it would be better to fix the job itself.



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


[jira] [Updated] (IGNITE-22052) С++ 3.0: basic_authenticator_test is flaky

2024-04-16 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22052:

Description: 
basic_authenticator_test is flaky and causes the entire test run failure due to 
a timeout: 
https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunCppLinuxTests?branch=%3Cdefault%3E=overview=builds#all-projects

Most likely the reason is the same as in IGNITE-20962: 
*EnableAuthenticationJob* does not wait for the configuration to be applied to 
all nodes. We've added a workaround to .NET test which checks all nodes in a 
loop, but it would be better to fix the job itself.

> С++ 3.0: basic_authenticator_test is flaky
> --
>
> Key: IGNITE-22052
> URL: https://issues.apache.org/jira/browse/IGNITE-22052
> Project: Ignite
>  Issue Type: Bug
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> basic_authenticator_test is flaky and causes the entire test run failure due 
> to a timeout: 
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunCppLinuxTests?branch=%3Cdefault%3E=overview=builds#all-projects
> Most likely the reason is the same as in IGNITE-20962: 
> *EnableAuthenticationJob* does not wait for the configuration to be applied 
> to all nodes. We've added a workaround to .NET test which checks all nodes in 
> a loop, but it would be better to fix the job itself.



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


[jira] [Created] (IGNITE-22052) С++ 3.0: basic_authenticator_test is flaky

2024-04-16 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22052:
---

 Summary: С++ 3.0: basic_authenticator_test is flaky
 Key: IGNITE-22052
 URL: https://issues.apache.org/jira/browse/IGNITE-22052
 Project: Ignite
  Issue Type: Bug
  Components: platforms, thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Igor Sapego
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-22049) C++: Thin 3.0: Add Gradle task to run tests

2024-04-16 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22049:

Labels: ignite-3  (was: .NET ignite-3)

> C++: Thin 3.0: Add Gradle task to run tests
> ---
>
> Key: IGNITE-22049
> URL: https://issues.apache.org/jira/browse/IGNITE-22049
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, 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
>
>
> Add a Gradle task to run .NET tests.



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


[jira] [Created] (IGNITE-22049) C++: Thin 3.0: Add Gradle task to run tests

2024-04-16 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22049:
---

 Summary: C++: Thin 3.0: Add Gradle task to run tests
 Key: IGNITE-22049
 URL: https://issues.apache.org/jira/browse/IGNITE-22049
 Project: Ignite
  Issue Type: Improvement
  Components: platforms, thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2


Add a Gradle task to run .NET tests.



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


[jira] [Updated] (IGNITE-22049) C++: Thin 3.0: Add Gradle task to run tests

2024-04-16 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22049:

Description: Add a Gradle task to run C++ tests.  (was: Add a Gradle task 
to run .NET tests.)

> C++: Thin 3.0: Add Gradle task to run tests
> ---
>
> Key: IGNITE-22049
> URL: https://issues.apache.org/jira/browse/IGNITE-22049
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, 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
>
>
> Add a Gradle task to run C++ tests.



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


[jira] [Created] (IGNITE-22048) .NET: Thin 3.0: Add Gradle task to run tests

2024-04-16 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22048:
---

 Summary: .NET: Thin 3.0: Add Gradle task to run tests
 Key: IGNITE-22048
 URL: https://issues.apache.org/jira/browse/IGNITE-22048
 Project: Ignite
  Issue Type: Improvement
  Components: platforms, thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2


Add a Gradle task to run .NET tests.



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


[jira] [Commented] (IGNITE-22030) Thin 3.0: Remove jackson-dataformat-msgpack dependency

2024-04-11 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-22030:
-

Merged to master: d1635529efecf298b0c0d8761c89e89f316e8dbe

> Thin 3.0: Remove jackson-dataformat-msgpack dependency
> --
>
> Key: IGNITE-22030
> URL: https://issues.apache.org/jira/browse/IGNITE-22030
> 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: 20m
>  Remaining Estimate: 0h
>
> jackson-dataformat-msgpack dependency is not used, remove it.



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


[jira] [Updated] (IGNITE-22031) .NET: Thin 3.0: Remove DataStreamer.PartitionAssignmentUpdateFrequency

2024-04-11 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22031:

Description: Timer-based partition assignment check is not necessary. 
*Table.GetPartitionAssignmentAsync* is backed by a cache with a double-checked 
locking, and uses a *ValueTask*, so there is no overhead in case of unchanged 
assignment - we can call it as often as needed.

> .NET: Thin 3.0: Remove DataStreamer.PartitionAssignmentUpdateFrequency
> --
>
> Key: IGNITE-22031
> URL: https://issues.apache.org/jira/browse/IGNITE-22031
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Timer-based partition assignment check is not necessary. 
> *Table.GetPartitionAssignmentAsync* is backed by a cache with a 
> double-checked locking, and uses a *ValueTask*, so there is no overhead in 
> case of unchanged assignment - we can call it as often as needed.



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


[jira] [Created] (IGNITE-22031) .NET: Thin 3.0: Remove DataStreamer.PartitionAssignmentUpdateFrequency

2024-04-11 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22031:
---

 Summary: .NET: Thin 3.0: Remove 
DataStreamer.PartitionAssignmentUpdateFrequency
 Key: IGNITE-22031
 URL: https://issues.apache.org/jira/browse/IGNITE-22031
 Project: Ignite
  Issue Type: Improvement
  Components: platforms, thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Created] (IGNITE-22030) Thin 3.0: Remove jackson-dataformat-msgpack dependency

2024-04-11 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22030:
---

 Summary: Thin 3.0: Remove jackson-dataformat-msgpack dependency
 Key: IGNITE-22030
 URL: https://issues.apache.org/jira/browse/IGNITE-22030
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2


jackson-dataformat-msgpack dependency is not used, remove it.



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


[jira] [Commented] (IGNITE-22025) .NET: Console.WriteLine leftovers in DataStreamer

2024-04-10 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-22025:
-

Merged to main: 0ce74471ded506fac8bea5160a958461d880b590

> .NET: Console.WriteLine leftovers in DataStreamer
> -
>
> Key: IGNITE-22025
> URL: https://issues.apache.org/jira/browse/IGNITE-22025
> 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: 20m
>  Remaining Estimate: 0h
>
> *DataStreamer* class has some console output remaining from debugging 
> sessions - remove that.



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


[jira] [Updated] (IGNITE-22025) .NET: Console.WriteLine leftovers in DataStreamer

2024-04-10 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22025:

Description: *DataStreamer* class has some console output remaining from 
debugging sessions - remove that.  (was: *DataStreamer* class has some console 
output remaining from debugging sessions - remove them.)

> .NET: Console.WriteLine leftovers in DataStreamer
> -
>
> Key: IGNITE-22025
> URL: https://issues.apache.org/jira/browse/IGNITE-22025
> 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: 10m
>  Remaining Estimate: 0h
>
> *DataStreamer* class has some console output remaining from debugging 
> sessions - remove that.



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


[jira] [Updated] (IGNITE-22025) .NET: Console.WriteLine leftovers in DataStreamer

2024-04-10 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22025:

Description: *DataStreamer* class has some console output remaining from 
debugging sessions - remove them.

> .NET: Console.WriteLine leftovers in DataStreamer
> -
>
> Key: IGNITE-22025
> URL: https://issues.apache.org/jira/browse/IGNITE-22025
> 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: 10m
>  Remaining Estimate: 0h
>
> *DataStreamer* class has some console output remaining from debugging 
> sessions - remove them.



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


[jira] [Created] (IGNITE-22025) .NET: Console.WriteLine leftovers in DataStreamer

2024-04-10 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22025:
---

 Summary: .NET: Console.WriteLine leftovers in DataStreamer
 Key: IGNITE-22025
 URL: https://issues.apache.org/jira/browse/IGNITE-22025
 Project: Ignite
  Issue Type: Bug
  Components: platforms, thin client
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-22019) Different behavior of get() and getAll() wrt key marshalling

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22019:

Fix Version/s: 3.0.0-beta2

> Different behavior of get() and getAll() wrt key marshalling
> 
>
> Key: IGNITE-22019
> URL: https://issues.apache.org/jira/browse/IGNITE-22019
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Create a table: CREATE TABLE test (id int, val varchar, PRIMARY KEY USING 
> HASH (id))
> The add a column 'added int'.
> Then
> private static class Value {
>     private @Nullable String val;
>     private Value()
>     {
>     }
>     private Value(@Nullable String val)
>     {
>         this.val = val;
>     }
> }
> KeyValueView view = 
> CLUSTER.aliveNode().tables().table(TABLE_NAME).keyValueView(Integer.class, 
> Value.class);
> Doing view.get(null, 10) throws the following exception:
>  
> Caused by: java.lang.IllegalArgumentException: No mapped object field found 
> for column 'ADDED'
>     at 
> org.apache.ignite.internal.marshaller.Marshaller.pojoMarshaller(Marshaller.java:133)
>     at 
> org.apache.ignite.internal.marshaller.Marshaller.createMarshaller(Marshaller.java:64)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider.lambda$getValuesMarshaller$1(ReflectionMarshallersProvider.java:78)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$13(BoundedLocalCache.java:2457)
>     at 
> java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1947)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2455)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2438)
>     at 
> com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:107)
>     at 
> com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider$MarshallerCache.getOrAdd(ReflectionMarshallersProvider.java:127)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider.getValuesMarshaller(ReflectionMarshallersProvider.java:77)
>     at 
> org.apache.ignite.internal.schema.marshaller.reflection.KvMarshallerImpl.(KvMarshallerImpl.java:77)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.lambda$new$0(KeyValueViewImpl.java:107)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.marshaller(KeyValueViewImpl.java:484)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.marshal(KeyValueViewImpl.java:498)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.lambda$getAsync$2(KeyValueViewImpl.java:122)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$1(AbstractTableView.java:162)
>     at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>     at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:162)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$0(AbstractTableView.java:171)
>  
> But doing view.getAll(null, List.of(10, 20)) does not throw anything, the 
> operation gets successfully executed.
>  
> It seems that both operations must either throw similar/same exceptions, or 
> don't throw anything in this situation.



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


[jira] [Assigned] (IGNITE-22019) Different behavior of get() and getAll() wrt key marshalling

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-22019:
---

Assignee: Pavel Tupitsyn

> Different behavior of get() and getAll() wrt key marshalling
> 
>
> Key: IGNITE-22019
> URL: https://issues.apache.org/jira/browse/IGNITE-22019
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Create a table: CREATE TABLE test (id int, val varchar, PRIMARY KEY USING 
> HASH (id))
> The add a column 'added int'.
> Then
> private static class Value {
>     private @Nullable String val;
>     private Value()
>     {
>     }
>     private Value(@Nullable String val)
>     {
>         this.val = val;
>     }
> }
> KeyValueView view = 
> CLUSTER.aliveNode().tables().table(TABLE_NAME).keyValueView(Integer.class, 
> Value.class);
> Doing view.get(null, 10) throws the following exception:
>  
> Caused by: java.lang.IllegalArgumentException: No mapped object field found 
> for column 'ADDED'
>     at 
> org.apache.ignite.internal.marshaller.Marshaller.pojoMarshaller(Marshaller.java:133)
>     at 
> org.apache.ignite.internal.marshaller.Marshaller.createMarshaller(Marshaller.java:64)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider.lambda$getValuesMarshaller$1(ReflectionMarshallersProvider.java:78)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$13(BoundedLocalCache.java:2457)
>     at 
> java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1947)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2455)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2438)
>     at 
> com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:107)
>     at 
> com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider$MarshallerCache.getOrAdd(ReflectionMarshallersProvider.java:127)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider.getValuesMarshaller(ReflectionMarshallersProvider.java:77)
>     at 
> org.apache.ignite.internal.schema.marshaller.reflection.KvMarshallerImpl.(KvMarshallerImpl.java:77)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.lambda$new$0(KeyValueViewImpl.java:107)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.marshaller(KeyValueViewImpl.java:484)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.marshal(KeyValueViewImpl.java:498)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.lambda$getAsync$2(KeyValueViewImpl.java:122)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$1(AbstractTableView.java:162)
>     at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>     at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:162)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$0(AbstractTableView.java:171)
>  
> But doing view.getAll(null, List.of(10, 20)) does not throw anything, the 
> operation gets successfully executed.
>  
> It seems that both operations must either throw similar/same exceptions, or 
> don't throw anything in this situation.



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


[jira] [Assigned] (IGNITE-22019) Different behavior of get() and getAll() wrt key marshalling

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-22019:
---

Assignee: (was: Pavel Tupitsyn)

> Different behavior of get() and getAll() wrt key marshalling
> 
>
> Key: IGNITE-22019
> URL: https://issues.apache.org/jira/browse/IGNITE-22019
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Create a table: CREATE TABLE test (id int, val varchar, PRIMARY KEY USING 
> HASH (id))
> The add a column 'added int'.
> Then
> private static class Value {
>     private @Nullable String val;
>     private Value()
>     {
>     }
>     private Value(@Nullable String val)
>     {
>         this.val = val;
>     }
> }
> KeyValueView view = 
> CLUSTER.aliveNode().tables().table(TABLE_NAME).keyValueView(Integer.class, 
> Value.class);
> Doing view.get(null, 10) throws the following exception:
>  
> Caused by: java.lang.IllegalArgumentException: No mapped object field found 
> for column 'ADDED'
>     at 
> org.apache.ignite.internal.marshaller.Marshaller.pojoMarshaller(Marshaller.java:133)
>     at 
> org.apache.ignite.internal.marshaller.Marshaller.createMarshaller(Marshaller.java:64)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider.lambda$getValuesMarshaller$1(ReflectionMarshallersProvider.java:78)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.lambda$doComputeIfAbsent$13(BoundedLocalCache.java:2457)
>     at 
> java.base/java.util.concurrent.ConcurrentHashMap.compute(ConcurrentHashMap.java:1947)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.doComputeIfAbsent(BoundedLocalCache.java:2455)
>     at 
> com.github.benmanes.caffeine.cache.BoundedLocalCache.computeIfAbsent(BoundedLocalCache.java:2438)
>     at 
> com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:107)
>     at 
> com.github.benmanes.caffeine.cache.LocalManualCache.get(LocalManualCache.java:62)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider$MarshallerCache.getOrAdd(ReflectionMarshallersProvider.java:127)
>     at 
> org.apache.ignite.internal.marshaller.ReflectionMarshallersProvider.getValuesMarshaller(ReflectionMarshallersProvider.java:77)
>     at 
> org.apache.ignite.internal.schema.marshaller.reflection.KvMarshallerImpl.(KvMarshallerImpl.java:77)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.lambda$new$0(KeyValueViewImpl.java:107)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.marshaller(KeyValueViewImpl.java:484)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.marshal(KeyValueViewImpl.java:498)
>     at 
> org.apache.ignite.internal.table.KeyValueViewImpl.lambda$getAsync$2(KeyValueViewImpl.java:122)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$1(AbstractTableView.java:162)
>     at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
>     at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:162)
>     at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$0(AbstractTableView.java:171)
>  
> But doing view.getAll(null, List.of(10, 20)) does not throw anything, the 
> operation gets successfully executed.
>  
> It seems that both operations must either throw similar/same exceptions, or 
> don't throw anything in this situation.



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


[jira] [Updated] (IGNITE-22013) Java thin 3.0: KeyValueView does not work with single-column table

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22013:

Description: 
Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
mode, but not in thin client mode:
{code:java}
@Test
public void testKVWithoutVClient() {
String tableName = "TEST_TABLE_1";

sql("CREATE TABLE " + tableName + " (id int primary key)");
sql("INSERT INTO " + tableName + " (id) VALUES (1)");


KeyValueView kvView = 
tables().table(tableName).keyValueView();

Assertions.assertDoesNotThrow(() -> kvView.get(null, 
Tuple.create().set("id", 1)));
}
{code}

Exception:
{code}
org.opentest4j.AssertionFailedError: Unexpected exception thrown: 
org.apache.ignite.lang.IgniteException: Failed to deserialize server response: 
columnCount > 0

at 
org.apache.ignite.internal.table.ItTablePutGetEmbeddedTest.testKVWithoutVClient(ItTablePutGetEmbeddedTest.java:57)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
Caused by: org.apache.ignite.lang.IgniteException: IGN-CLIENT-2 
TraceId:3301aea6-56cd-4aa5-862d-e5de576ff50e Failed to deserialize server 
response: columnCount > 0
at 
java.base/java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:710)
at 
org.apache.ignite.internal.util.ExceptionUtils$1.copy(ExceptionUtils.java:765)
at 
org.apache.ignite.internal.util.ExceptionUtils$ExceptionFactory.createCopy(ExceptionUtils.java:699)
at 
org.apache.ignite.internal.util.ExceptionUtils.copyExceptionWithCause(ExceptionUtils.java:525)
at 
org.apache.ignite.internal.client.ClientUtils.copyExceptionWithCauseIfPossible(ClientUtils.java:73)
at 
org.apache.ignite.internal.client.ClientUtils.ensurePublicException(ClientUtils.java:54)
at 
org.apache.ignite.internal.client.ClientUtils.sync(ClientUtils.java:97)
at 
org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.get(ClientKeyValueBinaryView.java:75)
at 
org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.get(ClientKeyValueBinaryView.java:56)
at 
org.apache.ignite.internal.table.ItTablePutGetEmbeddedTest.lambda$testKVWithoutVClient$0(ItTablePutGetEmbeddedTest.java:57)
... 4 more
Caused by: org.apache.ignite.lang.IgniteException: IGN-CLIENT-2 
TraceId:3301aea6-56cd-4aa5-862d-e5de576ff50e Failed to deserialize server 
response: columnCount > 0
at 
org.apache.ignite.internal.client.TcpClientChannel.complete(TcpClientChannel.java:376)
at 
org.apache.ignite.internal.client.TcpClientChannel.processNextMessage(TcpClientChannel.java:415)
at 
org.apache.ignite.internal.client.TcpClientChannel.lambda$onMessage$3(TcpClientChannel.java:238)
at 
java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
at 
java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at 
java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at 
java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at 
java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at 
java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.lang.AssertionError: columnCount > 0
at 
org.apache.ignite.internal.client.table.MutableTupleBinaryTupleAdapter.(MutableTupleBinaryTupleAdapter.java:59)
at 
org.apache.ignite.internal.client.table.ClientTuple.(ClientTuple.java:58)
at 
org.apache.ignite.internal.client.table.ClientTupleSerializer.readValueTuple(ClientTupleSerializer.java:340)
at 
org.apache.ignite.internal.client.table.ClientKeyValueBinaryView.lambda$getAsync$1(ClientKeyValueBinaryView.java:86)
at 
org.apache.ignite.internal.client.table.ClientTable.readSchemaAndReadData(ClientTable.java:511)
at 
org.apache.ignite.internal.client.table.ClientTable.lambda$doSchemaOutInOpAsync$6(ClientTable.java:427)
at 
org.apache.ignite.internal.client.TcpClientChannel.complete(TcpClientChannel.java:370)
... 8 more
{code}

* Add a test for .NET client too

  was:
Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
mode, but not in thin client mode:
{code:java}
@Test
public void testKVWithoutVClient() {
String tableName = "TEST_TABLE_1";

sql("CREATE TABLE " + tableName + " (id int primary key)");
sql("INSERT INTO " + tableName + " (id) VALUES (1)");


KeyValueView kvView = 
tables().table(tableName).keyValueView();

Assertions.assertDoesNotThrow(() -> kvView.get(null, 
Tuple.create().set("id", 

[jira] [Updated] (IGNITE-22013) Java thin 3.0: KeyValueView does not work with single-column table

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22013:

Component/s: thin client

> Java thin 3.0: KeyValueView does not work with single-column table
> --
>
> Key: IGNITE-22013
> URL: https://issues.apache.org/jira/browse/IGNITE-22013
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
> mode, but not in thin client mode:
> {code:java}
> @Test
> public void testKVWithoutVClient() {
> String tableName = "TEST_TABLE_1";
> sql("CREATE TABLE " + tableName + " (id int primary key)");
> sql("INSERT INTO " + tableName + " (id) VALUES (1)");
> KeyValueView kvView = 
> tables().table(tableName).keyValueView();
> Assertions.assertDoesNotThrow(() -> kvView.get(null, 
> Tuple.create().set("id", 1)));
> }
> {code}
> * Add a test for .NET client too



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


[jira] [Assigned] (IGNITE-22013) Java thin 3.0: KeyValueView does not work with single-column table

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-22013:
---

Assignee: Pavel Tupitsyn

> Java thin 3.0: KeyValueView does not work with single-column table
> --
>
> Key: IGNITE-22013
> URL: https://issues.apache.org/jira/browse/IGNITE-22013
> Project: Ignite
>  Issue Type: Bug
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
> mode, but not in thin client mode:
> {code:java}
> @Test
> public void testKVWithoutVClient() {
> String tableName = "TEST_TABLE_1";
> sql("CREATE TABLE " + tableName + " (id int primary key)");
> sql("INSERT INTO " + tableName + " (id) VALUES (1)");
> KeyValueView kvView = 
> tables().table(tableName).keyValueView();
> Assertions.assertDoesNotThrow(() -> kvView.get(null, 
> Tuple.create().set("id", 1)));
> }
> {code}
> * Add a test for .NET client too



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


[jira] [Updated] (IGNITE-22013) Java thin 3.0: KeyValueView does not work with single-column table

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22013:

Fix Version/s: 3.0.0-beta2

> Java thin 3.0: KeyValueView does not work with single-column table
> --
>
> Key: IGNITE-22013
> URL: https://issues.apache.org/jira/browse/IGNITE-22013
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
> mode, but not in thin client mode:
> {code:java}
> @Test
> public void testKVWithoutVClient() {
> String tableName = "TEST_TABLE_1";
> sql("CREATE TABLE " + tableName + " (id int primary key)");
> sql("INSERT INTO " + tableName + " (id) VALUES (1)");
> KeyValueView kvView = 
> tables().table(tableName).keyValueView();
> Assertions.assertDoesNotThrow(() -> kvView.get(null, 
> Tuple.create().set("id", 1)));
> }
> {code}
> * Add a test for .NET client too



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


[jira] [Updated] (IGNITE-22013) Java thin 3.0: KeyValueView does not work with single-column table

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-22013:

Description: 
Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
mode, but not in thin client mode:
{code:java}
@Test
public void testKVWithoutVClient() {
String tableName = "TEST_TABLE_1";

sql("CREATE TABLE " + tableName + " (id int primary key)");
sql("INSERT INTO " + tableName + " (id) VALUES (1)");


KeyValueView kvView = 
tables().table(tableName).keyValueView();

Assertions.assertDoesNotThrow(() -> kvView.get(null, 
Tuple.create().set("id", 1)));
}
{code}

* Add a test for .NET client too

> Java thin 3.0: KeyValueView does not work with single-column table
> --
>
> Key: IGNITE-22013
> URL: https://issues.apache.org/jira/browse/IGNITE-22013
> Project: Ignite
>  Issue Type: Bug
>Reporter: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Add the following test to *ItTablePutGetEmbeddedTest*, it works in embedded 
> mode, but not in thin client mode:
> {code:java}
> @Test
> public void testKVWithoutVClient() {
> String tableName = "TEST_TABLE_1";
> sql("CREATE TABLE " + tableName + " (id int primary key)");
> sql("INSERT INTO " + tableName + " (id) VALUES (1)");
> KeyValueView kvView = 
> tables().table(tableName).keyValueView();
> Assertions.assertDoesNotThrow(() -> kvView.get(null, 
> Tuple.create().set("id", 1)));
> }
> {code}
> * Add a test for .NET client too



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


[jira] [Created] (IGNITE-22013) Java thin 3.0: KeyValueView does not work with single-column table

2024-04-09 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22013:
---

 Summary: Java thin 3.0: KeyValueView does not work with 
single-column table
 Key: IGNITE-22013
 URL: https://issues.apache.org/jira/browse/IGNITE-22013
 Project: Ignite
  Issue Type: Bug
Reporter: Pavel Tupitsyn






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


[jira] [Created] (IGNITE-22010) .NET: Thin 3.0: Tracing with OpenTelemetry

2024-04-09 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-22010:
---

 Summary: .NET: Thin 3.0: Tracing with OpenTelemetry
 Key: IGNITE-22010
 URL: https://issues.apache.org/jira/browse/IGNITE-22010
 Project: Ignite
  Issue Type: New Feature
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2


Implement tracing with OpenTelemetry in .NET client. See Npgsql as an example: 
https://www.npgsql.org/doc/diagnostics/tracing.html



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


[jira] [Commented] (IGNITE-21494) Data Streamer: use one shared executor per node for flushTimer

2024-04-09 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21494:
-

Merged to main: e067aeae9d3d5f1d8eb5ab9816ce7ce4417c4d86

> Data Streamer: use one shared executor per node for flushTimer
> --
>
> Key: IGNITE-21494
> URL: https://issues.apache.org/jira/browse/IGNITE-21494
> 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, every *StreamerSubscriber* instance creates a new 
> *SingleThreadScheduledExecutor* for the *flushTimer*, which means a new 
> thread for every streamer.
> This is excessive. One executor per node or client should be enough.



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


[jira] [Updated] (IGNITE-21998) .NET: TestSchemaUpdateWhileStreaming is flaky

2024-04-08 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21998:

Description: 
https://ci.ignite.apache.org/test/4007460749051703227?currentProjectId=ApacheIgnite3xGradle_Test=%3Cdefault%3E=true

Fails due to a 15s timeout or throws an exception:
{code}
Apache.Ignite.IgniteException : Table schema was updated after the transaction 
was started [table=108, startSchema=1, operationSchema=2]
  > Apache.Ignite.IgniteException : 
org.apache.ignite.internal.table.distributed.replicator.IncompatibleSchemaException:
 IGN-TX-12 TraceId:e32316b9-eb22-49b2-a45b-01ecb067da4f Table schema was 
updated after the transaction was started [table=108, startSchema=1, 
operationSchema=2]
  at 
org.apache.ignite.internal.table.distributed.replicator.SchemaCompatibilityValidator.failIfSchemaChangedAfterTxStart(SchemaCompatibilityValidator.java:238)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.failIfSchemaChangedSinceTxStart(PartitionReplicaListener.java:3788)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$validateWriteAgainstSchemaAfterTakingLocks$215(PartitionReplicaListener.java:3713)
  at 
java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680)
  at 
java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658)
  at 
java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2094)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.validateWriteAgainstSchemaAfterTakingLocks(PartitionReplicaListener.java:3712)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processMultiEntryAction$106(PartitionReplicaListener.java:2377)
  at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
  at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processMultiEntryAction(PartitionReplicaListener.java:2349)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processOperationRequest$11(PartitionReplicaListener.java:644)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1926)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:644)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3923)
  at 
org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:440)
  at 
java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072)
  at 
java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506)
  at 
java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610)
  at 
java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649)
  at 
java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478)
  at 
java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
  at 
java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
  at java.base/java.lang.Thread.run(Thread.java:834)
   at Apache.Ignite.Internal.ClientSocket.DoOutInOpAsyncInternal(ClientOp 
clientOp, PooledArrayBuffer request, Boolean expectNotifications) in 
/opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/ClientSocket.cs:line
 626
   at 
Apache.Ignite.Internal.ClientFailoverSocket.DoOutInOpAndGetSocketAsync(ClientOp 
clientOp, Transaction tx, PooledArrayBuffer request, PreferredNode 
preferredNode, IRetryPolicy retryPolicyOverride, Boolean expectNotifications) 
in 
/opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/ClientFailoverSocket.cs:line
 213
   at Apache.Ignite.Internal.Table.DataStreamer.SendBatchAsync(Table table, 
PooledArrayBuffer buf, Int32 count, PreferredNode preferredNode, IRetryPolicy 
retryPolicy) in 
/opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
 509
   at 
Apache.Ignite.Internal.Table.DataStreamer.<>c__DisplayClass1_0`1.d.MoveNext()
 in 
/opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
 312
--- End of stack trace from previous location ---
   at 

[jira] [Updated] (IGNITE-21998) .NET: TestSchemaUpdateWhileStreaming is flaky

2024-04-08 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21998:

Description: 
https://ci.ignite.apache.org/test/4007460749051703227?currentProjectId=ApacheIgnite3xGradle_Test=%3Cdefault%3E=true

> .NET: TestSchemaUpdateWhileStreaming is flaky
> -
>
> Key: IGNITE-21998
> URL: https://issues.apache.org/jira/browse/IGNITE-21998
> Project: Ignite
>  Issue Type: Bug
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> https://ci.ignite.apache.org/test/4007460749051703227?currentProjectId=ApacheIgnite3xGradle_Test=%3Cdefault%3E=true



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


[jira] [Created] (IGNITE-21998) .NET: TestSchemaUpdateWhileStreaming is flaky

2024-04-08 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21998:
---

 Summary: .NET: TestSchemaUpdateWhileStreaming is flaky
 Key: IGNITE-21998
 URL: https://issues.apache.org/jira/browse/IGNITE-21998
 Project: Ignite
  Issue Type: Bug
  Components: thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Commented] (IGNITE-21490) .NET: Thin 3.0: DataStreamer data removal

2024-04-08 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21490:
-

Merged to main: 9a24cc614535c2e668cc0871bec1f1fee5928d29

> .NET: Thin 3.0: DataStreamer data removal
> -
>
> Key: IGNITE-21490
> URL: https://issues.apache.org/jira/browse/IGNITE-21490
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Implement data removal in .NET data streamer - see Java API changes in 
> IGNITE-21403.



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


[jira] [Updated] (IGNITE-21494) Data Streamer: use one shared executor per node for flushTimer

2024-04-05 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21494:

Description: 
Currently, every *StreamerSubscriber* instance creates a new 
*SingleThreadScheduledExecutor* for the *flushTimer*, which means a new thread 
for every streamer.

This is excessive. One executor per node or client should be enough.

  was:
Currently, every *StreamSubscriber* instance creates a new 
*SingleThreadScheduledExecutor* for the *flushTimer*, which means a new thread 
for every streamer.

This is excessive. One executor per node or client should be enough.


> Data Streamer: use one shared executor per node for flushTimer
> --
>
> Key: IGNITE-21494
> URL: https://issues.apache.org/jira/browse/IGNITE-21494
> 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
>
>
> Currently, every *StreamerSubscriber* instance creates a new 
> *SingleThreadScheduledExecutor* for the *flushTimer*, which means a new 
> thread for every streamer.
> This is excessive. One executor per node or client should be enough.



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


[jira] [Updated] (IGNITE-21099) .NET: Thin 3.0: Ensure AOT compatibility

2024-04-04 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21099:

Description: 
Ensure that Ignite.NET library is AOT-compatible: 
https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/

To test this:
* Run existing tests in AOT mode? Not sure if NUnit can do that.
* Write separate tests to check basic functionality for AOT
* See 
https://devblogs.microsoft.com/dotnet/testing-your-native-aot-dotnet-apps/ 
(note: experimental, closed-source testing framework)

  was:
Ensure that Ignite.NET library is AOT-compatible: 
https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/

To test this:
* Run existing tests in AOT mode? Not sure if NUnit can do that.
* Write separate tests to check basic functionality for AOT
* See https://devblogs.microsoft.com/dotnet/testing-your-native-aot-dotnet-apps/


> .NET: Thin 3.0: Ensure AOT compatibility
> 
>
> Key: IGNITE-21099
> URL: https://issues.apache.org/jira/browse/IGNITE-21099
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Ensure that Ignite.NET library is AOT-compatible: 
> https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/
> To test this:
> * Run existing tests in AOT mode? Not sure if NUnit can do that.
> * Write separate tests to check basic functionality for AOT
> * See 
> https://devblogs.microsoft.com/dotnet/testing-your-native-aot-dotnet-apps/ 
> (note: experimental, closed-source testing framework)



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


[jira] [Updated] (IGNITE-21099) .NET: Thin 3.0: Ensure AOT compatibility

2024-04-04 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21099:

Description: 
Ensure that Ignite.NET library is AOT-compatible: 
https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/

To test this:
* Run existing tests in AOT mode? Not sure if NUnit can do that.
* Write separate tests to check basic functionality for AOT
* See https://devblogs.microsoft.com/dotnet/testing-your-native-aot-dotnet-apps/

  was:
Ensure that Ignite.NET library is AOT-compatible: 
https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/

To test this:
* Run existing tests in AOT mode? Not sure if NUnit can do that.
* Write separate tests to check basic functionality for AOT


> .NET: Thin 3.0: Ensure AOT compatibility
> 
>
> Key: IGNITE-21099
> URL: https://issues.apache.org/jira/browse/IGNITE-21099
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>
> Ensure that Ignite.NET library is AOT-compatible: 
> https://devblogs.microsoft.com/dotnet/creating-aot-compatible-libraries/
> To test this:
> * Run existing tests in AOT mode? Not sure if NUnit can do that.
> * Write separate tests to check basic functionality for AOT
> * See 
> https://devblogs.microsoft.com/dotnet/testing-your-native-aot-dotnet-apps/



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


[jira] [Updated] (IGNITE-21962) ignite-client-handler tests fail due to hardcoded handshake response size

2024-04-04 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21962:

Description: 
The following tests fail if you change *IgniteProductVersion.CURRENT_VERSION* 
so that the string length is different, because handshake response size changes:
 
* 
*org.apache.ignite.client.handler.ItClientHandlerMetricsTest#testBytesSentReceived*
* 
*org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeWithAuthenticationValidCredentials*
* 
*org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeValidReturnsSuccess*

  was:
* 
*org.apache.ignite.client.handler.ItClientHandlerMetricsTest#testBytesSentReceived*
* 
*org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeWithAuthenticationValidCredentials*
* 
*org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeValidReturnsSuccess*


> ignite-client-handler tests fail due to hardcoded handshake response size
> -
>
> Key: IGNITE-21962
> URL: https://issues.apache.org/jira/browse/IGNITE-21962
> Project: Ignite
>  Issue Type: Bug
>  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
>
>
> The following tests fail if you change *IgniteProductVersion.CURRENT_VERSION* 
> so that the string length is different, because handshake response size 
> changes:
>  
> * 
> *org.apache.ignite.client.handler.ItClientHandlerMetricsTest#testBytesSentReceived*
> * 
> *org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeWithAuthenticationValidCredentials*
> * 
> *org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeValidReturnsSuccess*



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


[jira] [Updated] (IGNITE-21962) ignite-client-handler tests fail due to hardcoded handshake response size

2024-04-04 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21962:

Description: 
* 
*org.apache.ignite.client.handler.ItClientHandlerMetricsTest#testBytesSentReceived*
* 
*org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeWithAuthenticationValidCredentials*
* 
*org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeValidReturnsSuccess*

> ignite-client-handler tests fail due to hardcoded handshake response size
> -
>
> Key: IGNITE-21962
> URL: https://issues.apache.org/jira/browse/IGNITE-21962
> Project: Ignite
>  Issue Type: Bug
>  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
>
>
> * 
> *org.apache.ignite.client.handler.ItClientHandlerMetricsTest#testBytesSentReceived*
> * 
> *org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeWithAuthenticationValidCredentials*
> * 
> *org.apache.ignite.client.handler.ItClientHandlerTest#testHandshakeValidReturnsSuccess*



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


[jira] [Created] (IGNITE-21962) ignite-client-handler tests fail due to hardcoded handshake response size

2024-04-04 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21962:
---

 Summary: ignite-client-handler tests fail due to hardcoded 
handshake response size
 Key: IGNITE-21962
 URL: https://issues.apache.org/jira/browse/IGNITE-21962
 Project: Ignite
  Issue Type: Bug
  Components: thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Commented] (IGNITE-21931) .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend

2024-04-03 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21931:
-

Merged to main: d3ff291c4c63694af9dcf3714ec983c2a20fcc21

> .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend
> --
>
> Key: IGNITE-21931
> URL: https://issues.apache.org/jira/browse/IGNITE-21931
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Implement IGNITE-21402 in .NET: Use *StreamerBatchSend* instead of 
> *TupleUpsertAll* protocol operation for data streamer.



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


[jira] [Commented] (IGNITE-21931) .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend

2024-04-03 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21931:
-

[~isapego] please review.

> .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend
> --
>
> Key: IGNITE-21931
> URL: https://issues.apache.org/jira/browse/IGNITE-21931
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement IGNITE-21402 in .NET: Use *StreamerBatchSend* instead of 
> *TupleUpsertAll* protocol operation for data streamer.



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


[jira] [Updated] (IGNITE-21931) .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend

2024-04-03 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21931:

Description: Implement IGNITE-21402 in .NET: Use 

> .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend
> --
>
> Key: IGNITE-21931
> URL: https://issues.apache.org/jira/browse/IGNITE-21931
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement IGNITE-21402 in .NET: Use 



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


[jira] [Updated] (IGNITE-21931) .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend

2024-04-03 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21931:

Description: Implement IGNITE-21402 in .NET: Use *StreamerBatchSend* 
instead of *TupleUpsertAll* protocol operation for data streamer.  (was: 
Implement IGNITE-21402 in .NET: Use )

> .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend
> --
>
> Key: IGNITE-21931
> URL: https://issues.apache.org/jira/browse/IGNITE-21931
> Project: Ignite
>  Issue Type: Improvement
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: .NET, ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement IGNITE-21402 in .NET: Use *StreamerBatchSend* instead of 
> *TupleUpsertAll* protocol operation for data streamer.



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


[jira] [Created] (IGNITE-21931) .NET: Thin 3.0: Refactor DataStreamer to use StreamerBatchSend

2024-04-03 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21931:
---

 Summary: .NET: Thin 3.0: Refactor DataStreamer to use 
StreamerBatchSend
 Key: IGNITE-21931
 URL: https://issues.apache.org/jira/browse/IGNITE-21931
 Project: Ignite
  Issue Type: Improvement
  Components: platforms, thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Assigned] (IGNITE-21604) .NET: Thin 3.0: Pass client time zone to server

2024-04-02 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-21604:
---

Assignee: Pavel Tupitsyn

> .NET: Thin 3.0: Pass client time zone to server
> ---
>
> Key: IGNITE-21604
> URL: https://issues.apache.org/jira/browse/IGNITE-21604
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Pavel Pereslegin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Once IGNITE-21551 is implemented, it will be possible to set the time zone in 
> a user session.
> The session time zone is taken into account when calling functions for 
> obtaining the current time (CURRENT_TIMESTAMP, etc), as well as when 
> processing a string literal for the 'TIMESTAMP WITH LOCAL TIME ZONE' type.
> For this to work correctly, you need to transfer the client's time zone 
> through the thin client.
> p.s. check the TODOs that point to this ticket.



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


[jira] [Assigned] (IGNITE-21568) Java thin 3.0: Pass client time zone to server

2024-04-02 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-21568:
---

Assignee: Pavel Tupitsyn

> Java thin 3.0: Pass client time zone to server
> --
>
> Key: IGNITE-21568
> URL: https://issues.apache.org/jira/browse/IGNITE-21568
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Reporter: Pavel Pereslegin
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
>
> Once IGNITE-21551 is implemented, it will be possible to set the time zone in 
> a user session.
> The session time zone is taken into account when calling functions for 
> obtaining the current time (CURRENT_TIMESTAMP, etc), as well as when 
> processing a string literal for the 'TIMESTAMP WITH LOCAL TIME ZONE' type.
> For this to work correctly, you need to transfer the client's time zone 
> through the thin client.
> p.s. check the TODOs that point to this ticket.



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


[jira] [Commented] (IGNITE-21765) Java thin 3.0: DataStreamer partition awareness might break if assignment is not available at the moment

2024-04-02 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21765:
-

Merged to main: dd75ada680b6a42b022b61f9615667bca156f4ad

> Java thin 3.0: DataStreamer partition awareness might break if assignment is 
> not available at the moment
> 
>
> Key: IGNITE-21765
> URL: https://issues.apache.org/jira/browse/IGNITE-21765
> Project: Ignite
>  Issue Type: Bug
>  Components: streaming, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> * *ClientTable.getPartitionAssignment* might return an empty list
> * *AbstractClientStreamerPartitionAwarenessProvider* assumes that partition 
> count can't change
> Therefore, if some server node lags behind and returns an empty assignment 
> for a given timestamp, streamer partition awareness won't work at all.
> *Potential Fixes*
> * Wait for assignment on the server, do not return empty/null - might affect 
> performance
> * Return correct partition count, but null values - faster and simpler



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


[jira] [Updated] (IGNITE-21765) Java thin 3.0: DataStreamer partition awareness might break if assignment is not available at the moment

2024-04-02 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21765:

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

> Java thin 3.0: DataStreamer partition awareness might break if assignment is 
> not available at the moment
> 
>
> Key: IGNITE-21765
> URL: https://issues.apache.org/jira/browse/IGNITE-21765
> Project: Ignite
>  Issue Type: Bug
>  Components: streaming, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> * *ClientTable.getPartitionAssignment* might return an empty list
> * *AbstractClientStreamerPartitionAwarenessProvider* assumes that partition 
> count can't change
> Therefore, if some server node lags behind and returns an empty assignment 
> for a given timestamp, streamer partition awareness won't work at all.
> *Potential Fixes*
> * Wait for assignment on the server, do not return empty/null - might affect 
> performance
> * Return correct partition count, but null values - faster and simpler



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


[jira] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


[ https://issues.apache.org/jira/browse/IGNITE-21891 ]


Pavel Tupitsyn deleted comment on IGNITE-21891:
-

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

> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.
> * *deleteAll/removeAll* methods return key-only rows
> * *AbstractRowTupleAdapter* does not support key-only rows and always uses 
> *positionInRow*.



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


[jira] [Assigned] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-21891:
---

Assignee: Pavel Tupitsyn

> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.
> * *deleteAll/removeAll* methods return key-only rows
> * *AbstractRowTupleAdapter* does not support key-only rows and always uses 
> *positionInRow*.



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


[jira] [Assigned] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn reassigned IGNITE-21891:
---

Assignee: (was: Pavel Tupitsyn)

> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.
> * *deleteAll/removeAll* methods return key-only rows
> * *AbstractRowTupleAdapter* does not support key-only rows and always uses 
> *positionInRow*.



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


[jira] [Commented] (IGNITE-21877) Wrong column deserialization order in ClientKeyValueView

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21877:
-

Merged to main: 35ef7213b0dc05ba7d32f53eaf918800ecbdfae5

> Wrong column deserialization order in ClientKeyValueView
> 
>
> Key: IGNITE-21877
> URL: https://issues.apache.org/jira/browse/IGNITE-21877
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> IGNITE-21768 fix was incomplete - some places still use old logic:
> * *readGetAllResponse*
> * *queryMapper*
> Make sure to add tests for all operations in all views to 
> *ItCustomKeyColumnOrderClientTest* .



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


[jira] [Updated] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21891:

Description: 
See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.

* *deleteAll/removeAll* methods return key-only rows
* *AbstractRowTupleAdapter* does not support key-only rows and always uses 
*positionInRow*.

  was:
See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.

*AbstractRowTupleAdapter* does not support key-only rows and always uses 
*positionInRow*.


> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.
> * *deleteAll/removeAll* methods return key-only rows
> * *AbstractRowTupleAdapter* does not support key-only rows and always uses 
> *positionInRow*.



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


[jira] [Updated] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21891:

Description: 
See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.

*AbstractRowTupleAdapter* does not support key-only rows and always uses 
*positionInRow*.

  was:See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.


> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.
> *AbstractRowTupleAdapter* does not support key-only rows and always uses 
> *positionInRow*.



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


[jira] [Updated] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21891:

Labels: ignite-3  (was: )

> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.



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


[jira] [Created] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21891:
---

 Summary: deleteAll/removeAll does not work in embedded mode when 
key columns are after value
 Key: IGNITE-21891
 URL: https://issues.apache.org/jira/browse/IGNITE-21891
 Project: Ignite
  Issue Type: Bug
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-21891) deleteAll/removeAll does not work in embedded mode when key columns are after value

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21891:

Description: See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.

> deleteAll/removeAll does not work in embedded mode when key columns are after 
> value
> ---
>
> Key: IGNITE-21891
> URL: https://issues.apache.org/jira/browse/IGNITE-21891
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Priority: Blocker
> Fix For: 3.0.0-beta2
>
>
> See disabled tests in *ItCustomKeyColumnOrderEmbeddedTest*.



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


[jira] [Commented] (IGNITE-21335) C++ 3.0: Implement JobExecutionOptions

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21335:
-

[~isapego] looks good to me.

> C++ 3.0: Implement JobExecutionOptions
> --
>
> Key: IGNITE-21335
> URL: https://issues.apache.org/jira/browse/IGNITE-21335
> Project: Ignite
>  Issue Type: Task
>  Components: platforms, thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Dmitry Baranov
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Java part of this changes https://github.com/apache/ignite-3/pull/3050



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


[jira] [Commented] (IGNITE-21745) BinaryTuple stores BigDecimal inefficiently

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21745:
-

Merged to main: 71c320f0af1a41045a19381e4e859cf38726342a

> BinaryTuple stores BigDecimal inefficiently
> ---
>
> Key: IGNITE-21745
> URL: https://issues.apache.org/jira/browse/IGNITE-21745
> Project: Ignite
>  Issue Type: Bug
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> * While we have varint logic for short/int/long, we don't have it for 
> BigDecimal.
> * MAX_DECIMAL_SCALE = Short.MAX_VALUE (CatalogUtils)
> As a result, we can waste multiple kilobytes to store a very simple value.
> {code:java}
> BigDecimal value = new BigDecimal(1);
> BinaryTupleBuilder builder = new BinaryTupleBuilder(1);
> ByteBuffer bytes = builder.appendDecimal(value, 
> Short.MAX_VALUE).build();
> assertEquals(13610, bytes.limit());
> {code}
> This is especially a problem with some SQL queries which return values with 
> MAX_DECIMAL_SCALE as a result of calculations, for example:
> {code:sql}
> select (cast(_T0.VAL as decimal(20, 10)) / ?) as DECIMAL0 from 
> PUBLIC.TBL_INT32 as _T0
> {code}
> Another problem - .NET client can't read those large-scale values because of 
> built-in type limitation. Even though the actual value is just *1*.



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


[jira] [Commented] (IGNITE-21288) C++ thin client: implement job execution interface

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21288:
-

[~isapego] looks good to me in general, please see a few comments on GitHub.

> C++ thin client: implement job execution interface
> --
>
> Key: IGNITE-21288
> URL: https://issues.apache.org/jira/browse/IGNITE-21288
> Project: Ignite
>  Issue Type: Improvement
>  Components: compute, platforms, thin client
>Reporter: Vadim Pakhnushev
>Assignee: Igor Sapego
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Implement {{JobExecution}} interface on the client.



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


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

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21875:

Labels: ignite-3  (was: )

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



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


[jira] [Created] (IGNITE-21877) Wrong column deserialization order in ClientKeyValueView

2024-03-29 Thread Pavel Tupitsyn (Jira)
Pavel Tupitsyn created IGNITE-21877:
---

 Summary: Wrong column deserialization order in ClientKeyValueView
 Key: IGNITE-21877
 URL: https://issues.apache.org/jira/browse/IGNITE-21877
 Project: Ignite
  Issue Type: Improvement
  Components: thin client
Affects Versions: 3.0.0-beta1
Reporter: Pavel Tupitsyn
Assignee: Pavel Tupitsyn
 Fix For: 3.0.0-beta2






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


[jira] [Updated] (IGNITE-21877) Wrong column deserialization order in ClientKeyValueView

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21877:

Description: 
IGNITE-21768 fix was incomplete - some places still use old logic:
* *readGetAllResponse*
* *queryMapper*

Make sure to add tests for all operations in all views to 
*ItCustomKeyColumnOrderClientTest* .

  was:
IGNITE-21768 fix was incomplete - some places still use old logic:
* *readGetAllResponse*
* *queryMapper*


> Wrong column deserialization order in ClientKeyValueView
> 
>
> Key: IGNITE-21877
> URL: https://issues.apache.org/jira/browse/IGNITE-21877
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> IGNITE-21768 fix was incomplete - some places still use old logic:
> * *readGetAllResponse*
> * *queryMapper*
> Make sure to add tests for all operations in all views to 
> *ItCustomKeyColumnOrderClientTest* .



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


[jira] [Updated] (IGNITE-21877) Wrong column deserialization order in ClientKeyValueView

2024-03-29 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21877:

Description: 
IGNITE-21768 fix was incomplete - some places still use old logic:
* *readGetAllResponse*
* *queryMapper*

> Wrong column deserialization order in ClientKeyValueView
> 
>
> Key: IGNITE-21877
> URL: https://issues.apache.org/jira/browse/IGNITE-21877
> Project: Ignite
>  Issue Type: Improvement
>  Components: thin client
>Affects Versions: 3.0.0-beta1
>Reporter: Pavel Tupitsyn
>Assignee: Pavel Tupitsyn
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> IGNITE-21768 fix was incomplete - some places still use old logic:
> * *readGetAllResponse*
> * *queryMapper*



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


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

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

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






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


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

2024-03-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn updated IGNITE-21875:

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

Remove them.

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



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


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

2024-03-28 Thread Pavel Tupitsyn (Jira)


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

Pavel Tupitsyn commented on IGNITE-21768:
-

Merged to main: c662f45bbe5c89626f1d6739afbf1198c286e1bb

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



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


  1   2   3   4   5   6   7   8   9   10   >