[jira] [Commented] (IGNITE-21906) Consider disabling inline in PK index by default

2024-04-08 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev commented on IGNITE-21906:
--

I've run the benchmark a couple more times and every time the results were a 
little bit worse than the baseline. Therefore, we decided to stop further 
investigation and close this ticket.

> Consider disabling inline in PK index by default
> 
>
> Key: IGNITE-21906
> URL: https://issues.apache.org/jira/browse/IGNITE-21906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In aipersist/aimem we attempt to inline binary tuples into pages for hash 
> indexes by default. This, in theory, saves us from the necessity of accessing 
> binary tuples from data pages for comparison, which is slower than comparing 
> inlined data.
> But, assuming the good hash distribution, we would only have to do the real 
> comparison for the matched tuple. At the same time, inlined data might be 
> substantially larger than hash+link, meaning that B+Tree with inlined data 
> has bigger height, which correlates with slower search speed.
> So, we have both pros and cons for inlining, and the only real way to 
> reconcile them is to compare them with some benchmarks. This is exactly what 
> I propose.
> TL;DR: force inline size to be 0 for hash indices and benchmark for put/get 
> operations, with large enough amount of data.



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


[jira] [Resolved] (IGNITE-21906) Consider disabling inline in PK index by default

2024-04-08 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev resolved IGNITE-21906.
--
Resolution: Won't Fix

> Consider disabling inline in PK index by default
> 
>
> Key: IGNITE-21906
> URL: https://issues.apache.org/jira/browse/IGNITE-21906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In aipersist/aimem we attempt to inline binary tuples into pages for hash 
> indexes by default. This, in theory, saves us from the necessity of accessing 
> binary tuples from data pages for comparison, which is slower than comparing 
> inlined data.
> But, assuming the good hash distribution, we would only have to do the real 
> comparison for the matched tuple. At the same time, inlined data might be 
> substantially larger than hash+link, meaning that B+Tree with inlined data 
> has bigger height, which correlates with slower search speed.
> So, we have both pros and cons for inlining, and the only real way to 
> reconcile them is to compare them with some benchmarks. This is exactly what 
> I propose.
> TL;DR: force inline size to be 0 for hash indices and benchmark for put/get 
> operations, with large enough amount of data.



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


[jira] [Commented] (IGNITE-21906) Consider disabling inline in PK index by default

2024-04-05 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev commented on IGNITE-21906:
--

I've set the inline size to 0 in all HashIndexTrees and got the following 
results running YCSB KV scenario:

Baseline:

[OVERALL]   
RunTime(ms): 40648 
Throughput(ops/sec): 6150.364101554812 
Operations(payload): 25 
Operations(warm-up): 5

[READ]  
Operations: 25 
AverageLatency(us): 152.338772 
MinLatency(us): 125 
MaxLatency(us): 16355 
95thPercentileLatency(us): 179 
99thPercentileLatency(us): 232 
Return=OK: 25

No inlining

[OVERALL]   
RunTime(ms): 41874 
Throughput(ops/sec): 5970.291827864546 
Operations(payload): 25 
Operations(warm-up): 5
[READ]  
Operations: 25 
AverageLatency(us): 158.05806 
MinLatency(us): 126 
MaxLatency(us): 23661 
95thPercentileLatency(us): 186 
99thPercentileLatency(us): 245 
Return=OK: 25

Looks like everything got a little bit slower.

> Consider disabling inline in PK index by default
> 
>
> Key: IGNITE-21906
> URL: https://issues.apache.org/jira/browse/IGNITE-21906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> In aipersist/aimem we attempt to inline binary tuples into pages for hash 
> indexes by default. This, in theory, saves us from the necessity of accessing 
> binary tuples from data pages for comparison, which is slower than comparing 
> inlined data.
> But, assuming the good hash distribution, we would only have to do the real 
> comparison for the matched tuple. At the same time, inlined data might be 
> substantially larger than hash+link, meaning that B+Tree with inlined data 
> has bigger height, which correlates with slower search speed.
> So, we have both pros and cons for inlining, and the only real way to 
> reconcile them is to compare them with some benchmarks. This is exactly what 
> I propose.
> TL;DR: force inline size to be 0 for hash indices and benchmark for put/get 
> operations, with large enough amount of data.



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


[jira] [Assigned] (IGNITE-21906) Consider disabling inline in PK index by default

2024-04-05 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev reassigned IGNITE-21906:


Assignee: Aleksandr Polovtcev

> Consider disabling inline in PK index by default
> 
>
> Key: IGNITE-21906
> URL: https://issues.apache.org/jira/browse/IGNITE-21906
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> In aipersist/aimem we attempt to inline binary tuples into pages for hash 
> indexes by default. This, in theory, saves us from the necessity of accessing 
> binary tuples from data pages for comparison, which is slower than comparing 
> inlined data.
> But, assuming the good hash distribution, we would only have to do the real 
> comparison for the matched tuple. At the same time, inlined data might be 
> substantially larger than hash+link, meaning that B+Tree with inlined data 
> has bigger height, which correlates with slower search speed.
> So, we have both pros and cons for inlining, and the only real way to 
> reconcile them is to compare them with some benchmarks. This is exactly what 
> I propose.
> TL;DR: force inline size to be 0 for hash indices and benchmark for put/get 
> operations, with large enough amount of data.



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


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

2024-04-03 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


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

2024-04-03 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


[jira] [Created] (IGNITE-21909) RocksDbMvTableStorageTest#testDestroyIndex is flaky

2024-04-02 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21909:


 Summary: RocksDbMvTableStorageTest#testDestroyIndex is flaky
 Key: IGNITE-21909
 URL: https://issues.apache.org/jira/browse/IGNITE-21909
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


There's a race between destroying and getting an index storage in 
{{RocksDbMvTableStorage}}.



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


[jira] [Updated] (IGNITE-21890) AbstractSortedIndexStorageTest#testScan is flaky

2024-03-29 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21890:
-
Description: Looks like {{BinaryTupleComparator}} handles decimal values 
incorrectly, this test fails sometimes if a {{DECIMAL}} column is present in 
the index descriptor.

> AbstractSortedIndexStorageTest#testScan is flaky
> 
>
> Key: IGNITE-21890
> URL: https://issues.apache.org/jira/browse/IGNITE-21890
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Looks like {{BinaryTupleComparator}} handles decimal values incorrectly, this 
> test fails sometimes if a {{DECIMAL}} column is present in the index 
> descriptor.



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


[jira] [Created] (IGNITE-21890) AbstractSortedIndexStorageTest#testScan is flaky

2024-03-29 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21890:


 Summary: AbstractSortedIndexStorageTest#testScan is flaky
 Key: IGNITE-21890
 URL: https://issues.apache.org/jira/browse/IGNITE-21890
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21890) AbstractSortedIndexStorageTest#testScan is flaky

2024-03-29 Thread Aleksandr Polovtcev (Jira)


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

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

> AbstractSortedIndexStorageTest#testScan is flaky
> 
>
> Key: IGNITE-21890
> URL: https://issues.apache.org/jira/browse/IGNITE-21890
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>




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


[jira] [Updated] (IGNITE-21885) AssertionError in RocksDbSortedIndexStorage

2024-03-29 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21885:
-
Description: 
{{RocksDbSortedIndexStorage}} scan is actually broken, the following error is 
thrown when trying to call this method:

{noformat}
Caused by: java.lang.AssertionError
  at 
org.apache.ignite.internal.storage.rocksdb.index.RocksDbSortedIndexStorage.decodeRow(RocksDbSortedIndexStorage.java:207)
 ~[ignite-storage-rocksdb-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.storage.rocksdb.index.RocksDbSortedIndexStorage$1.map(RocksDbSortedIndexStorage.java:196)
 ~[ignite-storage-rocksdb-3.0.0-SNAPSHOT.jar:?]
  at 
org.apache.ignite.internal.storage.rocksdb.index.AbstractRocksDbIndexStorage$UpToDatePeekCursor.lambda$next$0(AbstractRocksDbIndexStorage.java:323)
 ~[ignite-storage-rocksdb-3.0.0-SNAPSHOT.jar:?]
{noformat}

This happens because there's an assertion check that uses an incorrect 
partition ID offset inside of the index row. Existing tests are working only 
because we always use partition ID equal to 0.

> AssertionError in RocksDbSortedIndexStorage
> ---
>
> Key: IGNITE-21885
> URL: https://issues.apache.org/jira/browse/IGNITE-21885
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> {{RocksDbSortedIndexStorage}} scan is actually broken, the following error is 
> thrown when trying to call this method:
> {noformat}
> Caused by: java.lang.AssertionError
>   at 
> org.apache.ignite.internal.storage.rocksdb.index.RocksDbSortedIndexStorage.decodeRow(RocksDbSortedIndexStorage.java:207)
>  ~[ignite-storage-rocksdb-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.storage.rocksdb.index.RocksDbSortedIndexStorage$1.map(RocksDbSortedIndexStorage.java:196)
>  ~[ignite-storage-rocksdb-3.0.0-SNAPSHOT.jar:?]
>   at 
> org.apache.ignite.internal.storage.rocksdb.index.AbstractRocksDbIndexStorage$UpToDatePeekCursor.lambda$next$0(AbstractRocksDbIndexStorage.java:323)
>  ~[ignite-storage-rocksdb-3.0.0-SNAPSHOT.jar:?]
> {noformat}
> This happens because there's an assertion check that uses an incorrect 
> partition ID offset inside of the index row. Existing tests are working only 
> because we always use partition ID equal to 0.



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


[jira] [Updated] (IGNITE-21885) AssertionError in RocksDbSortedIndexStorage

2024-03-29 Thread Aleksandr Polovtcev (Jira)


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

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

> AssertionError in RocksDbSortedIndexStorage
> ---
>
> Key: IGNITE-21885
> URL: https://issues.apache.org/jira/browse/IGNITE-21885
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>




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


[jira] [Created] (IGNITE-21885) AssertionError in RocksDbSortedIndexStorage

2024-03-29 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21885:


 Summary: AssertionError in RocksDbSortedIndexStorage
 Key: IGNITE-21885
 URL: https://issues.apache.org/jira/browse/IGNITE-21885
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


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

2024-03-29 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


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

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


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

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


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

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


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

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


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


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



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


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

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


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


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



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


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

2024-03-28 Thread Aleksandr Polovtcev (Jira)


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

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

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



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


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

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


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






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


[jira] [Updated] (IGNITE-21851) Remove RocksDB cache type support

2024-03-27 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21851:
-
Description: {{RocksDbDataRegionConfigurationSchema}} allows to choose 
between two RocksDB cache types: {{LRU}} and {{Clock}}. However, {{Clock}} 
cache implementation has actually been removed from RocksDB and the new 
implementation, called {{HyperClock}} is still experimental. I suggest to 
remove the cache type feature for now, it serves no purpose and complicates the 
code.  (was: {{RocksDbDataRegionConfigurationSchema}} allows to choose between 
two RocksDB cache types: LRU and Clock. However, Clock cache implementation has 
actually been removed from RocksDB and the new implementation, called 
{{HyperClock}} is still experimental. I suggest to remove the cache type 
feature for now, it serves no purpose and complicates the code.)

> Remove RocksDB cache type support
> -
>
> Key: IGNITE-21851
> URL: https://issues.apache.org/jira/browse/IGNITE-21851
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> {{RocksDbDataRegionConfigurationSchema}} allows to choose between two RocksDB 
> cache types: {{LRU}} and {{Clock}}. However, {{Clock}} cache implementation 
> has actually been removed from RocksDB and the new implementation, called 
> {{HyperClock}} is still experimental. I suggest to remove the cache type 
> feature for now, it serves no purpose and complicates the code.



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


[jira] [Updated] (IGNITE-21851) Remove RocksDB cache type support

2024-03-27 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21851:
-
Description: {{RocksDbDataRegionConfigurationSchema}} allows to choose 
between two RocksDB cache types: LRU and Clock. However, Clock cache 
implementation has actually been removed from RocksDB and the new 
implementation, called {{HyperClock}} is still experimental. I suggest to 
remove the cache type feature for now, it serves no purpose and complicates the 
code.

> Remove RocksDB cache type support
> -
>
> Key: IGNITE-21851
> URL: https://issues.apache.org/jira/browse/IGNITE-21851
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> {{RocksDbDataRegionConfigurationSchema}} allows to choose between two RocksDB 
> cache types: LRU and Clock. However, Clock cache implementation has actually 
> been removed from RocksDB and the new implementation, called {{HyperClock}} 
> is still experimental. I suggest to remove the cache type feature for now, it 
> serves no purpose and complicates the code.



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


[jira] [Updated] (IGNITE-21851) Remove RocksDB cache type support

2024-03-27 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove RocksDB cache type support
> -
>
> Key: IGNITE-21851
> URL: https://issues.apache.org/jira/browse/IGNITE-21851
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>




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


[jira] [Created] (IGNITE-21851) Remove RocksDB cache type support

2024-03-27 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21851:


 Summary: Remove RocksDB cache type support
 Key: IGNITE-21851
 URL: https://issues.apache.org/jira/browse/IGNITE-21851
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21848) Move thread hijack protection to wrappers

2024-03-27 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21848:
-
Reviewer: Aleksandr Polovtcev  (was: Aleksandr Polovtsev)

> Move thread hijack protection to wrappers
> -
>
> Key: IGNITE-21848
> URL: https://issues.apache.org/jira/browse/IGNITE-21848
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Public APIs that return CompletableFuture instances need protection that 
> would not allow users to execute their code in Ignite internal threads (in 
> which the futures get completed). This is done by switching to an 'async 
> continuation executor' upon completion of such futures (by default the common 
> FJP is used as such an executor).
> But when we use the same public APIs internally, we don't need this 
> protection (Thin client handler is an example). So we need a separate 'entry' 
> to use the same APIs without this protection.
> This can be achieved easily by moving the anti-hijack logic to wrappers (aka 
> decorators) that are only applied when going through the public APIs. The 
> internal components can use under-the-hood implementations directly, thus 
> bypassing the wrappers.



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


[jira] [Updated] (IGNITE-21760) Remove destroyed tables on recovery - RocksDB

2024-03-26 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21760:
-
Reviewer: Kirill Tkalenko

> Remove destroyed tables on recovery - RocksDB
> -
>
> Key: IGNITE-21760
> URL: https://issues.apache.org/jira/browse/IGNITE-21760
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladimir Pligin
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We need to destroy tables on node recovery that fall under the low watermark 
> for the rocks db storage engine.



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


[jira] [Updated] (IGNITE-21760) Remove destroyed tables on recovery - RocksDB

2024-03-26 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove destroyed tables on recovery - RocksDB
> -
>
> Key: IGNITE-21760
> URL: https://issues.apache.org/jira/browse/IGNITE-21760
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladimir Pligin
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> We need to destroy tables on node recovery that fall under the low watermark 
> for the rocks db storage engine.



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


[jira] [Updated] (IGNITE-21831) RocksDb indexes are not table aware

2024-03-26 Thread Aleksandr Polovtcev (Jira)


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

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

> RocksDb indexes are not table aware
> ---
>
> Key: IGNITE-21831
> URL: https://issues.apache.org/jira/browse/IGNITE-21831
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
> When implementing indexes restoration in IGNITE-21680 I messed up and didn't 
> notice, that all indexes are stored in the RocksDB instance without any 
> connection to their table IDs. Therefore, every table, started in the same 
> data region, got the same (full) set of indexes recovered. 
> Another problem is that right now it is impossible to drop a table only using 
> its ID, needed for IGNITE-21760, because we need to know, which indexes it 
> has.



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


[jira] [Updated] (IGNITE-21831) RocksDb indexes are not table aware

2024-03-25 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21831:
-
Description: 
When implementing indexes restoration in IGNITE-21680 I messed up and didn't 
notice, that all indexes are stored in the RocksDB instance without any 
connection to their table IDs. Therefore, every table, started in the same data 
region, got the same (full) set of indexes recovered. 

Another problem is that right now it is impossible to drop a table only using 
its ID, needed for IGNITE-21760, because we need to know, which indexes it has.

> RocksDb indexes are not table aware
> ---
>
> Key: IGNITE-21831
> URL: https://issues.apache.org/jira/browse/IGNITE-21831
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When implementing indexes restoration in IGNITE-21680 I messed up and didn't 
> notice, that all indexes are stored in the RocksDB instance without any 
> connection to their table IDs. Therefore, every table, started in the same 
> data region, got the same (full) set of indexes recovered. 
> Another problem is that right now it is impossible to drop a table only using 
> its ID, needed for IGNITE-21760, because we need to know, which indexes it 
> has.



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


[jira] [Created] (IGNITE-21831) RocksDb indexes are not table aware

2024-03-22 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21831:


 Summary: RocksDb indexes are not table aware
 Key: IGNITE-21831
 URL: https://issues.apache.org/jira/browse/IGNITE-21831
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21760) Remove destroyed tables on recovery - RocksDB

2024-03-22 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove destroyed tables on recovery - RocksDB
> -
>
> Key: IGNITE-21760
> URL: https://issues.apache.org/jira/browse/IGNITE-21760
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Vladimir Pligin
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We need to destroy tables on node recovery that fall under the low watermark 
> for the rocks db storage engine.



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


[jira] [Resolved] (IGNITE-18159) Implement splitting of an Ignite node hosting a learner and a follower from the same Raft group

2024-03-21 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev resolved IGNITE-18159.
--
Resolution: Won't Fix

> Implement splitting of an Ignite node hosting a learner and a follower from 
> the same Raft group
> ---
>
> Key: IGNITE-18159
> URL: https://issues.apache.org/jira/browse/IGNITE-18159
> Project: Ignite
>  Issue Type: Task
>Reporter: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> As described in IGNITE-18070, we need to implement one of the scenarios that 
> will allow us to have a single Ignite node hosting a follower and a learner 
> from the same Raft group. This ticket focuses on a case when a node gets 
> "split", that is, when after calculating the assignments, a follower (or a 
> learner) gets moved to a different Ignite node. 
> The algorithm looks like the following: after stable assignments have been 
> changes, we simply destroy the follower's (or learner's, whichever gets 
> moved)  storage data (looks like a good place for that would be inside the 
> {{metaStorageMgr.registerWatchByPrefix(ByteArray.fromString(STABLE_ASSIGNMENTS_PREFIX)}}
>  listener in the {{TableManager}}) on the node that gets "split" . The other 
> node should simply start the corresponding Raft service as usual, its data 
> would be transferred by Raft replication.



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


[jira] [Resolved] (IGNITE-21575) Destroy index storages on rebalance

2024-03-21 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev resolved IGNITE-21575.
--
Resolution: Invalid

> Destroy index storages on rebalance
> ---
>
> Key: IGNITE-21575
> URL: https://issues.apache.org/jira/browse/IGNITE-21575
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Commented] (IGNITE-21575) Destroy index storages on rebalance

2024-03-21 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev commented on IGNITE-21575:
--

Originally this ticket was intended to check that index storages are destroyed 
when a node is no longer present for a partition's assignments. Looks like this 
has already been implemented in IGNITE-18160.

> Destroy index storages on rebalance
> ---
>
> Key: IGNITE-21575
> URL: https://issues.apache.org/jira/browse/IGNITE-21575
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Updated] (IGNITE-21819) NextRowIdToBuild does not get cleared on rebalance

2024-03-20 Thread Aleksandr Polovtcev (Jira)


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

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

> NextRowIdToBuild does not get cleared on rebalance
> --
>
> Key: IGNITE-21819
> URL: https://issues.apache.org/jira/browse/IGNITE-21819
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> During a rebalance, partition storages and their indexes get cleaned up. 
> However, {{nextRowIdToBuild}}-related logic used by all index implementations 
> does not take this into account and does not remove the current value as well 
> as doesn't reset the cached field. In addition, Page Memory-based index 
> storages don't reset their index meta trees and can access destroyed trees 
> after a rebalance.



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


[jira] [Updated] (IGNITE-21819) NextRowIdToBuild does not get cleared on rebalance

2024-03-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21819:
-
Description: During a rebalance, partition storages and their indexes get 
cleaned up. However, {{nextRowIdToBuild}}-related logic used by all index 
implementations does not take this into account and does not remove the current 
value as well as doesn't reset the cached field. In addition, Page Memory-based 
index storages don't reset their index meta trees and can access destroyed 
trees after a rebalance.

> NextRowIdToBuild does not get cleared on rebalance
> --
>
> Key: IGNITE-21819
> URL: https://issues.apache.org/jira/browse/IGNITE-21819
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> During a rebalance, partition storages and their indexes get cleaned up. 
> However, {{nextRowIdToBuild}}-related logic used by all index implementations 
> does not take this into account and does not remove the current value as well 
> as doesn't reset the cached field. In addition, Page Memory-based index 
> storages don't reset their index meta trees and can access destroyed trees 
> after a rebalance.



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


[jira] [Created] (IGNITE-21819) NextRowIdToBuild does not get cleared on rebalance

2024-03-20 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21819:


 Summary: NextRowIdToBuild does not get cleared on rebalance
 Key: IGNITE-21819
 URL: https://issues.apache.org/jira/browse/IGNITE-21819
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21811) Cleanup RocksDbClusterStateStorage

2024-03-20 Thread Aleksandr Polovtcev (Jira)


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

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

> Cleanup RocksDbClusterStateStorage
> --
>
> Key: IGNITE-21811
> URL: https://issues.apache.org/jira/browse/IGNITE-21811
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> RocksDbClusterStateStorage#restoreSnapshot does not await the start future. 
> Also looks like snapshot restoration stops the thread pool, which will 
> prevent taking snapshots after that.



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


[jira] [Created] (IGNITE-21811) Cleanup RocksDbClusterStateStorage

2024-03-19 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21811:


 Summary: Cleanup RocksDbClusterStateStorage
 Key: IGNITE-21811
 URL: https://issues.apache.org/jira/browse/IGNITE-21811
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


RocksDbClusterStateStorage#restoreSnapshot does not await the start future. 
Also looks like snapshot restoration stops the thread pool, which will prevent 
taking snapshots after that.



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


[jira] [Updated] (IGNITE-21764) PersistentPageMemoryMvTableStorageTest.testIndexDestructionOnRecovery is flaky

2024-03-19 Thread Aleksandr Polovtcev (Jira)


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

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

> PersistentPageMemoryMvTableStorageTest.testIndexDestructionOnRecovery is flaky
> --
>
> Key: IGNITE-21764
> URL: https://issues.apache.org/jira/browse/IGNITE-21764
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Blocker
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> A failure can be found here: 
> https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/7936530
> There's a race between destroying and creating an index, I believe this is a 
> test problem, because we shouldn't have identical index IDs in such 
> situations in real life.



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


[jira] [Created] (IGNITE-21764) PersistentPageMemoryMvTableStorageTest.testIndexDestructionOnRecovery is flaky

2024-03-15 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21764:


 Summary: 
PersistentPageMemoryMvTableStorageTest.testIndexDestructionOnRecovery is flaky
 Key: IGNITE-21764
 URL: https://issues.apache.org/jira/browse/IGNITE-21764
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


A failure can be found here: 
https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/7936530

There's a race between destroying and creating an index, I believe this is a 
test problem, because we shouldn't have identical index IDs in such situations 
in real life.



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


[jira] [Updated] (IGNITE-21680) Remove destroyed RocksDB indexes on recovery

2024-03-13 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21680:
-
Epic Link: IGNITE-20782

> Remove destroyed RocksDB indexes on recovery
> 
>
> Key: IGNITE-21680
> URL: https://issues.apache.org/jira/browse/IGNITE-21680
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> When {{RocksDbTableStorage}} is started, we need to perform the following 
> recovery actions:
> # Check the existing indices in the shared RocksDB instance;
> # Check the observable Catalog history (i.e. up to the LWM value);
> # Eagerly populate the maps containing the indices unless a given index is 
> not present in the Catalog, in which case it must be destroyed.



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


[jira] [Updated] (IGNITE-21671) Remove destroyed PageMemory indexes on recovery

2024-03-13 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21671:
-
Epic Link: IGNITE-20782

> Remove destroyed PageMemory indexes on recovery
> ---
>
> Key: IGNITE-21671
> URL: https://issues.apache.org/jira/browse/IGNITE-21671
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When {{AbstractPageMemoryMvPartitionStorage}} is started, we need to perform 
> the following recovery actions:
> # Scan the index meta tree;
> # Check the observable Catalog history (i.e. up to the LWM value);
> # If an index is present in the meta tree, but not in the Catalog - destroy 
> it. 



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


[jira] [Updated] (IGNITE-21742) Refactor creating and managing of Page Memory Indexes

2024-03-13 Thread Aleksandr Polovtcev (Jira)


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

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

> Refactor creating and managing of Page Memory Indexes 
> --
>
> Key: IGNITE-21742
> URL: https://issues.apache.org/jira/browse/IGNITE-21742
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Current logic of managing Page Memory indexes (like recovery, creation of new 
> indexes and updates during rebalance) is all contained within the 
> {{AbstractPageMemoryMvPartitionStorage}} which makes it complicated to modify 
> it (like, for example when implementing recovery in IGNITE-21671). Also, 
> current approach of creating or restoring Index Trees is not very convenient 
> as it relies on a boolean flag passed to the corresponding constructor. It 
> would be more readable and maintainable to have distinct factory methods for 
> that. 



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


[jira] [Updated] (IGNITE-21742) Refactor creating and managing of Page Memory Indexes

2024-03-13 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21742:
-
Summary: Refactor creating and managing of Page Memory Indexes   (was: 
Refactor creating and managing Page Memory Indexes )

> Refactor creating and managing of Page Memory Indexes 
> --
>
> Key: IGNITE-21742
> URL: https://issues.apache.org/jira/browse/IGNITE-21742
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Current logic of managing Page Memory indexes (like recovery, creation of new 
> indexes and updates during rebalance) is all contained within the 
> {{AbstractPageMemoryMvPartitionStorage}} which makes it complicated to modify 
> it (like, for example when implementing recovery in IGNITE-21671). Also, 
> current approach of creating or restoring Index Trees is not very convenient 
> as it relies on a boolean flag passed to the corresponding constructor. It 
> would be more readable and maintainable to have distinct factory methods for 
> that. 



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


[jira] [Updated] (IGNITE-21742) Refactor creating and managing Page Memory Indexes

2024-03-13 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21742:
-
Epic Link: IGNITE-20782
 Reviewer: Kirill Tkalenko

> Refactor creating and managing Page Memory Indexes 
> ---
>
> Key: IGNITE-21742
> URL: https://issues.apache.org/jira/browse/IGNITE-21742
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Current logic of managing Page Memory indexes (like recovery, creation of new 
> indexes and updates during rebalance) is all contained within the 
> {{AbstractPageMemoryMvPartitionStorage}} which makes it complicated to modify 
> it (like, for example when implementing recovery in IGNITE-21671). Also, 
> current approach of creating or restoring Index Trees is not very convenient 
> as it relies on a boolean flag passed to the corresponding constructor. It 
> would be more readable and maintainable to have distinct factory methods for 
> that. 



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


[jira] [Updated] (IGNITE-21742) Refactor creating and managing Page Memory Indexes

2024-03-13 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21742:
-
Description: Current logic of managing Page Memory indexes (like recovery, 
creation of new indexes and updates during rebalance) is all contained within 
the {{AbstractPageMemoryMvPartitionStorage}} which makes it complicated to 
modify it (like, for example when implementing recovery in IGNITE-21671). Also, 
current approach of creating or restoring Index Trees is not very convenient as 
it relies on a boolean flag passed to the corresponding constructor. It would 
be more readable and maintainable to have distinct factory methods for that. 

> Refactor creating and managing Page Memory Indexes 
> ---
>
> Key: IGNITE-21742
> URL: https://issues.apache.org/jira/browse/IGNITE-21742
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Current logic of managing Page Memory indexes (like recovery, creation of new 
> indexes and updates during rebalance) is all contained within the 
> {{AbstractPageMemoryMvPartitionStorage}} which makes it complicated to modify 
> it (like, for example when implementing recovery in IGNITE-21671). Also, 
> current approach of creating or restoring Index Trees is not very convenient 
> as it relies on a boolean flag passed to the corresponding constructor. It 
> would be more readable and maintainable to have distinct factory methods for 
> that. 



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


[jira] [Created] (IGNITE-21742) Refactor creating and managing Page Memory Indexes

2024-03-13 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21742:


 Summary: Refactor creating and managing Page Memory Indexes 
 Key: IGNITE-21742
 URL: https://issues.apache.org/jira/browse/IGNITE-21742
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21728) Close cursors synchronously in ExecutionServiceImplTest

2024-03-11 Thread Aleksandr Polovtcev (Jira)


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

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

> Close cursors synchronously in ExecutionServiceImplTest
> ---
>
> Key: IGNITE-21728
> URL: https://issues.apache.org/jira/browse/IGNITE-21728
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> {{AsyncCursor}} in {{ExecutionServiceImplTest}} is closed using 
> {{closeAsync}} but in some tests nobody waits for the return future to 
> complete, which may pose race conditions.
> An example that was found in the logs during 
> {{testErrorIsPropagatedToPrefetchCallback}} execution:
> {noformat}
> [2024-03-11T15:24:02,481][INFO 
> ][%node_1%sql-execution-pool-0][ExecutionServiceImpl] Unable to send error 
> message
> java.util.concurrent.RejectedExecutionException: Task 
> org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl$$Lambda$1368/0x000800820c40@4ff7a879
>  rejected from java.util.concurrent.ThreadPoolExecutor@145a1f2a[Terminated, 
> pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 5]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2055)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:825)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1355)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.thread.AbstractStripedThreadPoolExecutor.execute(AbstractStripedThreadPoolExecutor.java:61)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.execute(QueryTaskExecutorImpl.java:82)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.execute(QueryTaskExecutorImpl.java:104)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImplTest$TestCluster$TestNode.lambda$onReceive$2(ExecutionServiceImplTest.java:1088)
>  ~[test/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImplTest$TestCluster$TestNode.onReceive(ExecutionServiceImplTest.java:1098)
>  ~[test/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImplTest$TestCluster$TestNode$1.send(ExecutionServiceImplTest.java:1017)
>  ~[test/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.handleError(ExecutionServiceImpl.java:842)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.lambda$submitFragment$11(ExecutionServiceImpl.java:829)
>  ~[main/:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniExceptionally(CompletableFuture.java:986)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniExceptionallyStage(CompletableFuture.java:1004)
>  ~[?:?]
>   at 
> java.base/java.util.concurrent.CompletableFuture.exceptionally(CompletableFuture.java:2307)
>  ~[?:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl$DistributedQueryManager.submitFragment(ExecutionServiceImpl.java:828)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.submitFragment(ExecutionServiceImpl.java:505)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.onMessage(ExecutionServiceImpl.java:404)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImpl.lambda$start$1(ExecutionServiceImpl.java:253)
>  ~[main/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.ExecutionServiceImplTest$TestCluster$TestNode.lambda$onReceive$0(ExecutionServiceImplTest.java:1086)
>  ~[test/:?]
>   at 
> org.apache.ignite.internal.sql.engine.exec.QueryTaskExecutorImpl.lambda$execute$0(QueryTaskExecutorImpl.java:85)
>  ~[main/:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
>  [?:?]
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
>  [?:?]
>   at java.base/java.lang.Thread.run(Thread.java:834) [?:?]
> {noformat}



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


[jira] [Updated] (IGNITE-21728) Close cursors synchronously in ExecutionServiceImplTest

2024-03-11 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21728:
-
Description: {{AsyncCursor}} in {{ExecutionServiceImplTest}} is closed 
using {{closeAsync}} but in some tests nobody waits for the return future to 
complete, which may pose race conditions.  (was: {{AsyncCursor}} in )

> Close cursors synchronously in ExecutionServiceImplTest
> ---
>
> Key: IGNITE-21728
> URL: https://issues.apache.org/jira/browse/IGNITE-21728
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> {{AsyncCursor}} in {{ExecutionServiceImplTest}} is closed using 
> {{closeAsync}} but in some tests nobody waits for the return future to 
> complete, which may pose race conditions.



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


[jira] [Created] (IGNITE-21727) Close cursors synchronously in ExecutionServiceImplTest

2024-03-11 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21727:


 Summary: Close cursors synchronously in ExecutionServiceImplTest
 Key: IGNITE-21727
 URL: https://issues.apache.org/jira/browse/IGNITE-21727
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


{{AsyncCursor}} in {{ExecutionServiceImplTest}} is closed using {{closeAsync}}, 
but in some tests nobody waits for the future to complete, which can pose race 
conditions.



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


[jira] [Updated] (IGNITE-21728) Close cursors synchronously in ExecutionServiceImplTest

2024-03-11 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21728:
-
Description: {{AsyncCursor}} in 

> Close cursors synchronously in ExecutionServiceImplTest
> ---
>
> Key: IGNITE-21728
> URL: https://issues.apache.org/jira/browse/IGNITE-21728
> Project: Ignite
>  Issue Type: Bug
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> {{AsyncCursor}} in 



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


[jira] [Created] (IGNITE-21728) Close cursors synchronously in ExecutionServiceImplTest

2024-03-11 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21728:


 Summary: Close cursors synchronously in ExecutionServiceImplTest
 Key: IGNITE-21728
 URL: https://issues.apache.org/jira/browse/IGNITE-21728
 Project: Ignite
  Issue Type: Bug
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21718) Extract volatile state in AbstractPageMemoryMvPartitionStorage into a separate class

2024-03-11 Thread Aleksandr Polovtcev (Jira)


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

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

> Extract volatile state in AbstractPageMemoryMvPartitionStorage into a 
> separate class
> 
>
> Key: IGNITE-21718
> URL: https://issues.apache.org/jira/browse/IGNITE-21718
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Minor
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h
>  Remaining Estimate: 0h
>
> {{AbstractPageMemoryMvPartitionStorage}} contains a bunch of volatile fields 
> that get replaced during a rebalance cleanup. I propose to wrap this fields 
> in a single class in order to make the code a little bit more maintainable. I 
> see the following benefits:
> # It will become easy to understand, what components of the storage may be 
> updated;
> # It will be easier to add more volatile components and not forget to update 
> them;
> # It will become easier to avoid unnecessary volatile reads, because the 
> whole state can be fetched using a single read.
>  
> The only downside I can see is that the code may become a little bit more 
> verbose, because you will need to access the state class first.



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


[jira] [Updated] (IGNITE-21714) Prevent threads from being hijacked in KV/Record view APIs

2024-03-08 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21714:
-
Reviewer: Aleksandr Polovtcev  (was: Aleksandr Polovtsev)

> Prevent threads from being hijacked in KV/Record view APIs
> --
>
> Key: IGNITE-21714
> URL: https://issues.apache.org/jira/browse/IGNITE-21714
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>




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


[jira] [Updated] (IGNITE-21718) Extract volatile state in AbstractPageMemoryMvPartitionStorage into a separate class

2024-03-08 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21718:
-
Description: 
{{AbstractPageMemoryMvPartitionStorage}} contains a bunch of volatile fields 
that get replaced during a rebalance cleanup. I propose to wrap this fields in 
a single class in order to make the code a little bit more maintainable. I see 
the following benefits:

# It will become easy to understand, what components of the storage may be 
updated;
# It will be easier to add more volatile components and not forget to update 
them;
# It will become easier to avoid unnecessary volatile reads, because the whole 
state can be fetched using a single read.
 
The only downside I can see is that the code may become a little bit more 
verbose, because you will need to access the state class first.

> Extract volatile state in AbstractPageMemoryMvPartitionStorage into a 
> separate class
> 
>
> Key: IGNITE-21718
> URL: https://issues.apache.org/jira/browse/IGNITE-21718
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Minor
>  Labels: ignite-3
>
> {{AbstractPageMemoryMvPartitionStorage}} contains a bunch of volatile fields 
> that get replaced during a rebalance cleanup. I propose to wrap this fields 
> in a single class in order to make the code a little bit more maintainable. I 
> see the following benefits:
> # It will become easy to understand, what components of the storage may be 
> updated;
> # It will be easier to add more volatile components and not forget to update 
> them;
> # It will become easier to avoid unnecessary volatile reads, because the 
> whole state can be fetched using a single read.
>  
> The only downside I can see is that the code may become a little bit more 
> verbose, because you will need to access the state class first.



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


[jira] [Created] (IGNITE-21718) Extract volatile state in AbstractPageMemoryMvPartitionStorage into a separate class

2024-03-08 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21718:


 Summary: Extract volatile state in 
AbstractPageMemoryMvPartitionStorage into a separate class
 Key: IGNITE-21718
 URL: https://issues.apache.org/jira/browse/IGNITE-21718
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21718) Extract volatile state in AbstractPageMemoryMvPartitionStorage into a separate class

2024-03-08 Thread Aleksandr Polovtcev (Jira)


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

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

> Extract volatile state in AbstractPageMemoryMvPartitionStorage into a 
> separate class
> 
>
> Key: IGNITE-21718
> URL: https://issues.apache.org/jira/browse/IGNITE-21718
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Minor
>  Labels: ignite-3
>




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


[jira] [Updated] (IGNITE-21683) Remove thread pools used for BTree destruction

2024-03-06 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21683:
-
Description: We have two separate executors that are used in 
{{GradualTaskExecutor}} for destroying Persistent and Volatile Page Memory 
based structures. They should probably be removed and replaced with a common 
pool.  (was: We have two separate executors that are used in 
{{GradualTaskExecutor}} for destroying Persistent and Volatile Page 
Memory-based structures. They should probably be removed and replaced with a 
common pool.)

> Remove thread pools used for BTree destruction
> --
>
> Key: IGNITE-21683
> URL: https://issues.apache.org/jira/browse/IGNITE-21683
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We have two separate executors that are used in {{GradualTaskExecutor}} for 
> destroying Persistent and Volatile Page Memory based structures. They should 
> probably be removed and replaced with a common pool.



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


[jira] [Updated] (IGNITE-21683) Remove thread pools used for BTree destruction

2024-03-06 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21683:
-
Description: We have two separate executors that are used in 
{{GradualTaskExecutor}} for destroying Persistent and Volatile Page 
Memory-based structures. They should probably be removed and replaced with a 
common pool.  (was: We have two separate executors that are used in a 
`GradualTaskExecutor` for destroying Persistent and Volatile Page Memory-based 
structures. They should probably be removed and replaced with a common pool.)

> Remove thread pools used for BTree destruction
> --
>
> Key: IGNITE-21683
> URL: https://issues.apache.org/jira/browse/IGNITE-21683
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We have two separate executors that are used in {{GradualTaskExecutor}} for 
> destroying Persistent and Volatile Page Memory-based structures. They should 
> probably be removed and replaced with a common pool.



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


[jira] [Updated] (IGNITE-21683) Remove thread pools used for BTree destruction

2024-03-06 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21683:
-
Description: We have two separate executors that are used in a 
`GradualTaskExecutor` for destroying Persistent and Volatile Page Memory-based 
structures. They should probably be removed and replaced with a common pool.

> Remove thread pools used for BTree destruction
> --
>
> Key: IGNITE-21683
> URL: https://issues.apache.org/jira/browse/IGNITE-21683
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We have two separate executors that are used in a `GradualTaskExecutor` for 
> destroying Persistent and Volatile Page Memory-based structures. They should 
> probably be removed and replaced with a common pool.



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


[jira] [Created] (IGNITE-21683) Remove thread pools used for BTree destruction

2024-03-06 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21683:


 Summary: Remove thread pools used for BTree destruction
 Key: IGNITE-21683
 URL: https://issues.apache.org/jira/browse/IGNITE-21683
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev






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


[jira] [Commented] (IGNITE-20126) Check that the index exists before reading from it

2024-03-06 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev commented on IGNITE-20126:
--

I think this ticket should be updated to handle writing to a destroyed index as 
well

> Check that the index exists before reading from it
> --
>
> Key: IGNITE-20126
> URL: https://issues.apache.org/jira/browse/IGNITE-20126
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Before each read-from-index operation (like opening a scan cursor or getting 
> next batch of such a cursor), we should check whether the index physically 
> exists. If not, the operation must be failed and the current RW tx must be 
> aborted.



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


[jira] [Updated] (IGNITE-21680) Remove destroyed RocksDB indexes on recovery

2024-03-06 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21680:
-
Description: 
When {{RocksDbTableStorage}} is started, we need to perform the following 
recovery actions:

# Check the existing indices in the shared RocksDB instance;
# Check the observable Catalog history (i.e. up to the LWM value);
# Eagerly populate the maps containing the indices unless a given index is not 
present in the Catalog, in which case it must be destroyed.

  was:
When {{AbstractPageMemoryMvPartitionStorage}} is started, we need to perform 
the following recovery actions:

# Scan the index meta tree;
# Check the observable Catalog history (i.e. up to the LWM value);
# If an index is present in the meta tree, but not in the Catalog - destroy it. 


> Remove destroyed RocksDB indexes on recovery
> 
>
> Key: IGNITE-21680
> URL: https://issues.apache.org/jira/browse/IGNITE-21680
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> When {{RocksDbTableStorage}} is started, we need to perform the following 
> recovery actions:
> # Check the existing indices in the shared RocksDB instance;
> # Check the observable Catalog history (i.e. up to the LWM value);
> # Eagerly populate the maps containing the indices unless a given index is 
> not present in the Catalog, in which case it must be destroyed.



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


[jira] [Created] (IGNITE-21680) Remove destroyed RocksDB indexes on recovery

2024-03-06 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21680:


 Summary: Remove destroyed RocksDB indexes on recovery
 Key: IGNITE-21680
 URL: https://issues.apache.org/jira/browse/IGNITE-21680
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev
 Fix For: 3.0.0-beta2


When {{AbstractPageMemoryMvPartitionStorage}} is started, we need to perform 
the following recovery actions:

# Scan the index meta tree;
# Check the observable Catalog history (i.e. up to the LWM value);
# If an index is present in the meta tree, but not in the Catalog - destroy it. 



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


[jira] [Updated] (IGNITE-21576) Unmute tests after index removal API is implemented

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

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

> Unmute tests after index removal API is implemented
> ---
>
> Key: IGNITE-21576
> URL: https://issues.apache.org/jira/browse/IGNITE-21576
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> I've disabled some tests with a link pointing to this ticket. These tests 
> must be unmuted after IGNITE-21574 and IGNITE-21583 are fixed



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


[jira] [Updated] (IGNITE-21671) Remove destroyed PageMemory indexes on recovery

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21671:
-
Description: 
When {{AbstractPageMemoryMvPartitionStorage}} is started, we need to perform 
the following recovery actions:

# Scan the index meta tree;
# Check the observable Catalog history (i.e. up to the LWM value);
# If an index is present in the meta tree, but not in the Catalog - destroy it. 

> Remove destroyed PageMemory indexes on recovery
> ---
>
> Key: IGNITE-21671
> URL: https://issues.apache.org/jira/browse/IGNITE-21671
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> When {{AbstractPageMemoryMvPartitionStorage}} is started, we need to perform 
> the following recovery actions:
> # Scan the index meta tree;
> # Check the observable Catalog history (i.e. up to the LWM value);
> # If an index is present in the meta tree, but not in the Catalog - destroy 
> it. 



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


[jira] [Updated] (IGNITE-21671) Remove destroyed PageMemory indexes on recovery

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21671:
-
Summary: Remove destroyed PageMemory indexes on recovery  (was: Remove 
destroyed indexes on recovery)

> Remove destroyed PageMemory indexes on recovery
> ---
>
> Key: IGNITE-21671
> URL: https://issues.apache.org/jira/browse/IGNITE-21671
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>




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


[jira] [Updated] (IGNITE-21671) Remove destroyed indexes on recovery

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove destroyed indexes on recovery
> 
>
> Key: IGNITE-21671
> URL: https://issues.apache.org/jira/browse/IGNITE-21671
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>




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


[jira] [Created] (IGNITE-21671) Remove destroyed indexes on recovery

2024-03-05 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21671:


 Summary: Remove destroyed indexes on recovery
 Key: IGNITE-21671
 URL: https://issues.apache.org/jira/browse/IGNITE-21671
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21670) Remove MvTableStorage#start method

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove MvTableStorage#start method
> --
>
> Key: IGNITE-21670
> URL: https://issues.apache.org/jira/browse/IGNITE-21670
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This method is probably some legacy remnant after table schema has been moved 
> away from the configuration. Currently this method is always called after an 
> instance of MvTableStorage is created and does nothing useful, all its code 
> can be moved to the corresponding constructors.



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


[jira] [Updated] (IGNITE-21670) Remove MvTableStorage#start method

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove MvTableStorage#start method
> --
>
> Key: IGNITE-21670
> URL: https://issues.apache.org/jira/browse/IGNITE-21670
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>
> This method is probably some legacy remnant after table schema has been moved 
> away from the configuration. Currently this method is always called after an 
> instance of MvTableStorage is created and does nothing useful, all its code 
> can be moved to the corresponding constructors.



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


[jira] [Updated] (IGNITE-21670) Remove MvTableStorage#start method

2024-03-05 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove MvTableStorage#start method
> --
>
> Key: IGNITE-21670
> URL: https://issues.apache.org/jira/browse/IGNITE-21670
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> This method is probably some legacy remnant after table schema has been moved 
> away from the configuration. Currently this method is always called after an 
> instance of MvTableStorage is created and does nothing useful, all its code 
> can be moved to the corresponding constructors.



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


[jira] [Created] (IGNITE-21670) Remove MvTableStorage#start method

2024-03-05 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21670:


 Summary: Remove MvTableStorage#start method
 Key: IGNITE-21670
 URL: https://issues.apache.org/jira/browse/IGNITE-21670
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


This method is probably some legacy remnant after table schema has been moved 
away from the configuration. Currently this method is always called after an 
instance of MvTableStorage is created and does nothing useful, all its code can 
be moved to the corresponding constructors.



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


[jira] [Updated] (IGNITE-21645) Fix tests extending AbstractPlannerTest on Java 21

2024-03-01 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21645:
-
Release Note:   (was: Looks good!)

> Fix tests extending AbstractPlannerTest on Java 21
> --
>
> Key: IGNITE-21645
> URL: https://issues.apache.org/jira/browse/IGNITE-21645
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The tests change a final field value. In such a situation, the corresponding 
> IgniteTestUtils method changes the corresponding Field's {{modifiers}} to 
> remove the {{final}} flag from them. The modifiers are changed through a 
> MethodHandle, and on highest Java versions, a MethodHandle of a final Field 
> now throws an UnsupportedOperationException.
> It turns out, this modification of the modifiers is actually not needed on 
> any of the currently LTS Java versions (11, 17, 21), so we can just remove 
> this.



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


[jira] [Commented] (IGNITE-21645) Fix tests extending AbstractPlannerTest on Java 21

2024-03-01 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev commented on IGNITE-21645:
--

Looks good!

> Fix tests extending AbstractPlannerTest on Java 21
> --
>
> Key: IGNITE-21645
> URL: https://issues.apache.org/jira/browse/IGNITE-21645
> Project: Ignite
>  Issue Type: Bug
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> The tests change a final field value. In such a situation, the corresponding 
> IgniteTestUtils method changes the corresponding Field's {{modifiers}} to 
> remove the {{final}} flag from them. The modifiers are changed through a 
> MethodHandle, and on highest Java versions, a MethodHandle of a final Field 
> now throws an UnsupportedOperationException.
> It turns out, this modification of the modifiers is actually not needed on 
> any of the currently LTS Java versions (11, 17, 21), so we can just remove 
> this.



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


[jira] [Updated] (IGNITE-21625) Improve WatchEvent assertion message

2024-02-28 Thread Aleksandr Polovtcev (Jira)


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

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

> Improve WatchEvent assertion message
> 
>
> Key: IGNITE-21625
> URL: https://issues.apache.org/jira/browse/IGNITE-21625
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> {{WatchEvent#entryEvent}} method throws an {{AssertionError}} if the event 
> contains multiple entries, but the exception does not contain any information 
> about these entries.



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


[jira] [Created] (IGNITE-21625) Improve WatchEvent assertion message

2024-02-28 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21625:


 Summary: Improve WatchEvent assertion message
 Key: IGNITE-21625
 URL: https://issues.apache.org/jira/browse/IGNITE-21625
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


{{WatchEvent#entryEvent}} method throws an {{AssertionError}} if the event 
contains multiple entries, but the exception does not contain any information 
about these entries.



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


[jira] [Updated] (IGNITE-21614) Incorrect BindException handling in ClientHandlerModule

2024-02-28 Thread Aleksandr Polovtcev (Jira)


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

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

> Incorrect BindException handling in ClientHandlerModule
> ---
>
> Key: IGNITE-21614
> URL: https://issues.apache.org/jira/browse/IGNITE-21614
> Project: Ignite
>  Issue Type: Bug
>  Components: networking
>Reporter: Philipp Shergalis
>Priority: Major
>
> [https://github.com/apache/ignite-3/blob/main/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java#L327]
>  
> Any bind exception is thrown as "PORT_IN_USE_ERR", although there could be a 
> problem with address



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


[jira] [Updated] (IGNITE-21614) Incorrect BindException handling in ClientHandlerModule

2024-02-28 Thread Aleksandr Polovtcev (Jira)


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

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

> Incorrect BindException handling in ClientHandlerModule
> ---
>
> Key: IGNITE-21614
> URL: https://issues.apache.org/jira/browse/IGNITE-21614
> Project: Ignite
>  Issue Type: Bug
>  Components: networking
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> [https://github.com/apache/ignite-3/blob/main/modules/client-handler/src/main/java/org/apache/ignite/client/handler/ClientHandlerModule.java#L327]
>  
> Any bind exception is thrown as "PORT_IN_USE_ERR", although there could be a 
> problem with address



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


[jira] [Updated] (IGNITE-21583) Implement API for dropping PageMemory indexes

2024-02-22 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21583:
-
Description: This task is identical to IGNITE-21574, but this time it 
should be implemented on the Page Memory's side.

> Implement API for dropping PageMemory indexes
> -
>
> Key: IGNITE-21583
> URL: https://issues.apache.org/jira/browse/IGNITE-21583
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> This task is identical to IGNITE-21574, but this time it should be 
> implemented on the Page Memory's side.



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


[jira] [Updated] (IGNITE-21590) Remove MvTableStorage#stop method

2024-02-22 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove MvTableStorage#stop method
> -
>
> Key: IGNITE-21590
> URL: https://issues.apache.org/jira/browse/IGNITE-21590
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This method is duplicated by the "close" method inherited from 
> "ManuallyCloseable"



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


[jira] [Updated] (IGNITE-21590) Remove MvTableStorage#stop method

2024-02-22 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove MvTableStorage#stop method
> -
>
> Key: IGNITE-21590
> URL: https://issues.apache.org/jira/browse/IGNITE-21590
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This method is duplicated by the "close" method inherited from 
> "ManuallyCloseable"



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


[jira] [Updated] (IGNITE-21590) Remove MvTableStorage#stop method

2024-02-22 Thread Aleksandr Polovtcev (Jira)


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

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

> Remove MvTableStorage#stop method
> -
>
> Key: IGNITE-21590
> URL: https://issues.apache.org/jira/browse/IGNITE-21590
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> This method is duplicated by the "close" method inherited from 
> "ManuallyCloseable"



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


[jira] [Updated] (IGNITE-21576) Unmute tests after index removal API is implemented

2024-02-22 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21576:
-
Description: I've disabled some tests with a link pointing to this ticket. 
These tests must be unmuted after IGNITE-21574 and IGNITE-21583 are fixed

> Unmute tests after index removal API is implemented
> ---
>
> Key: IGNITE-21576
> URL: https://issues.apache.org/jira/browse/IGNITE-21576
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> I've disabled some tests with a link pointing to this ticket. These tests 
> must be unmuted after IGNITE-21574 and IGNITE-21583 are fixed



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


[jira] [Updated] (IGNITE-21576) Unmute tests after index removal API is implemented

2024-02-22 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21576:
-
Summary: Unmute tests after index removal API is implemented  (was: Destroy 
index storages on Catalog compaction)

> Unmute tests after index removal API is implemented
> ---
>
> Key: IGNITE-21576
> URL: https://issues.apache.org/jira/browse/IGNITE-21576
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-21590) Remove MvTableStorage#stop method

2024-02-22 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21590:


 Summary: Remove MvTableStorage#stop method
 Key: IGNITE-21590
 URL: https://issues.apache.org/jira/browse/IGNITE-21590
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev


This method is duplicated by the "close" method inherited from 
"ManuallyCloseable"



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


[jira] [Updated] (IGNITE-17626) Add API for dropping indexes

2024-02-21 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-17626:
-
Reviewer: Kirill Tkalenko

> Add API for dropping indexes
> 
>
> Key: IGNITE-17626
> URL: https://issues.apache.org/jira/browse/IGNITE-17626
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We need to figure out how dropping sorted and hash indexes for all storages 
> should work. 
> At the moment we have 2 api synchronous and asynchronous, also for some 
> reason there is only a drop in the index hash but not for sorted.



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


[jira] [Updated] (IGNITE-21574) Implement API for dropping RocksDb indexes

2024-02-21 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21574:
-
Description: Implement destruction of all types of index storages for the 
RocksDb engine. See {{RocksDbTableStorage#destroyIndex(int)}}. 

> Implement API for dropping RocksDb indexes
> --
>
> Key: IGNITE-21574
> URL: https://issues.apache.org/jira/browse/IGNITE-21574
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> Implement destruction of all types of index storages for the RocksDb engine. 
> See {{RocksDbTableStorage#destroyIndex(int)}}. 



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


[jira] [Updated] (IGNITE-17626) Add API for dropping indexes

2024-02-21 Thread Aleksandr Polovtcev (Jira)


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

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

> Add API for dropping indexes
> 
>
> Key: IGNITE-17626
> URL: https://issues.apache.org/jira/browse/IGNITE-17626
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> We need to figure out how dropping sorted and hash indexes for all storages 
> should work. 
> At the moment we have 2 api synchronous and asynchronous, also for some 
> reason there is only a drop in the index hash but not for sorted.



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


[jira] [Created] (IGNITE-21583) Implement API for dropping PageMemory indexes

2024-02-21 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21583:


 Summary: Implement API for dropping PageMemory indexes
 Key: IGNITE-21583
 URL: https://issues.apache.org/jira/browse/IGNITE-21583
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21574) Implement API for dropping RocksDb indexes

2024-02-21 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21574:
-
Summary: Implement API for dropping RocksDb indexes  (was: Implement API 
for dropping indexes)

> Implement API for dropping RocksDb indexes
> --
>
> Key: IGNITE-21574
> URL: https://issues.apache.org/jira/browse/IGNITE-21574
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-21576) Destroy index storages on Catalog compaction

2024-02-20 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21576:


 Summary: Destroy index storages on Catalog compaction
 Key: IGNITE-21576
 URL: https://issues.apache.org/jira/browse/IGNITE-21576
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21575) Destroy index storages on rebalance

2024-02-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21575:
-
Epic Link: IGNITE-20782

> Destroy index storages on rebalance
> ---
>
> Key: IGNITE-21575
> URL: https://issues.apache.org/jira/browse/IGNITE-21575
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-21575) Destroy index storages on rebalance

2024-02-20 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21575:


 Summary: Destroy index storages on rebalance
 Key: IGNITE-21575
 URL: https://issues.apache.org/jira/browse/IGNITE-21575
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-21574) Implement API for dropping indexes

2024-02-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-21574:
-
Epic Link: IGNITE-20782

> Implement API for dropping indexes
> --
>
> Key: IGNITE-21574
> URL: https://issues.apache.org/jira/browse/IGNITE-21574
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Created] (IGNITE-21574) Implement API for dropping indexes

2024-02-20 Thread Aleksandr Polovtcev (Jira)
Aleksandr Polovtcev created IGNITE-21574:


 Summary: Implement API for dropping indexes
 Key: IGNITE-21574
 URL: https://issues.apache.org/jira/browse/IGNITE-21574
 Project: Ignite
  Issue Type: Improvement
Reporter: Aleksandr Polovtcev
Assignee: Aleksandr Polovtcev






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


[jira] [Updated] (IGNITE-17626) Add API for dropping indexes

2024-02-20 Thread Aleksandr Polovtcev (Jira)


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

Aleksandr Polovtcev updated IGNITE-17626:
-
Summary: Add API for dropping indexes  (was: Fix drop sorted and hash 
indices for all storages)

> Add API for dropping indexes
> 
>
> Key: IGNITE-17626
> URL: https://issues.apache.org/jira/browse/IGNITE-17626
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
>
> We need to figure out how dropping sorted and hash indexes for all storages 
> should work. 
> At the moment we have 2 api synchronous and asynchronous, also for some 
> reason there is only a drop in the index hash but not for sorted.



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


[jira] [Updated] (IGNITE-21573) Fix IDEA warnings in BplusTree

2024-02-20 Thread Aleksandr Polovtcev (Jira)


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

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

> Fix IDEA warnings in BplusTree
> --
>
> Key: IGNITE-21573
> URL: https://issues.apache.org/jira/browse/IGNITE-21573
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Aleksandr Polovtcev
>Assignee: Aleksandr Polovtcev
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>




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


  1   2   3   4   5   6   7   8   9   10   >