[jira] [Updated] (IGNITE-23639) Transaction aware Index queries

2024-11-08 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23639:
-
Description: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Index queries.  
(was: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.)

> Transaction aware Index queries
> ---
>
> Key: IGNITE-23639
> URL: https://issues.apache.org/jira/browse/IGNITE-23639
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
>  - implementation of IEP-125 part to support transactions in Index queries.



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


[jira] [Created] (IGNITE-23639) Transaction aware Index queries

2024-11-08 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23639:


 Summary: Transaction aware Index queries
 Key: IGNITE-23639
 URL: https://issues.apache.org/jira/browse/IGNITE-23639
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov
 Fix For: 2.17


[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.



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


[jira] [Updated] (IGNITE-22733) Transaction aware Scan queries

2024-11-08 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-22733:
-
Fix Version/s: 2.17

> Transaction aware Scan queries
> --
>
> Key: IGNITE-22733
> URL: https://issues.apache.org/jira/browse/IGNITE-22733
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 5h
>  Remaining Estimate: 0h
>
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
>  - implementation of IEP-125 part to support transactions in Scan queries.



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


[jira] [Resolved] (IGNITE-23593) Use CacheQuery instead of GridCacheQueryAdapter

2024-11-08 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-23593.
--
Resolution: Fixed

> Use CacheQuery instead of GridCacheQueryAdapter
> ---
>
> Key: IGNITE-23593
> URL: https://issues.apache.org/jira/browse/IGNITE-23593
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> CacheQuery interface are internal and has only implementation 
> GridCacheQueryAdapter.
> We can safely remove GridCacheQueryAdapter and make CacheQuery class with all 
> code from GridCacheQueryAdapter.



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


[jira] [Resolved] (IGNITE-23554) Scan queries code cleanup - 2

2024-11-07 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-23554.
--
Resolution: Fixed

> Scan queries code cleanup - 2
> -
>
> Key: IGNITE-23554
> URL: https://issues.apache.org/jira/browse/IGNITE-23554
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> To be able to reuse filter, transformer of ScanQuery for transactional data 
> we need to cleanup a bit



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


[jira] [Updated] (IGNITE-23121) Disallow IgniteCache#iterator inside transaction

2024-11-06 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23121:
-
Summary: Disallow IgniteCache#iterator inside transaction  (was: CLONE - 
Disallow IgniteCache#iterator inside transaction)

> Disallow IgniteCache#iterator inside transaction
> 
>
> Key: IGNITE-23121
> URL: https://issues.apache.org/jira/browse/IGNITE-23121
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: ise
> Fix For: 2.17
>
>
> `IgniteCache#iterator` invocation are not transactional.
> But, currently, Ignite allow to invoke `iterator` inside transaction.
> This lead to unexpected behavior and hides business logic errors.
> We must disallow IgniteCache#iterator call inside transaction.
> {code:java}
> @Test
> public void testTx() {
> IgniteCache c =
> client.createCache(new CacheConfiguration Integer>().setName("xxx").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
> c.put(1, 1);
> c.put(2, 1);
> c.put(3, 1);
> Set keys = new HashSet<>();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertEquals(3, keys.size());
> try (Transaction tx = 
> client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
> TransactionIsolation.READ_COMMITTED)) {
> c.remove(2);
> keys.clear();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertFalse(keys.contains(2));
> assertEquals(2, keys.size());
> }
> }
> {code}



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


[jira] [Updated] (IGNITE-23121) Disallow IgniteCache#iterator inside transaction

2024-11-06 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23121:
-
Labels: IEP-125 ise  (was: ise)

> Disallow IgniteCache#iterator inside transaction
> 
>
> Key: IGNITE-23121
> URL: https://issues.apache.org/jira/browse/IGNITE-23121
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>
> `IgniteCache#iterator` invocation are not transactional.
> But, currently, Ignite allow to invoke `iterator` inside transaction.
> This lead to unexpected behavior and hides business logic errors.
> We must disallow IgniteCache#iterator call inside transaction.
> {code:java}
> @Test
> public void testTx() {
> IgniteCache c =
> client.createCache(new CacheConfiguration Integer>().setName("xxx").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
> c.put(1, 1);
> c.put(2, 1);
> c.put(3, 1);
> Set keys = new HashSet<>();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertEquals(3, keys.size());
> try (Transaction tx = 
> client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
> TransactionIsolation.READ_COMMITTED)) {
> c.remove(2);
> keys.clear();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertFalse(keys.contains(2));
> assertEquals(2, keys.size());
> }
> }
> {code}



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


[jira] [Updated] (IGNITE-23593) Use CacheQuery instead of GridCacheQueryAdapter

2024-11-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23593:
-
Fix Version/s: 2.17

> Use CacheQuery instead of GridCacheQueryAdapter
> ---
>
> Key: IGNITE-23593
> URL: https://issues.apache.org/jira/browse/IGNITE-23593
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> CacheQuery interface are internal and has only implementation 
> GridCacheQueryAdapter.
> We can safely remove GridCacheQueryAdapter and make CacheQuery class with all 
> code from GridCacheQueryAdapter.



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


[jira] [Assigned] (IGNITE-23593) Use CacheQuery instead of GridCacheQueryAdapter

2024-11-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-23593:


Assignee: Nikolay Izhikov

> Use CacheQuery instead of GridCacheQueryAdapter
> ---
>
> Key: IGNITE-23593
> URL: https://issues.apache.org/jira/browse/IGNITE-23593
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> CacheQuery interface are internal and has only implementation 
> GridCacheQueryAdapter.
> We can safely remove GridCacheQueryAdapter and make CacheQuery class with all 
> code from GridCacheQueryAdapter.



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


[jira] [Updated] (IGNITE-23593) Use CacheQuery instead of GridCacheQueryAdapter

2024-11-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23593:
-
Summary: Use CacheQuery instead of GridCacheQueryAdapter  (was: User 
CacheQuery instead of GridCacheQueryAdapter)

> Use CacheQuery instead of GridCacheQueryAdapter
> ---
>
> Key: IGNITE-23593
> URL: https://issues.apache.org/jira/browse/IGNITE-23593
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> CacheQuery interface are internal and has only implementation 
> GridCacheQueryAdapter.
> We can safely remove GridCacheQueryAdapter and make CacheQuery class with all 
> code from GridCacheQueryAdapter.



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


[jira] [Updated] (IGNITE-23593) User CacheQuery instead of GridCacheQueryAdapter

2024-11-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23593:
-
Labels: IEP-125 ise  (was: )

> User CacheQuery instead of GridCacheQueryAdapter
> 
>
> Key: IGNITE-23593
> URL: https://issues.apache.org/jira/browse/IGNITE-23593
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> CacheQuery interface are internal and has only implementation 
> GridCacheQueryAdapter.
> We can safely remove GridCacheQueryAdapter and make CacheQuery class with all 
> code from GridCacheQueryAdapter.



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


[jira] [Created] (IGNITE-23593) User CacheQuery instead of GridCacheQueryAdapter

2024-11-02 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23593:


 Summary: User CacheQuery instead of GridCacheQueryAdapter
 Key: IGNITE-23593
 URL: https://issues.apache.org/jira/browse/IGNITE-23593
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov


CacheQuery interface are internal and has only implementation 
GridCacheQueryAdapter.
We can safely remove GridCacheQueryAdapter and make CacheQuery class with all 
code from GridCacheQueryAdapter.



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


[jira] [Created] (IGNITE-23589) Transaction aware Set, Queue

2024-11-01 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23589:


 Summary: Transaction aware Set, Queue
 Key: IGNITE-23589
 URL: https://issues.apache.org/jira/browse/IGNITE-23589
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.



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


[jira] [Updated] (IGNITE-23589) Transaction aware Set, Queue

2024-11-01 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23589:
-
Description: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Set, Queue 
queries.  (was: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.)

> Transaction aware Set, Queue
> 
>
> Key: IGNITE-23589
> URL: https://issues.apache.org/jira/browse/IGNITE-23589
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
>  - implementation of IEP-125 part to support transactions in Set, Queue 
> queries.



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


[jira] [Updated] (IGNITE-23535) Fix IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket

2024-10-30 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23535:
-
Fix Version/s: 2.17

> Fix 
> IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket
> 
>
> Key: IGNITE-23535
> URL: https://issues.apache.org/jira/browse/IGNITE-23535
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Assignee: Vladislav Novikov
>Priority: Minor
>  Labels: ise
> Fix For: 2.17
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> Test 
> IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket 
> fails always.
> https://ci2.ignite.apache.org/test/3263646825406379901?currentProjectId=IgniteTests24Java8&branch=%3Cdefault%3E&expandTestHistoryChartSection=true



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


[jira] [Commented] (IGNITE-23398) Deprecate obsolete SpiQuery

2024-10-28 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-23398:
--

[~vladnovoren] please, run tests and provide bot visa for this ticket.

> Deprecate obsolete SpiQuery
> ---
>
> Key: IGNITE-23398
> URL: https://issues.apache.org/jira/browse/IGNITE-23398
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Vladislav Novikov
>Priority: Major
>  Labels: IEP-80, ise
> Fix For: 2.17
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> SpiQuery are obsolete and can be removed, but we have make it deprecated first



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


[jira] [Reopened] (IGNITE-23398) Deprecate obsolete SpiQuery

2024-10-28 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reopened IGNITE-23398:
--

> Deprecate obsolete SpiQuery
> ---
>
> Key: IGNITE-23398
> URL: https://issues.apache.org/jira/browse/IGNITE-23398
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Vladislav Novikov
>Priority: Major
>  Labels: IEP-80, ise
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> SpiQuery are obsolete and can be removed, but we have make it deprecated first



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


[jira] [Updated] (IGNITE-23398) Deprecate obsolete SpiQuery

2024-10-28 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23398:
-
Fix Version/s: 2.17

> Deprecate obsolete SpiQuery
> ---
>
> Key: IGNITE-23398
> URL: https://issues.apache.org/jira/browse/IGNITE-23398
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Vladislav Novikov
>Priority: Major
>  Labels: IEP-80, ise
> Fix For: 2.17
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> SpiQuery are obsolete and can be removed, but we have make it deprecated first



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


[jira] [Created] (IGNITE-23554) Scan queries code cleanup - 2

2024-10-28 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23554:


 Summary: Scan queries code cleanup - 2
 Key: IGNITE-23554
 URL: https://issues.apache.org/jira/browse/IGNITE-23554
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov
 Fix For: 2.17


To be able to reuse filter, transformer of ScanQuery for transactional data we 
need to cleanup a bit



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


[jira] [Updated] (IGNITE-23513) Use limited string representation for arrays in BinaryObjectExImpl::toString

2024-10-28 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23513:
-
Fix Version/s: 2.17

> Use limited string representation for arrays in BinaryObjectExImpl::toString
> 
>
> Key: IGNITE-23513
> URL: https://issues.apache.org/jira/browse/IGNITE-23513
> Project: Ignite
>  Issue Type: Task
>Reporter: Sergey Korotkov
>Assignee: Sergey Korotkov
>Priority: Minor
>  Labels: ise
> Fix For: 2.17
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> BinaryObjectExImpl::toString shouldn't try to generate large strings for 
> large arrays and respect the IGNITE_TO_STRING_COLLECTION_LIMIT property.
> **
> Not doing so in worst case can cause say the *java.lang.OutOfMemoryError: 
> Requested array size exceeds VM limit* errors during the logging of some 
> another exception. If such an OOM occur the information of real problem will 
> be lost and not logged.
> For example:
> {noformat}
> [2024-10-24T11:35:44,402][ERROR][client-connector-#149%jdbc_thin_blob_test.JdbcThinBlobTest.test_jdbc_thin_blob.mode.blob.bias.False.blob_size.1073741824.server_heap.12.insert_heap.6.select_heap.6.ignite_version.ignite-dev%][
> ClientListenerNioListener] Failed to process client request 
> [req=JdbcQueryExecuteRequest [schemaName=PUBLIC, pageSize=1024, maxRows=0, 
> sqlQry=INSERT INTO query(id, blob) VALUES(?, ?), args=Object[] [1, [-29, 
> -127, 20, 60, 106
> , 13, -121, -72, 5, 60, -59, 22, -16, 0, 97, 91, -18, -91, -104, 35, -122, 
> -66, -17, -46, -1, -20, -117, 104, -31, -8, 15, 25, 12, -62, 5, -84, -15, 97, 
> 2, 19, -85, 106, -35, 37, 68, 108, -56, 25, 6, 63, -95, 37, -74, -33, 8,
>  24, -38, 52, 67, 111, 48, -46, 48, -100, -31, -105, 15, 123, 86, -48, -86, 
> 7, -118, 125, -67, -102, 79, 125, 62, -89, -23, 16, 65, -82, -57, 25, 13, 57, 
> 57, -122, -111, 63, -128, 28, -90, -41, 14, -12, -9, -36, -91... and 10
> 73741724 more]], stmtType=ANY_STATEMENT_TYPE, autoCommit=true, 
> partResReq=false, explicitTimeout=false, txId=0, super=JdbcRequest [type=2, 
> reqId=2]], msg=Requested array size exceeds VM limit]
> java.lang.OutOfMemoryError: Requested array size exceeds VM limit
> at java.base/java.util.Arrays.copyOf(Arrays.java:3745) ~[?:?]
> at 
> java.base/java.lang.AbstractStringBuilder.ensureCapacityInternal(AbstractStringBuilder.java:172)
>  ~[?:?]
> at 
> java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:538)
>  ~[?:?]
> at java.base/java.lang.StringBuilder.append(StringBuilder.java:178) 
> ~[?:?]
> at java.base/java.util.Arrays.toString(Arrays.java:4991) ~[?:?]
> at 
> org.apache.ignite.internal.binary.BinaryObjectExImpl.appendValue(BinaryObjectExImpl.java:272)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.binary.BinaryObjectExImpl.toString(BinaryObjectExImpl.java:237)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.binary.BinaryObjectExImpl.toString(BinaryObjectExImpl.java:189)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.binary.BinaryObjectImpl.toString(BinaryObjectImpl.java:1019)
>  ~[classes/:?]
> at java.base/java.lang.String.valueOf(String.java:2951) ~[?:?]
> at 
> org.apache.ignite.internal.util.GridStringBuilder.a(GridStringBuilder.java:102)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.util.tostring.SBLimitedLength.a(SBLimitedLength.java:100)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:910)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl0(GridToStringBuilder.java:1121)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toStringImpl(GridToStringBuilder.java:1055)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:816)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.util.tostring.GridToStringBuilder.toString(GridToStringBuilder.java:784)
>  ~[classes/:?]
> at 
> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicSingleUpdateRequest.toString(GridDhtAtomicSingleUpdateRequest.java:495)
>  ~[classes/:?]
> at java.base/java.lang.String.valueOf(String.java:2951) ~[?:?]
> at 
> java.base/java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(DirectMethodHandle$Holder)
>  ~[?:?]
> at 
> java.base/java.lang.invoke.LambdaForm$MH/0x000840282c40.invoke(LambdaForm$MH)
>  ~[?:?]
> at 
> java.base/java.lang.invoke.LambdaForm$MH/0x0008404c3c40.invoke(LambdaForm$MH)
>  ~[?:?]
> at 
> java.base/java.lang.invoke

[jira] [Resolved] (IGNITE-23542) Scan queries code cleanup

2024-10-25 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-23542.
--
Resolution: Fixed

> Scan queries code cleanup
> -
>
> Key: IGNITE-23542
> URL: https://issues.apache.org/jira/browse/IGNITE-23542
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> To be able to reuse filter, transformer of ScanQuery for transactional data 
> we need to cleanup a bit



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


[jira] [Updated] (IGNITE-23542) Scan queries code cleanup

2024-10-25 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23542:
-
Fix Version/s: 2.17

> Scan queries code cleanup
> -
>
> Key: IGNITE-23542
> URL: https://issues.apache.org/jira/browse/IGNITE-23542
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> To be able to reuse filter, transformer of ScanQuery for transactional data 
> we need to cleanup a bit



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


[jira] [Updated] (IGNITE-23542) Scan queries code cleanup

2024-10-25 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23542:
-
Description: To be able to reuse filter, transformer of ScanQuery for 
transactional data we need to cleanup a bit  (was: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.)

> Scan queries code cleanup
> -
>
> Key: IGNITE-23542
> URL: https://issues.apache.org/jira/browse/IGNITE-23542
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> To be able to reuse filter, transformer of ScanQuery for transactional data 
> we need to cleanup a bit



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


[jira] [Created] (IGNITE-23542) Scan queries code cleanup

2024-10-25 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23542:


 Summary: Scan queries code cleanup
 Key: IGNITE-23542
 URL: https://issues.apache.org/jira/browse/IGNITE-23542
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.



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


[jira] [Created] (IGNITE-23535) Fix IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket

2024-10-25 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23535:


 Summary: Fix 
IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket
 Key: IGNITE-23535
 URL: https://issues.apache.org/jira/browse/IGNITE-23535
 Project: Ignite
  Issue Type: Bug
Reporter: Nikolay Izhikov


Test 
IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket 
fails alway.



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


[jira] [Updated] (IGNITE-23535) Fix IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket

2024-10-24 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23535:
-
Description: 
Test 
IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket 
fails always.

https://ci2.ignite.apache.org/test/3263646825406379901?currentProjectId=IgniteTests24Java8&branch=%3Cdefault%3E&expandTestHistoryChartSection=true

  was:Test 
IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket 
fails alway.


> Fix 
> IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket
> 
>
> Key: IGNITE-23535
> URL: https://issues.apache.org/jira/browse/IGNITE-23535
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Priority: Minor
>  Labels: ise
>
> Test 
> IgniteUtilsUnitTest.shouldNotProduceWarningsWhenClosingAnAlreadyClosedSocket 
> fails always.
> https://ci2.ignite.apache.org/test/3263646825406379901?currentProjectId=IgniteTests24Java8&branch=%3Cdefault%3E&expandTestHistoryChartSection=true



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


[jira] [Assigned] (IGNITE-23515) Assertion error in ClientCacheFieldsQueryCursor#writeEntry

2024-10-22 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-23515:


Assignee: Nikolay Izhikov

> Assertion error in ClientCacheFieldsQueryCursor#writeEntry
> --
>
> Key: IGNITE-23515
> URL: https://issues.apache.org/jira/browse/IGNITE-23515
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ilya Shishkov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: ise
> Attachments: AssertionReproducerTest.patch
>
>
> {code:java}
> [2024-10-22T13:32:42,261][ERROR][client-connector-#526%ignite.AssertionReproducerTest0%][ClientListenerNioListener]
>  Failed to process client request 
> [req=o.a.i.i.processors.platform.client.cache.ClientCacheSqlFieldsQueryRequest@1a621410,
>  msg=[893, o.a.i.AssertionReproducerTest$TestValue [idHash=361289342, 
> hash=1936774068, id=893, name=893], 893]]
>  java.lang.AssertionError: null
>   at 
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheFieldsQueryCursor.writeEntry(ClientCacheFieldsQueryCursor.java:47)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheFieldsQueryCursor.writeEntry(ClientCacheFieldsQueryCursor.java:28)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheQueryCursor.writePage(ClientCacheQueryCursor.java:79)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.platform.client.cache.ClientCacheSqlFieldsQueryResponse.encode(ClientCacheSqlFieldsQueryResponse.java:73)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.platform.client.ClientMessageParser.encode(ClientMessageParser.java:737)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.handleResponse(ClientListenerNioListener.java:251)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:228)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.processors.odbc.ClientListenerNioListener.onMessage(ClientListenerNioListener.java:57)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.nio.GridNioFilterChain$TailFilter.onMessageReceived(GridNioFilterChain.java:279)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.nio.GridNioFilterAdapter.proceedMessageReceived(GridNioFilterAdapter.java:109)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.nio.GridNioAsyncNotifyFilter$3.body(GridNioAsyncNotifyFilter.java:97)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125) 
> [classes/:?]
>   at 
> org.apache.ignite.internal.util.worker.GridWorkerPool$1.run(GridWorkerPool.java:70)
>  [classes/:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:829) [?:?]
> {code}
> Failure occurs on such sql fields query called from thin client:
> {code:java}
> new SqlFieldsQuery("select _key, _val from " + TABLE_NAME + " where id > 10 
> order by id asc")
> .setPartitions(rnd.nextInt(dfltPartsCnt))
> {code}
> Reproducer (flaky): [^AssertionReproducerTest.patch]



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


[jira] [Updated] (IGNITE-23090) Support Transaction aware SQL in thin JDBC

2024-10-11 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23090:
-
Fix Version/s: 2.17

> Support Transaction aware SQL in thin JDBC
> --
>
> Key: IGNITE-23090
> URL: https://issues.apache.org/jira/browse/IGNITE-23090
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 4h 50m
>  Remaining Estimate: 0h
>
> Support transaction aware SQL in JDBC thin driver.
>  
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Updated] (IGNITE-23398) Deprecate obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23398:
-
Description: 
SpiQuery are obsolete and can be removed, but we have make it deprecated first


  was:
SpiQuery are obsolete and can be removed



> Deprecate obsolete SpiQuery
> ---
>
> Key: IGNITE-23398
> URL: https://issues.apache.org/jira/browse/IGNITE-23398
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-80, ise
>
> SpiQuery are obsolete and can be removed, but we have make it deprecated first



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


[jira] [Created] (IGNITE-23398) Deprecate obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23398:


 Summary: Deprecate obsolete SpiQuery
 Key: IGNITE-23398
 URL: https://issues.apache.org/jira/browse/IGNITE-23398
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov


SpiQuery are obsolete and can be removed




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


[jira] [Updated] (IGNITE-23397) Remove obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23397:
-
Fix Version/s: (was: 2.16)

> Remove obsolete SpiQuery
> 
>
> Key: IGNITE-23397
> URL: https://issues.apache.org/jira/browse/IGNITE-23397
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-80, ise
>
> SpiQuery are obsolete and can be removed



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


[jira] [Updated] (IGNITE-23397) Remove obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23397:
-
Description: 
SpiQuery are obsolete and can be removed


  was:IgniteSnapshotManager implements snapshotting features. 
IgniteCacheSnapshotManager is obsolete and can be removed.


> Remove obsolete SpiQuery
> 
>
> Key: IGNITE-23397
> URL: https://issues.apache.org/jira/browse/IGNITE-23397
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-80, ise
> Fix For: 2.16
>
>
> SpiQuery are obsolete and can be removed



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


[jira] [Assigned] (IGNITE-23397) Remove obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-23397:


Assignee: (was: Nikolay Izhikov)

> Remove obsolete SpiQuery
> 
>
> Key: IGNITE-23397
> URL: https://issues.apache.org/jira/browse/IGNITE-23397
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-80, ise
> Fix For: 2.16
>
>
> SpiQuery are obsolete and can be removed



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


[jira] [Created] (IGNITE-23397) Remove obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23397:


 Summary: Remove obsolete SpiQuery
 Key: IGNITE-23397
 URL: https://issues.apache.org/jira/browse/IGNITE-23397
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov
 Fix For: 2.16


IgniteSnapshotManager implements snapshotting features. 
IgniteCacheSnapshotManager is obsolete and can be removed.



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


[jira] [Updated] (IGNITE-23397) Remove obsolete SpiQuery

2024-10-10 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23397:
-
Labels: IEP-80 ise  (was: IEP-80 iep-43 ise)

> Remove obsolete SpiQuery
> 
>
> Key: IGNITE-23397
> URL: https://issues.apache.org/jira/browse/IGNITE-23397
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-80, ise
> Fix For: 2.16
>
>
> IgniteSnapshotManager implements snapshotting features. 
> IgniteCacheSnapshotManager is obsolete and can be removed.



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


[jira] [Created] (IGNITE-23383) Documentation for transaction aware queries feature

2024-10-07 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23383:


 Summary: Documentation for transaction aware queries feature
 Key: IGNITE-23383
 URL: https://issues.apache.org/jira/browse/IGNITE-23383
 Project: Ignite
  Issue Type: Bug
Reporter: Nikolay Izhikov






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


[jira] [Resolved] (IGNITE-23156) Support Transaction aware SQL in JDBC via Ignite node

2024-09-30 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-23156.
--
Resolution: Won't Fix

JDBC driver deprecated.
Don't support calcite module.

> Support Transaction aware SQL in JDBC via Ignite node
> -
>
> Key: IGNITE-23156
> URL: https://issues.apache.org/jira/browse/IGNITE-23156
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> Support transaction aware SQL in JDBC driver.
>  
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Resolved] (IGNITE-23263) Support Transaction properties in thin JDBC

2024-09-30 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-23263.
--
Resolution: Fixed

Done in the IGNITE-23090

> Support Transaction properties in thin JDBC
> ---
>
> Key: IGNITE-23263
> URL: https://issues.apache.org/jira/browse/IGNITE-23263
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> Ignite transaction has several properties that must be available in JDBC:
> * label
> * timeout
> * concurrency
>  
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Updated] (IGNITE-23263) Support Transaction properties in thin JDBC

2024-09-24 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23263:
-
Description: 
Ignite transaction has several properties that must be available in JDBC:
* label
* timeout
* concurrency

 
https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries

  was:
Support transaction aware SQL in JDBC thin driver.

 
https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries


> Support Transaction properties in thin JDBC
> ---
>
> Key: IGNITE-23263
> URL: https://issues.apache.org/jira/browse/IGNITE-23263
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> Ignite transaction has several properties that must be available in JDBC:
> * label
> * timeout
> * concurrency
>  
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Created] (IGNITE-23263) Support Transaction properties in thin JDBC

2024-09-24 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23263:


 Summary: Support Transaction properties in thin JDBC
 Key: IGNITE-23263
 URL: https://issues.apache.org/jira/browse/IGNITE-23263
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Support transaction aware SQL in JDBC thin driver.

 
https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Updated] (IGNITE-22874) Support Transaction aware SQL in thin client

2024-09-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-22874:
-
Fix Version/s: 2.17

> Support Transaction aware SQL in thin client
> 
>
> Key: IGNITE-22874
> URL: https://issues.apache.org/jira/browse/IGNITE-22874
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> Support transaction aware SQL in thin client.
>  
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]



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


[jira] [Updated] (IGNITE-23241) Configuration to restrict tx size in tx aware mode

2024-09-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23241:
-
Description: 
To prevent OOM and possible performance issues we must create configuration 
property to restrict transaction size when TransactionAwareQueriesEnabled is 
true.

[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]

  was:
Support transaction aware SQL in thin client.

 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]


> Configuration to restrict tx size in tx aware mode
> --
>
> Key: IGNITE-23241
> URL: https://issues.apache.org/jira/browse/IGNITE-23241
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> To prevent OOM and possible performance issues we must create configuration 
> property to restrict transaction size when TransactionAwareQueriesEnabled is 
> true.
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]



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


[jira] [Created] (IGNITE-23241) Configuration to restrict tx size in tx aware mode

2024-09-20 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23241:


 Summary: Configuration to restrict tx size in tx aware mode
 Key: IGNITE-23241
 URL: https://issues.apache.org/jira/browse/IGNITE-23241
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Support transaction aware SQL in thin client.

 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]



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


[jira] [Updated] (IGNITE-22732) Transaction aware SQL queries

2024-09-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-22732:
-
Fix Version/s: 2.17

> Transaction aware SQL queries
> -
>
> Key: IGNITE-22732
> URL: https://issues.apache.org/jira/browse/IGNITE-22732
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
> Fix For: 2.17
>
>  Time Spent: 16h 40m
>  Remaining Estimate: 0h
>
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
>  - implementation of IEP-125 part to support transactions in SQL queries.



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


[jira] [Updated] (IGNITE-23202) Services: node crashes when node filter class was not found in class path

2024-09-18 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23202:
-
Fix Version/s: 2.17

> Services: node crashes when node filter class was not found in class path
> -
>
> Key: IGNITE-23202
> URL: https://issues.apache.org/jira/browse/IGNITE-23202
> Project: Ignite
>  Issue Type: Bug
>  Components: managed services
>Affects Versions: 2.16
>Reporter: Ilya Shishkov
>Assignee: Nikolay Izhikov
>Priority: Critical
>  Labels: ise
> Fix For: 2.17
>
> Attachments: IGNITE-23202.patch
>
>
> How to reproduce:
> # Start node(s) (eg. via {{ignite.sh}})
> # Start another node in order to deploy service with service node filter 
> which is not present in classpath of server nodes. As example see patch of 
> {{ServicesExample.java}}:  [^IGNITE-23202.patch] 
> # Some nodes (may be all) will fail.
> Stacktraces differ for anonymous class and lamda:
> {code:title=Lambda}
> [20:36:56,908][INFO][exchange-worker-#53][time] Started exchange init 
> [topVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], crd=true, 
> evt=NODE_FAILED, evtNode=97ae84a3-094e-47b7-92db-8f059f8a2512, 
> customEvt=null, allowMerge=true, exchangeFreeSwitch=false]
> [20:36:56,909][SEVERE][tcp-disco-msg-worker-[97ae84a3 
> 0:0:0:0:0:0:0:1%lo:47500]-#2-#45][] Critical system error detected. Will be 
> handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler 
> [tryStop=false, timeout=0, super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Failed to 
> unmarshal discovery custom message: TcpDiscoveryCustomEventMessage [msg=null, 
> super=TcpDiscoveryAbstractMessage 
> [sndNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, 
> id=2213f47e191-34c6795a-e1fe-40d6-b45d-229bbe2c358d, 
> verifierNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, topVer=4, pendingIdx=0, 
> failedNodes=null, isClient=false
> class org.apache.ignite.IgniteException: Failed to unmarshal discovery custom 
> message: TcpDiscoveryCustomEventMessage [msg=null, 
> super=TcpDiscoveryAbstractMessage 
> [sndNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, 
> id=2213f47e191-34c6795a-e1fe-40d6-b45d-229bbe2c358d, 
> verifierNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, topVer=4, pendingIdx=0, 
> failedNodes=null, isClient=false]]
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:6307)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:6097)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:3237)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2892)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7980)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:3066)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7911)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:58)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> deserialize object with given class loader: 
> jdk.internal.loader.ClassLoaders$AppClassLoader@55054057
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:132)
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:139)
>   at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:80)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10807)
>   at 
> org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage.message(TcpDiscoveryCustomEventMessage.java:103)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:6304)
>   ... 8 more
> Caused by: java.lang.ClassCastException: cannot assign instance of 
> java.lang.invoke.SerializedLambda to field 
> org.apache.ignite.services.ServiceConfiguration.nodeFilter of type 
> org.apache.ignite.lang.IgnitePredicate in instance of 
> org.apache.ignite.internal.processors.service.LazyServiceConfiguration
>   at 
> java.base/java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2076)
>   at 
> java.base/jav

[jira] [Updated] (IGNITE-23226) Services: deployment failed but service descriptor stay

2024-09-18 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23226:
-
Labels: ise  (was: )

> Services: deployment failed but service descriptor stay
> ---
>
> Key: IGNITE-23226
> URL: https://issues.apache.org/jira/browse/IGNITE-23226
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Priority: Minor
>  Labels: ise
>
> In case service failed to deploy 
> {{Ignite.services().serviceDescriptors().isEmpty() == false}}.
> {code:java}
> public class IgniteServiceDeployUnknownClassTest extends 
> GridCommonAbstractTest {
> /** */
> private static final String NOOP_SERVICE_CLS_NAME = 
> "org.apache.ignite.tests.p2p.NoopService";
> /** */
> public static final String NODE_FILTER_CLS_NAME = 
> "org.apache.ignite.tests.p2p.ExcludeNodeFilter";
> /** */
> private static ClassLoader extClsLdr;
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
> cfg.setPeerClassLoadingEnabled(false);
> cfg.setFailureHandler(new StopNodeFailureHandler());
> return cfg;
> }
> /** {@inheritDoc} */
> @Override protected void beforeTest() throws Exception {
> super.beforeTest();
> extClsLdr = getExternalClassLoader();
> }
> /** {@inheritDoc} */
> @Override protected void afterTest() throws Exception {
> stopAllGrids();
> super.afterTest();
> extClsLdr = null;
> }
> /** @throws Exception If failed. */
> @Test
> public void testFailWhenClassNotFound() throws Exception {
> IgniteEx srv = startGrid(getConfiguration("server"));
> IgniteEx cli = startClientGrid(1);
> ServiceConfiguration svcCfg = new ServiceConfiguration()
> .setName("TestDeploymentService")
> 
> .setService(((Class)extClsLdr.loadClass(NOOP_SERVICE_CLS_NAME)).getDeclaredConstructor().newInstance())
> 
> .setNodeFilter(((Class>)extClsLdr.loadClass(NODE_FILTER_CLS_NAME))
> .getConstructor(UUID.class)
> .newInstance(cli.configuration().getNodeId()))
> .setTotalCount(1);
> assertThrowsWithCause(() -> cli.services().deploy(svcCfg), 
> ServiceDeploymentException.class);
> assertTrue(cli.services().serviceDescriptors().isEmpty());
> }
> }
> {code}



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


[jira] [Created] (IGNITE-23226) Services: deployment failed but service descriptor stay

2024-09-18 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23226:


 Summary: Services: deployment failed but service descriptor stay
 Key: IGNITE-23226
 URL: https://issues.apache.org/jira/browse/IGNITE-23226
 Project: Ignite
  Issue Type: Bug
Reporter: Nikolay Izhikov


In case service failed to deploy 
{{Ignite.services().serviceDescriptors().isEmpty() == false}}.

{code:java}
public class IgniteServiceDeployUnknownClassTest extends GridCommonAbstractTest 
{
/** */
private static final String NOOP_SERVICE_CLS_NAME = 
"org.apache.ignite.tests.p2p.NoopService";

/** */
public static final String NODE_FILTER_CLS_NAME = 
"org.apache.ignite.tests.p2p.ExcludeNodeFilter";

/** */
private static ClassLoader extClsLdr;

/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);

cfg.setPeerClassLoadingEnabled(false);
cfg.setFailureHandler(new StopNodeFailureHandler());

return cfg;
}

/** {@inheritDoc} */
@Override protected void beforeTest() throws Exception {
super.beforeTest();

extClsLdr = getExternalClassLoader();
}

/** {@inheritDoc} */
@Override protected void afterTest() throws Exception {
stopAllGrids();

super.afterTest();

extClsLdr = null;
}

/** @throws Exception If failed. */
@Test
public void testFailWhenClassNotFound() throws Exception {
IgniteEx srv = startGrid(getConfiguration("server"));
IgniteEx cli = startClientGrid(1);

ServiceConfiguration svcCfg = new ServiceConfiguration()
.setName("TestDeploymentService")

.setService(((Class)extClsLdr.loadClass(NOOP_SERVICE_CLS_NAME)).getDeclaredConstructor().newInstance())

.setNodeFilter(((Class>)extClsLdr.loadClass(NODE_FILTER_CLS_NAME))
.getConstructor(UUID.class)
.newInstance(cli.configuration().getNodeId()))
.setTotalCount(1);

assertThrowsWithCause(() -> cli.services().deploy(svcCfg), 
ServiceDeploymentException.class);

assertTrue(cli.services().serviceDescriptors().isEmpty());
}
}

{code}



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


[jira] [Updated] (IGNITE-23211) get operation fails in optimistic transaction

2024-09-17 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23211:
-
Fix Version/s: 2.17

> get operation fails in optimistic transaction
> -
>
> Key: IGNITE-23211
> URL: https://issues.apache.org/jira/browse/IGNITE-23211
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Blocker
>  Labels: ise
> Fix For: 2.17
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> {code:java}
> /** */
> public class TransactionTest extends GridCommonAbstractTest {
> /** */
> @Test
> public void testDelete() throws Exception {
> IgniteCache c = startGrid(0).createCache(new 
> CacheConfiguration<>()
> .setName(DEFAULT_CACHE_NAME)
> .setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL)
> );
> c.put(1, 1);
> try (Transaction tx = grid(0).transactions().txStart(OPTIMISTIC, 
> READ_COMMITTED)) {
> c.invoke(1, new EntryProcessor<>() {
> @Override public Object process(MutableEntry 
> entry, Object... arguments) throws EntryProcessorException {
> entry.remove();
> return null;
> }
> });
> assertNull(c.get(1));
> }
> }
> }
> {code}



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


[jira] [Assigned] (IGNITE-23202) Services: node crashes when node filter class was not found in class path

2024-09-17 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-23202:


Assignee: Nikolay Izhikov

> Services: node crashes when node filter class was not found in class path
> -
>
> Key: IGNITE-23202
> URL: https://issues.apache.org/jira/browse/IGNITE-23202
> Project: Ignite
>  Issue Type: Bug
>  Components: managed services
>Affects Versions: 2.16
>Reporter: Ilya Shishkov
>Assignee: Nikolay Izhikov
>Priority: Critical
>  Labels: ise
> Attachments: IGNITE-23202.patch
>
>
> How to reproduce:
> # Start node(s) (eg. via {{ignite.sh}})
> # Start another node in order to deploy service with service node filter 
> which is not present in classpath of server nodes. As example see patch of 
> {{ServicesExample.java}}:  [^IGNITE-23202.patch] 
> # Some nodes (may be all) will fail.
> Stacktraces differ for anonymous class and lamda:
> {code:title=Lambda}
> [20:36:56,908][INFO][exchange-worker-#53][time] Started exchange init 
> [topVer=AffinityTopologyVersion [topVer=4, minorTopVer=0], crd=true, 
> evt=NODE_FAILED, evtNode=97ae84a3-094e-47b7-92db-8f059f8a2512, 
> customEvt=null, allowMerge=true, exchangeFreeSwitch=false]
> [20:36:56,909][SEVERE][tcp-disco-msg-worker-[97ae84a3 
> 0:0:0:0:0:0:0:1%lo:47500]-#2-#45][] Critical system error detected. Will be 
> handled accordingly to configured handler [hnd=StopNodeOrHaltFailureHandler 
> [tryStop=false, timeout=0, super=AbstractFailureHandler 
> [ignoredFailureTypes=UnmodifiableSet [SYSTEM_WORKER_BLOCKED, 
> SYSTEM_CRITICAL_OPERATION_TIMEOUT]]], failureCtx=FailureContext 
> [type=SYSTEM_WORKER_TERMINATION, err=class o.a.i.IgniteException: Failed to 
> unmarshal discovery custom message: TcpDiscoveryCustomEventMessage [msg=null, 
> super=TcpDiscoveryAbstractMessage 
> [sndNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, 
> id=2213f47e191-34c6795a-e1fe-40d6-b45d-229bbe2c358d, 
> verifierNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, topVer=4, pendingIdx=0, 
> failedNodes=null, isClient=false
> class org.apache.ignite.IgniteException: Failed to unmarshal discovery custom 
> message: TcpDiscoveryCustomEventMessage [msg=null, 
> super=TcpDiscoveryAbstractMessage 
> [sndNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, 
> id=2213f47e191-34c6795a-e1fe-40d6-b45d-229bbe2c358d, 
> verifierNodeId=a952f13f-349e-4a69-bff8-cbcaeca9b1eb, topVer=4, pendingIdx=0, 
> failedNodes=null, isClient=false]]
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:6307)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processCustomMessage(ServerImpl.java:6097)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:3237)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.processMessage(ServerImpl.java:2892)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorker.body(ServerImpl.java:7980)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.body(ServerImpl.java:3066)
>   at 
> org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:125)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$MessageWorkerThread.body(ServerImpl.java:7911)
>   at org.apache.ignite.spi.IgniteSpiThread.run(IgniteSpiThread.java:58)
> Caused by: class org.apache.ignite.IgniteCheckedException: Failed to 
> deserialize object with given class loader: 
> jdk.internal.loader.ClassLoaders$AppClassLoader@55054057
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:132)
>   at 
> org.apache.ignite.marshaller.jdk.JdkMarshaller.unmarshal0(JdkMarshaller.java:139)
>   at 
> org.apache.ignite.marshaller.AbstractNodeNameAwareMarshaller.unmarshal(AbstractNodeNameAwareMarshaller.java:80)
>   at 
> org.apache.ignite.internal.util.IgniteUtils.unmarshal(IgniteUtils.java:10807)
>   at 
> org.apache.ignite.spi.discovery.tcp.messages.TcpDiscoveryCustomEventMessage.message(TcpDiscoveryCustomEventMessage.java:103)
>   at 
> org.apache.ignite.spi.discovery.tcp.ServerImpl$RingMessageWorker.notifyDiscoveryListener(ServerImpl.java:6304)
>   ... 8 more
> Caused by: java.lang.ClassCastException: cannot assign instance of 
> java.lang.invoke.SerializedLambda to field 
> org.apache.ignite.services.ServiceConfiguration.nodeFilter of type 
> org.apache.ignite.lang.IgnitePredicate in instance of 
> org.apache.ignite.internal.processors.service.LazyServiceConfiguration
>   at 
> java.base/java.io.ObjectStreamClass$FieldReflector.setObjFieldValues(ObjectStreamClass.java:2076)
>   at 
> java.base/java.io.ObjectStream

[jira] [Resolved] (IGNITE-21927) Removal of MVCC-related code from JDBC classes

2024-09-17 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-21927.
--
Resolution: Fixed

Merged to master.

[~mmdavydov] thanks for the contribution!

> Removal of MVCC-related code from JDBC classes
> --
>
> Key: IGNITE-21927
> URL: https://issues.apache.org/jira/browse/IGNITE-21927
> Project: Ignite
>  Issue Type: Sub-task
>  Components: mvcc
>Reporter: Ilya Shishkov
>Assignee: Maksim Davydov
>Priority: Minor
>  Labels: ise
>  Time Spent: 2.5h
>  Remaining Estimate: 0h
>
> Classes to remove
> # NestedTxMode
> # Remove txAllowed flag in JdbcConnection
> JDBC code must be complaint with a scpecification (see IGNITE-5339). Changes 
> must provide full compatibility with older versions of servers and clients.



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


[jira] [Created] (IGNITE-23211) get operation fails in optimistic transaction

2024-09-16 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23211:


 Summary: get operation fails in optimistic transaction
 Key: IGNITE-23211
 URL: https://issues.apache.org/jira/browse/IGNITE-23211
 Project: Ignite
  Issue Type: Bug
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


{code:java}
/** */
public class TransactionTest extends GridCommonAbstractTest {
/** */
@Test
public void testDelete() throws Exception {
IgniteCache c = startGrid(0).createCache(new 
CacheConfiguration<>()
.setName(DEFAULT_CACHE_NAME)
.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL)
);

c.put(1, 1);

try (Transaction tx = grid(0).transactions().txStart(OPTIMISTIC, 
READ_COMMITTED)) {
c.invoke(1, new EntryProcessor<>() {
@Override public Object process(MutableEntry 
entry, Object... arguments) throws EntryProcessorException {
entry.remove();
return null;
}
});

assertNull(c.get(1));
}
}
}

{code}



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


[jira] [Created] (IGNITE-23156) Support Transaction aware SQL in JDBC via Ignite node

2024-09-05 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23156:


 Summary: Support Transaction aware SQL in JDBC via Ignite node
 Key: IGNITE-23156
 URL: https://issues.apache.org/jira/browse/IGNITE-23156
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Support transaction aware SQL in JDBC thin driver.

 
https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Updated] (IGNITE-23090) Support Transaction aware SQL in thin JDBC

2024-09-05 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23090:
-
Summary: Support Transaction aware SQL in thin JDBC  (was: Support 
Transaction aware SQL in JDBC)

> Support Transaction aware SQL in thin JDBC
> --
>
> Key: IGNITE-23090
> URL: https://issues.apache.org/jira/browse/IGNITE-23090
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> Support transaction aware SQL in JDBC thin driver.
>  
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Updated] (IGNITE-23122) Transaction aware cache iterator

2024-09-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23122:
-
Description: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transaction aware cache iterator.  
(was: 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.)

> Transaction aware cache iterator
> 
>
> Key: IGNITE-23122
> URL: https://issues.apache.org/jira/browse/IGNITE-23122
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
>  - implementation of IEP-125 part to support transaction aware cache iterator.



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


[jira] [Created] (IGNITE-23122) Transaction aware cache iterator

2024-09-02 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23122:


 Summary: Transaction aware cache iterator
 Key: IGNITE-23122
 URL: https://issues.apache.org/jira/browse/IGNITE-23122
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.



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


[jira] [Assigned] (IGNITE-23121) CLONE - Disallow IgniteCache#iterator inside transaction

2024-09-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-23121:


Assignee: (was: Julia Bakulina)

> CLONE - Disallow IgniteCache#iterator inside transaction
> 
>
> Key: IGNITE-23121
> URL: https://issues.apache.org/jira/browse/IGNITE-23121
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: ise
> Fix For: 2.17
>
>
> `IgniteCache#iterator` invocation are not transactional.
> But, currently, Ignite allow to invoke `iterator` inside transaction.
> This lead to unexpected behavior and hides business logic errors.
> We must disallow IgniteCache#iterator call inside transaction.
> {code:java}
> @Test
> public void testTx() {
> IgniteCache c =
> client.createCache(new CacheConfiguration Integer>().setName("xxx").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
> c.put(1, 1);
> c.put(2, 1);
> c.put(3, 1);
> Set keys = new HashSet<>();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertEquals(3, keys.size());
> try (Transaction tx = 
> client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
> TransactionIsolation.READ_COMMITTED)) {
> c.remove(2);
> keys.clear();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertFalse(keys.contains(2));
> assertEquals(2, keys.size());
> }
> }
> {code}



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


[jira] [Updated] (IGNITE-23121) CLONE - Disallow IgniteCache#iterator inside transaction

2024-09-02 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23121:
-
Description: 
`IgniteCache#iterator` invocation are not transactional.
But, currently, Ignite allow to invoke `iterator` inside transaction.
This lead to unexpected behavior and hides business logic errors.

We must disallow IgniteCache#iterator call inside transaction.
{code:java}
@Test
public void testTx() {
IgniteCache c =
client.createCache(new CacheConfiguration().setName("xxx").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));

c.put(1, 1);
c.put(2, 1);
c.put(3, 1);

Set keys = new HashSet<>();
for (Cache.Entry e : c)
assertTrue(keys.add(e.getKey()));
assertEquals(3, keys.size());

try (Transaction tx = 
client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
TransactionIsolation.READ_COMMITTED)) {
c.remove(2);

keys.clear();

for (Cache.Entry e : c)
assertTrue(keys.add(e.getKey()));

assertFalse(keys.contains(2));
assertEquals(2, keys.size());
}
}
{code}

  was:
`IgniteCache#clear` invocation are not transactional.
But, currently, Ignite allow to invoke `clear` inside transaction.
This lead to unexpected behavior and hides business logic errors.

We must disallow IgniteCache#clear call inside transaction.
{code:java}
/** */
@Test
public void testClearInTransction() {
IgniteCache cache = client.createCache(new 
CacheConfiguration<>("my-cache").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
cache.put(1, 1);
try (Transaction tx = 
client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
TransactionIsolation.READ_COMMITTED)) {
cache.put(2, 2);
cache.clear();
tx.commit();
}
assertFalse(cache.containsKey(1));
assertTrue(cache.containsKey(2));
}
{code}


> CLONE - Disallow IgniteCache#iterator inside transaction
> 
>
> Key: IGNITE-23121
> URL: https://issues.apache.org/jira/browse/IGNITE-23121
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Julia Bakulina
>Priority: Major
>  Labels: ise
> Fix For: 2.17
>
>
> `IgniteCache#iterator` invocation are not transactional.
> But, currently, Ignite allow to invoke `iterator` inside transaction.
> This lead to unexpected behavior and hides business logic errors.
> We must disallow IgniteCache#iterator call inside transaction.
> {code:java}
> @Test
> public void testTx() {
> IgniteCache c =
> client.createCache(new CacheConfiguration Integer>().setName("xxx").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
> c.put(1, 1);
> c.put(2, 1);
> c.put(3, 1);
> Set keys = new HashSet<>();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertEquals(3, keys.size());
> try (Transaction tx = 
> client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
> TransactionIsolation.READ_COMMITTED)) {
> c.remove(2);
> keys.clear();
> for (Cache.Entry e : c)
> assertTrue(keys.add(e.getKey()));
> assertFalse(keys.contains(2));
> assertEquals(2, keys.size());
> }
> }
> {code}



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


[jira] [Created] (IGNITE-23121) CLONE - Disallow IgniteCache#iterator inside transaction

2024-09-02 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23121:


 Summary: CLONE - Disallow IgniteCache#iterator inside transaction
 Key: IGNITE-23121
 URL: https://issues.apache.org/jira/browse/IGNITE-23121
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov
Assignee: Julia Bakulina
 Fix For: 2.17


`IgniteCache#clear` invocation are not transactional.
But, currently, Ignite allow to invoke `clear` inside transaction.
This lead to unexpected behavior and hides business logic errors.

We must disallow IgniteCache#clear call inside transaction.
{code:java}
/** */
@Test
public void testClearInTransction() {
IgniteCache cache = client.createCache(new 
CacheConfiguration<>("my-cache").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
cache.put(1, 1);
try (Transaction tx = 
client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
TransactionIsolation.READ_COMMITTED)) {
cache.put(2, 2);
cache.clear();
tx.commit();
}
assertFalse(cache.containsKey(1));
assertTrue(cache.containsKey(2));
}
{code}



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


[jira] [Updated] (IGNITE-23110) Disallow IgniteCache#clear inside transaction

2024-08-29 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23110:
-
Labels: ise  (was: )

> Disallow IgniteCache#clear inside transaction
> -
>
> Key: IGNITE-23110
> URL: https://issues.apache.org/jira/browse/IGNITE-23110
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: ise
>
> `IgniteCache#clear` invocation are not transactional.
> But, currently, Ignite allow to invoke `clear` inside transcaction.
> This lead to unexpected behavior and hides business logic errors.
> We must disallow IgniteCache#clear call inside transaction.
> {code:java}
> /** */
> @Test
> public void testClearInTransction() {
> IgniteCache cache = client.createCache(new 
> CacheConfiguration<>("my-cache").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
> cache.put(1, 1);
> try (Transaction tx = 
> client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
> TransactionIsolation.READ_COMMITTED)) {
> cache.put(2, 2);
> cache.clear();
> tx.commit();
> }
> assertFalse(cache.containsKey(1));
> assertTrue(cache.containsKey(2));
> }
> {code}



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


[jira] [Created] (IGNITE-23110) Disallow IgniteCache#clear inside transaction

2024-08-29 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23110:


 Summary: Disallow IgniteCache#clear inside transaction
 Key: IGNITE-23110
 URL: https://issues.apache.org/jira/browse/IGNITE-23110
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov


`IgniteCache#clear` invocation are not transactional.
But, currently, Ignite allow to invoke `clear` inside transcaction.
This lead to unexpected behavior and hides business logic errors.

We must disallow IgniteCache#clear call inside transaction.

{code:java}
/** */
@Test
public void testClearInTransction() {
IgniteCache cache = client.createCache(new 
CacheConfiguration<>("my-cache").setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL));
cache.put(1, 1);
try (Transaction tx = 
client.transactions().txStart(TransactionConcurrency.PESSIMISTIC, 
TransactionIsolation.READ_COMMITTED)) {
cache.put(2, 2);
cache.clear();
tx.commit();
}
assertFalse(cache.containsKey(1));
assertTrue(cache.containsKey(2));
}
{code}



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


[jira] [Updated] (IGNITE-23090) Support Transaction aware SQL in JDBC

2024-08-28 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-23090:
-
Description: 
Support transaction aware SQL in JDBC drivers.

 
https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries

> Support Transaction aware SQL in JDBC
> -
>
> Key: IGNITE-23090
> URL: https://issues.apache.org/jira/browse/IGNITE-23090
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-125, ise
>
> Support transaction aware SQL in JDBC drivers.
>  
> https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries



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


[jira] [Created] (IGNITE-23090) Support Transaction aware SQL in JDBC

2024-08-28 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-23090:


 Summary: Support Transaction aware SQL in JDBC
 Key: IGNITE-23090
 URL: https://issues.apache.org/jira/browse/IGNITE-23090
 Project: Ignite
  Issue Type: Improvement
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov






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


[jira] [Updated] (IGNITE-22993) Count from REPLICATED caches with partition filter

2024-08-15 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-22993:
-
Labels: calcite ise  (was: )

> Count from REPLICATED caches with partition filter
> --
>
> Key: IGNITE-22993
> URL: https://issues.apache.org/jira/browse/IGNITE-22993
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Priority: Major
>  Labels: calcite, ise
>
> Case when SQL query `SELECT COUNT(*) FROM T` with partitions invoked for 
> REPLICATED cache data don't work properly.
> {code:java}
> /** */
> public class QueryWithPartitionsIntegration2Test extends 
> GridCommonAbstractTest {
> /** {@inheritDoc} */
> @Override protected IgniteConfiguration getConfiguration(String 
> igniteInstanceName) throws Exception {
> IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);
> cfg.getSqlConfiguration().setQueryEnginesConfiguration(new 
> CalciteQueryEngineConfiguration());
> return cfg;
> }
> /** */
> @Test
> public void testSelectCount() throws Exception {
> startGrid(0).createCache(DEFAULT_CACHE_NAME);
> sql("CREATE TABLE T(ID INT PRIMARY KEY, IDX_VAL VARCHAR, VAL VARCHAR) 
> WITH template=replicated");
> StringBuilder sb = new StringBuilder("INSERT INTO T(ID, IDX_VAL, VAL) 
> VALUES ");
> int cnt = 10_000;
> for (int i = 0; i < cnt; ++i) {
> if (i != 0)
> sb.append(",");
> sb.append("(").append(i).append(", ")
> .append("'name_").append(i).append("', ")
> .append("'name_").append(i).append("')");
> }
> sql(sb.toString());
> assertEquals((long)cnt, sql("SELECT COUNT(*) FROM T").get(0).get(0));
> assertNotEquals((long)cnt, sql("SELECT COUNT(*) FROM T", 
> 42).get(0).get(0));
> }
> /** */
> public List> sql(String sqlText, int... parts) {
> SqlFieldsQuery qry = new SqlFieldsQuery(sqlText).setTimeout(5, 
> TimeUnit.SECONDS);
> if (!F.isEmpty(parts))
> qry.setPartitions(parts);
> return 
> grid(0).cache(F.first(grid(0).cacheNames())).query(qry).getAll();
> }
> }
> {code}



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


[jira] [Created] (IGNITE-22993) Count from REPLICATED caches with partition filter

2024-08-15 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22993:


 Summary: Count from REPLICATED caches with partition filter
 Key: IGNITE-22993
 URL: https://issues.apache.org/jira/browse/IGNITE-22993
 Project: Ignite
  Issue Type: Bug
Reporter: Nikolay Izhikov


Case when SQL query `SELECT COUNT(*) FROM T` with partitions invoked for 
REPLICATED cache data don't work properly.

{code:java}
/** */
public class QueryWithPartitionsIntegration2Test extends GridCommonAbstractTest 
{
/** {@inheritDoc} */
@Override protected IgniteConfiguration getConfiguration(String 
igniteInstanceName) throws Exception {
IgniteConfiguration cfg = super.getConfiguration(igniteInstanceName);

cfg.getSqlConfiguration().setQueryEnginesConfiguration(new 
CalciteQueryEngineConfiguration());

return cfg;
}

/** */
@Test
public void testSelectCount() throws Exception {
startGrid(0).createCache(DEFAULT_CACHE_NAME);

sql("CREATE TABLE T(ID INT PRIMARY KEY, IDX_VAL VARCHAR, VAL VARCHAR) 
WITH template=replicated");

StringBuilder sb = new StringBuilder("INSERT INTO T(ID, IDX_VAL, VAL) 
VALUES ");

int cnt = 10_000;
for (int i = 0; i < cnt; ++i) {
if (i != 0)
sb.append(",");

sb.append("(").append(i).append(", ")
.append("'name_").append(i).append("', ")
.append("'name_").append(i).append("')");
}

sql(sb.toString());

assertEquals((long)cnt, sql("SELECT COUNT(*) FROM T").get(0).get(0));
assertNotEquals((long)cnt, sql("SELECT COUNT(*) FROM T", 
42).get(0).get(0));
}

/** */
public List> sql(String sqlText, int... parts) {
SqlFieldsQuery qry = new SqlFieldsQuery(sqlText).setTimeout(5, 
TimeUnit.SECONDS);

if (!F.isEmpty(parts))
qry.setPartitions(parts);

return grid(0).cache(F.first(grid(0).cacheNames())).query(qry).getAll();
}
}
{code}



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


[jira] [Created] (IGNITE-22874) Support Transaction aware SQL in thin client

2024-08-01 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22874:


 Summary: Support Transaction aware SQL in thin client
 Key: IGNITE-22874
 URL: https://issues.apache.org/jira/browse/IGNITE-22874
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Support transaction aware SQL in thin client.

 
[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]



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


[jira] [Created] (IGNITE-22767) Remove MessageService, MarshallingContext

2024-07-17 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22767:


 Summary: Remove MessageService, MarshallingContext
 Key: IGNITE-22767
 URL: https://issues.apache.org/jira/browse/IGNITE-22767
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Currently, Calcite integration use module specific interfaces to prepare and 
finish marshalling.

While other Ignite code use `CacheObjectValueContext` or `GridCacheContext`.

To be able to implement serialization of IgniteTxKey, IgniteTxValue we must 
replace custom interfaces with the commonly used.



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


[jira] [Created] (IGNITE-22733) Transaction aware Scan queries

2024-07-15 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22733:


 Summary: Transaction aware Scan queries
 Key: IGNITE-22733
 URL: https://issues.apache.org/jira/browse/IGNITE-22733
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in Scan queries.



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


[jira] [Created] (IGNITE-22732) Transaction aware SQL queries

2024-07-15 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22732:


 Summary: Transaction aware SQL queries
 Key: IGNITE-22732
 URL: https://issues.apache.org/jira/browse/IGNITE-22732
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


[https://cwiki.apache.org/confluence/display/IGNITE/IEP-125+Transactions+aware+queries]
 - implementation of IEP-125 part to support transactions in SQL queries.



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


[jira] [Created] (IGNITE-22607) IEP-119 Binary infrastructure modularization

2024-06-28 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22607:


 Summary: IEP-119 Binary infrastructure modularization
 Key: IGNITE-22607
 URL: https://issues.apache.org/jira/browse/IGNITE-22607
 Project: Ignite
  Issue Type: Task
  Components: binary
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


https://cwiki.apache.org/confluence/display/IGNITE/IEP-119+Binary+infrastructure+modularization



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


[jira] [Updated] (IGNITE-22538) Customizable CacheScanTask output

2024-06-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-22538:
-
Fix Version/s: 2.17

> Customizable CacheScanTask output
> -
>
> Key: IGNITE-22538
> URL: https://issues.apache.org/jira/browse/IGNITE-22538
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-94, ise
> Fix For: 2.17
>
>
> Currently, cache data can be viewed only in "default" format.
> It will be convenient for user to be able to customize the output: json, xml, 
> csv.
> Ignite must provide a way to plugin data formatters.



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


[jira] [Assigned] (IGNITE-22549) CacheScanTask json output format

2024-06-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov reassigned IGNITE-22549:


Assignee: Nikolay Izhikov

> CacheScanTask json output format
> 
>
> Key: IGNITE-22549
> URL: https://issues.apache.org/jira/browse/IGNITE-22549
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-94, ise
>
> Binary format is very similar to json.
> It will be convenient for user to have ability to view cache data in JSON 
> format.



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


[jira] [Created] (IGNITE-22549) CacheScanTask json output format

2024-06-20 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22549:


 Summary: CacheScanTask json output format
 Key: IGNITE-22549
 URL: https://issues.apache.org/jira/browse/IGNITE-22549
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov


Binary format is very similar to json.

It will be convenient for user to have ability to view cache data in JSON 
format.



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


[jira] [Created] (IGNITE-22538) Customizable CacheScanTask output

2024-06-19 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-22538:


 Summary: Customizable CacheScanTask output
 Key: IGNITE-22538
 URL: https://issues.apache.org/jira/browse/IGNITE-22538
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Currently, cache data can be viewed only in "default" format.

It will be convenient for user to be able to customize the output: json, xml, 
csv.

Ignite must provide a way to plugin data formatters.



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


[jira] [Commented] (IGNITE-21280) Add DATA_PAGE_FRAGMENTED_UPDATE_RECORD WAL record type placeholder

2024-01-26 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-21280:
--

Hello [~slava.koptilin], [~ktkale...@gridgain.com]

Can you, please, clarify the intention of reservation?
Do we have some related ticket to use new WAL record type?

> Add DATA_PAGE_FRAGMENTED_UPDATE_RECORD WAL record type placeholder
> --
>
> Key: IGNITE-21280
> URL: https://issues.apache.org/jira/browse/IGNITE-21280
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vyacheslav Koptilin
>Assignee: Vyacheslav Koptilin
>Priority: Major
> Fix For: 2.17
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Reserve new WAL type for encrypted DATA_PAGE_FRAGMENTED_UPDATE_RECORD record.



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


[jira] [Updated] (IGNITE-21125) Prevent duplicate keys in dump

2023-12-19 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-21125:
-
Fix Version/s: 2.17

> Prevent duplicate keys in dump
> --
>
> Key: IGNITE-21125
> URL: https://issues.apache.org/jira/browse/IGNITE-21125
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise, pull-request-available
> Fix For: 2.17
>
>
> Currently, cache dump can contain the same key several times.
> In the read time we must maintain Set of read keys to filter out duplicates.
> So dump read leads to high GC pressure.
> We can overcome this issue and filter out duplicates in the write time:
> * Iterator don't write keys that was written by {{beforeChange}} listener, 
> already.
> * Partition Iterator returns key in ascending order. Order set by 
> {{CacheDataTree#compare}} method.
> * {{beforeChange}} listener must not write keys that was already written by 
> the iterator.
> Cheap algorithm is the following:
> * Store last key written by iterator.
> * If changed key (in {{beforeChange}}) less then last key written by iterator 
> then it must be skiped. Because, it already saved by the iterator.



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


[jira] [Updated] (IGNITE-21125) Prevent duplicate keys in dump

2023-12-19 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-21125:
-
Description: 
Currently, cache dump can contain the same key several times.
In the read time we must maintain Set of read keys to filter out duplicates.
So dump read leads to high GC pressure.

We can overcome this issue and filter out duplicates in the write time:

* Iterator don't write keys that was written by {{beforeChange}} listener, 
already.

* Partition Iterator returns key in ascending order. Order set by 
{{CacheDataTree#compare}} method.
* {{beforeChange}} listener must not write keys that was already written by the 
iterator.

Cheap algorithm is the following:

* Store last key written by iterator.
* If changed key (in {{beforeChange}}) less then last key written by iterator 
then it must be skiped. Because, it already saved by the iterator.

  was:
Currently, cache dump can contain the same key several times.
In the read time we must maintain Set of read keys to filter out duplicates.
So dump read leads to high GC pressure.

We can overcome this issue and filter out duplicates in the write time:

* Iterator don't write keys that was written by {{beforeChange}} listener, 
already.

* Partition Iterator returns key in ascending order. Order set by 
{{CacheDataTree#compare}} method.
* {{beforeChange}} listener must not write keys that was already written by the 
iterator.

Cheap algorithm is the following:


> Prevent duplicate keys in dump
> --
>
> Key: IGNITE-21125
> URL: https://issues.apache.org/jira/browse/IGNITE-21125
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise, pull-request-available
>
> Currently, cache dump can contain the same key several times.
> In the read time we must maintain Set of read keys to filter out duplicates.
> So dump read leads to high GC pressure.
> We can overcome this issue and filter out duplicates in the write time:
> * Iterator don't write keys that was written by {{beforeChange}} listener, 
> already.
> * Partition Iterator returns key in ascending order. Order set by 
> {{CacheDataTree#compare}} method.
> * {{beforeChange}} listener must not write keys that was already written by 
> the iterator.
> Cheap algorithm is the following:
> * Store last key written by iterator.
> * If changed key (in {{beforeChange}}) less then last key written by iterator 
> then it must be skiped. Because, it already saved by the iterator.



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


[jira] [Created] (IGNITE-21125) Prevent duplicate keys in dump

2023-12-19 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-21125:


 Summary: Prevent duplicate keys in dump
 Key: IGNITE-21125
 URL: https://issues.apache.org/jira/browse/IGNITE-21125
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Currently, cache dump can contain the same key several times.
In the read time we must maintain Set of read keys to filter out duplicates.
So dump read leads to high GC pressure.

We can overcome this issue and filter out duplicates in the write time:

* Iterator don't write keys that was written by {{beforeChange}} listener, 
already.

* Partition Iterator returns key in ascending order. Order set by 
{{CacheDataTree#compare}} method.
* {{beforeChange}} listener must not write keys that was already written by the 
iterator.

Cheap algorithm is the following:



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


[jira] [Resolved] (IGNITE-21056) Use thread local buffer for encrypted dump

2023-12-12 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-21056.
--
Resolution: Fixed

> Use thread local buffer for encrypted dump
> --
>
> Key: IGNITE-21056
> URL: https://issues.apache.org/jira/browse/IGNITE-21056
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> When encrypted dump taken, expanded byte buffer doesn't replace thread local 
> one. 



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


[jira] [Updated] (IGNITE-21056) Use thread local buffer for encrypted dump

2023-12-12 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-21056:
-
Fix Version/s: 2.16

> Use thread local buffer for encrypted dump
> --
>
> Key: IGNITE-21056
> URL: https://issues.apache.org/jira/browse/IGNITE-21056
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When encrypted dump taken, expanded byte buffer doesn't replace thread local 
> one. 



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


[jira] [Updated] (IGNITE-20614) Use snapshot rate limiter for dumps

2023-12-08 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20614:
-
Fix Version/s: 2.16

> Use snapshot rate limiter for dumps
> ---
>
> Key: IGNITE-20614
> URL: https://issues.apache.org/jira/browse/IGNITE-20614
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Snapshots supports {{snapshotTransferRate}} distributed property to limit 
> amount of bytes written by snapshot creation process to the disk.
> Dump must use same property to limit disc usage while creating dumps.



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


[jira] [Commented] (IGNITE-20614) Use snapshot rate limiter for dumps

2023-12-08 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-20614:
--

Cherry-picked to 2.16

> Use snapshot rate limiter for dumps
> ---
>
> Key: IGNITE-20614
> URL: https://issues.apache.org/jira/browse/IGNITE-20614
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Assignee: Maksim Timonin
>Priority: Major
>  Labels: IEP-109, ise
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> Snapshots supports {{snapshotTransferRate}} distributed property to limit 
> amount of bytes written by snapshot creation process to the disk.
> Dump must use same property to limit disc usage while creating dumps.



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


[jira] [Commented] (IGNITE-21013) Support EncryptionSpi for Cache dump

2023-12-08 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-21013:
--

Merged to master
Cherry-picked to 2.16

> Support EncryptionSpi for Cache dump
> 
>
> Key: IGNITE-21013
> URL: https://issues.apache.org/jira/browse/IGNITE-21013
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> Ignite has {{EncryptionSpi}} that provides feature to encrypt data on disk.
> Cache dumps must use this SPI to protect data in dump.



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


[jira] [Updated] (IGNITE-21013) Support EncryptionSpi for Cache dump

2023-12-04 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-21013:
-
Description: 
Ignite has {{EncryptionSpi}} that provides feature to encrypt data on disk.
Cache dumps must use this SPI to protect data in dump.

  was:
{{DumpEntry}} must contains entry version.

* Entry version is the same for every copy of the enty.
* Entry version can be used to recover CDC state after CDC based replication 
implemented in cdc-ext fails for some reason.

Use-case:

* cdc replication fails.
* backup cluster cleared.
* starts cdc -> changes replicated to the backup cluster.
* create dump on the primary cluster.
* restore dump on the backup cluster with the {{putConflict}} calls.

Goal of this ticket is to add version to the {{DumpEntry}}


> Support EncryptionSpi for Cache dump
> 
>
> Key: IGNITE-21013
> URL: https://issues.apache.org/jira/browse/IGNITE-21013
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>
> Ignite has {{EncryptionSpi}} that provides feature to encrypt data on disk.
> Cache dumps must use this SPI to protect data in dump.



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


[jira] [Created] (IGNITE-21013) Support EncryptionSpi for Cache dump

2023-12-04 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-21013:


 Summary: Support EncryptionSpi for Cache dump
 Key: IGNITE-21013
 URL: https://issues.apache.org/jira/browse/IGNITE-21013
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov
 Fix For: 2.16


{{DumpEntry}} must contains entry version.

* Entry version is the same for every copy of the enty.
* Entry version can be used to recover CDC state after CDC based replication 
implemented in cdc-ext fails for some reason.

Use-case:

* cdc replication fails.
* backup cluster cleared.
* starts cdc -> changes replicated to the backup cluster.
* create dump on the primary cluster.
* restore dump on the backup cluster with the {{putConflict}} calls.

Goal of this ticket is to add version to the {{DumpEntry}}



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


[jira] [Commented] (IGNITE-20917) Add entry version in the DumpEntry

2023-11-27 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-20917:
--

cherry-picked to 2.16

> Add entry version in the DumpEntry
> --
>
> Key: IGNITE-20917
> URL: https://issues.apache.org/jira/browse/IGNITE-20917
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> {{DumpEntry}} must contains entry version.
> * Entry version is the same for every copy of the enty.
> * Entry version can be used to recover CDC state after CDC based replication 
> implemented in cdc-ext fails for some reason.
> Use-case:
> * cdc replication fails.
> * backup cluster cleared.
> * starts cdc -> changes replicated to the backup cluster.
> * create dump on the primary cluster.
> * restore dump on the backup cluster with the {{putConflict}} calls.
> Goal of this ticket is to add version to the {{DumpEntry}}



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


[jira] [Commented] (IGNITE-20836) Support zipping of dump files

2023-11-27 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-20836:
--

cherry-picked to 2.16

> Support zipping of dump files
> -
>
> Key: IGNITE-20836
> URL: https://issues.apache.org/jira/browse/IGNITE-20836
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 8h 50m
>  Remaining Estimate: 0h
>
> For additional space saving, need to introduce a mode in which dump files are 
> compressed during the creation.



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


[jira] [Updated] (IGNITE-20836) Support zipping of dump files

2023-11-27 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20836:
-
Fix Version/s: 2.16
   (was: 2.17)

> Support zipping of dump files
> -
>
> Key: IGNITE-20836
> URL: https://issues.apache.org/jira/browse/IGNITE-20836
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 8h 50m
>  Remaining Estimate: 0h
>
> For additional space saving, need to introduce a mode in which dump files are 
> compressed during the creation.



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


[jira] [Updated] (IGNITE-20917) Add entry version in the DumpEntry

2023-11-21 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20917:
-
Description: 
{{DumpEntry}} must contains entry version.

* Entry version is the same for every copy of the enty.
* Entry version can be used to recover CDC state after CDC based replication 
implemented in cdc-ext fails for some reason.

Use-case:

* cdc replication fails.
* backup cluster cleared.
* starts cdc -> changes replicated to the backup cluster.
* create dump on the primary cluster.
* restore dump on the backup cluster with the {{putConflict}} calls.

Goal of this ticket is to add version to the {{DumpEntry}}

  was:
{{DumpEntry}} must contains entry version.

* Entry version is the same for every copy of the enty.
* Entry version can be used to recover CDC state after CDC based replication 
implemented in cdc-ext fails for some reason.

Use-case:

* cdc replication fails.
* backup cluster cleared.
* starts cdc -> changes replicated to the backup cluster.
* create dump on the primary cluster.
* restore dump on the backup cluster with the {{putConflict}} calls.


> Add entry version in the DumpEntry
> --
>
> Key: IGNITE-20917
> URL: https://issues.apache.org/jira/browse/IGNITE-20917
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>
> {{DumpEntry}} must contains entry version.
> * Entry version is the same for every copy of the enty.
> * Entry version can be used to recover CDC state after CDC based replication 
> implemented in cdc-ext fails for some reason.
> Use-case:
> * cdc replication fails.
> * backup cluster cleared.
> * starts cdc -> changes replicated to the backup cluster.
> * create dump on the primary cluster.
> * restore dump on the backup cluster with the {{putConflict}} calls.
> Goal of this ticket is to add version to the {{DumpEntry}}



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


[jira] [Updated] (IGNITE-20917) Add entry version in the DumpEntry

2023-11-21 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20917:
-
Description: 
{{DumpEntry}} must contains entry version.

* Entry version is the same for every copy of the enty.
* Entry version can be used to recover CDC state after CDC based replication 
implemented in cdc-ext fails for some reason.

Use-case:

* cdc replication fails.
* backup cluster cleared.
* starts cdc -> changes replicated to the backup cluster.
* create dump on the primary cluster.
* restore dump on the backup cluster with the {{putConflict}} calls.

  was:Don't create snapshot directories for in-memory cluster until first dump 
created.


> Add entry version in the DumpEntry
> --
>
> Key: IGNITE-20917
> URL: https://issues.apache.org/jira/browse/IGNITE-20917
> Project: Ignite
>  Issue Type: Task
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>
> {{DumpEntry}} must contains entry version.
> * Entry version is the same for every copy of the enty.
> * Entry version can be used to recover CDC state after CDC based replication 
> implemented in cdc-ext fails for some reason.
> Use-case:
> * cdc replication fails.
> * backup cluster cleared.
> * starts cdc -> changes replicated to the backup cluster.
> * create dump on the primary cluster.
> * restore dump on the backup cluster with the {{putConflict}} calls.



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


[jira] [Created] (IGNITE-20917) Add entry version in the DumpEntry

2023-11-21 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-20917:


 Summary: Add entry version in the DumpEntry
 Key: IGNITE-20917
 URL: https://issues.apache.org/jira/browse/IGNITE-20917
 Project: Ignite
  Issue Type: Task
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov
 Fix For: 2.16


Don't create snapshot directories for in-memory cluster until first dump 
created.



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


[jira] [Updated] (IGNITE-20722) Support skipCopies for DumpReader

2023-10-30 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20722:
-
Fix Version/s: 2.16

> Support skipCopies for DumpReader
> -
>
> Key: IGNITE-20722
> URL: https://issues.apache.org/jira/browse/IGNITE-20722
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> Dump can store several copy of each partition. 
> DumpReader must provide an option to skip copies and process only one copy 
> for each partition.
> This will reduce restore time.



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


[jira] [Resolved] (IGNITE-20718) DumpIterator for primary copies

2023-10-30 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov resolved IGNITE-20718.
--
Resolution: Invalid

> DumpIterator for primary copies
> ---
>
> Key: IGNITE-20718
> URL: https://issues.apache.org/jira/browse/IGNITE-20718
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
>
> Primary copies of partitions don't contain entry duplicates.
> Because, entries can be filtered based on version on the creation time.
> So, during iteration we don't need to track possible duplicates inside 
> {{DumpedPartitionIterator}} implementation in {{partKeys}} variable. This 
> will decrease memory consumption and improve performance of dump iteration 
> and therefore dump check procedures.



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


[jira] [Updated] (IGNITE-20708) Support cacheGroupNames for DumpReader

2023-10-25 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20708:
-
Fix Version/s: 2.16

> Support cacheGroupNames for DumpReader
> --
>
> Key: IGNITE-20708
> URL: https://issues.apache.org/jira/browse/IGNITE-20708
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
> Fix For: 2.16
>
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> Need to support cacheGroupNames option to filter out cache groups that will 
> be analyzed when the DumpReader runs.



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


[jira] [Commented] (IGNITE-20708) Support cacheGroupNames for DumpReader

2023-10-25 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov commented on IGNITE-20708:
--

[~yuri.naryshkin] merged to master. Thanks for the contribution!

> Support cacheGroupNames for DumpReader
> --
>
> Key: IGNITE-20708
> URL: https://issues.apache.org/jira/browse/IGNITE-20708
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
>  Time Spent: 2h 40m
>  Remaining Estimate: 0h
>
> Need to support cacheGroupNames option to filter out cache groups that will 
> be analyzed when the DumpReader runs.



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


[jira] [Updated] (IGNITE-20718) DumpIterator for primary copies

2023-10-23 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20718:
-
Issue Type: Improvement  (was: Bug)

> DumpIterator for primary copies
> ---
>
> Key: IGNITE-20718
> URL: https://issues.apache.org/jira/browse/IGNITE-20718
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
>
> Primary copies of partitions don't contain entry duplicates.
> Because, entries can be filtered based on version on the creation time.
> So, during iteration we don't need to track possible duplicates inside 
> {{DumpedPartitionIterator}} implementation in {{partKeys}} variable. This 
> will decrease memory consumption and improve performance of dump iteration 
> and therefore dump check procedures.



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


[jira] [Updated] (IGNITE-20718) DumpIterator for primary copies

2023-10-23 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20718:
-
Description: 
Primary copies of partitions don't contain entry duplicates.
Because, entries can be filtered based on version on the creation time.

So, during iteration we don't need to track possible duplicates inside 
{{DumpedPartitionIterator}} implementation in {{partKeys}} variable. This will 
decrease memory consumption and improve performance of dump iteration and 
therefore dump check procedures.

  was:
Snapshots supports {{snapshotTransferRate}} distributed property to limit 
amount of bytes written by snapshot creation process to the disk.
Dump must use same property to limit disc usage while creating dumps.


> DumpIterator for primary copies
> ---
>
> Key: IGNITE-20718
> URL: https://issues.apache.org/jira/browse/IGNITE-20718
> Project: Ignite
>  Issue Type: Bug
>Reporter: Nikolay Izhikov
>Assignee: Nikolay Izhikov
>Priority: Major
>  Labels: IEP-109, ise
>
> Primary copies of partitions don't contain entry duplicates.
> Because, entries can be filtered based on version on the creation time.
> So, during iteration we don't need to track possible duplicates inside 
> {{DumpedPartitionIterator}} implementation in {{partKeys}} variable. This 
> will decrease memory consumption and improve performance of dump iteration 
> and therefore dump check procedures.



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


[jira] [Created] (IGNITE-20718) DumpIterator for primary copies

2023-10-23 Thread Nikolay Izhikov (Jira)
Nikolay Izhikov created IGNITE-20718:


 Summary: DumpIterator for primary copies
 Key: IGNITE-20718
 URL: https://issues.apache.org/jira/browse/IGNITE-20718
 Project: Ignite
  Issue Type: Bug
Reporter: Nikolay Izhikov
Assignee: Nikolay Izhikov


Snapshots supports {{snapshotTransferRate}} distributed property to limit 
amount of bytes written by snapshot creation process to the disk.
Dump must use same property to limit disc usage while creating dumps.



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


[jira] [Updated] (IGNITE-20528) CDC doesn't work if the "Cache objects transformation" is applied

2023-10-23 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20528:
-
Fix Version/s: 2.16

> CDC doesn't work if the "Cache objects transformation" is applied
> -
>
> Key: IGNITE-20528
> URL: https://issues.apache.org/jira/browse/IGNITE-20528
> Project: Ignite
>  Issue Type: Bug
>Reporter: Sergey Korotkov
>Assignee: Anton Vinogradov
>Priority: Major
>  Labels: iep-97, ise
> Fix For: 2.16
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> CDC doesn't work If some cache objects transformation is applied (see the 
> [https://cwiki.apache.org/confluence/display/IGNITE/IEP-97+Cache+objects+transformation|https://cwiki.apache.org/confluence/display/IGNITE/IEP-97+Cache+objects+transformation]).
> ignite_cdc.sh utility produces the NPE (see below). The immediate reason of 
> the NPE is that ignite_cdc.sh uses the reduced version of the context 
> (StandaloneGridKernalContext), which doesn't contain the GridCacheProcessor.
>  
> {noformat}
> [2023-10-02T10:43:32,017][ERROR][Thread-1][] Unable to convert value 
> [CacheObjectImpl [val=null, hasValBytes=true]]
> java.lang.NullPointerException: null
>   at 
> org.apache.ignite.internal.processors.cache.CacheObjectTransformerUtils.transformer(CacheObjectTransformerUtils.java:32)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.cache.CacheObjectTransformerUtils.restoreIfNecessary(CacheObjectTransformerUtils.java:120)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.cache.CacheObjectAdapter.valueFromValueBytes(CacheObjectAdapter.java:73)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.cache.CacheObjectImpl.value(CacheObjectImpl.java:92)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.processors.cache.CacheObjectImpl.value(CacheObjectImpl.java:58)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.pagemem.wal.record.UnwrapDataEntry.unwrappedValue(UnwrapDataEntry.java:104)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.cdc.WalRecordsConsumer.lambda$static$c56580e2$1(WalRecordsConsumer.java:99)
>  ~[classes/:?]
>   at 
> org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator.nextX(TransformFilteringIterator.java:119)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.next(GridIteratorAdapter.java:35)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.lang.gridfunc.TransformFilteringIterator.hasNextX(TransformFilteringIterator.java:85)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.util.lang.GridIteratorAdapter.hasNext(GridIteratorAdapter.java:45)
>  [classes/:?]
>   at 
> org.apache.ignite.cdc.AbstractCdcEventsApplier.apply(AbstractCdcEventsApplier.java:71)
>  [ignite-cdc-ext-1.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.cdc.AbstractIgniteCdcStreamer.onEvents(AbstractIgniteCdcStreamer.java:118)
>  [ignite-cdc-ext-1.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.cdc.WalRecordsConsumer.onRecords(WalRecordsConsumer.java:142)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.cdc.CdcMain.consumeSegmentActively(CdcMain.java:557)
>  [classes/:?]
>   at 
> org.apache.ignite.internal.cdc.CdcMain.consumeWalSegmentsUntilStopped(CdcMain.java:496)
>  [classes/:?]
>   at org.apache.ignite.internal.cdc.CdcMain.runX(CdcMain.java:344) 
> [classes/:?]
>   at org.apache.ignite.internal.cdc.CdcMain.run(CdcMain.java:283) [classes/:?]
> {noformat}
>  



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


[jira] [Updated] (IGNITE-20708) Support cacheGroupNames for DumpReader

2023-10-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20708:
-
Description: Need to support cacheGroupNames option to filter out cache 
groups that will be analyzed when the DumpReader runs.  (was: Need to support 
--cache-group-names option to filter out cache groups that will be analyzed 
when the utility runs, so that administrator can restore only specific caches)

> Support cacheGroupNames for DumpReader
> --
>
> Key: IGNITE-20708
> URL: https://issues.apache.org/jira/browse/IGNITE-20708
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Need to support cacheGroupNames option to filter out cache groups that will 
> be analyzed when the DumpReader runs.



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


[jira] [Updated] (IGNITE-20708) Support --cache-group-names for restore utility

2023-10-20 Thread Nikolay Izhikov (Jira)


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

Nikolay Izhikov updated IGNITE-20708:
-
Labels: IEP-109 ise  (was: ise)

> Support --cache-group-names for restore utility
> ---
>
> Key: IGNITE-20708
> URL: https://issues.apache.org/jira/browse/IGNITE-20708
> Project: Ignite
>  Issue Type: Task
>Reporter: Yuri Naryshkin
>Assignee: Yuri Naryshkin
>Priority: Minor
>  Labels: IEP-109, ise
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Need to support --cache-group-names option to filter out cache groups that 
> will be analyzed when the utility runs, so that administrator can restore 
> only specific caches



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


  1   2   3   4   5   6   7   8   9   10   >