[jira] [Created] (IGNITE-22672) Fix default settings for aipersist

2024-07-08 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22672:
--

 Summary: Fix default settings for aipersist
 Key: IGNITE-22672
 URL: https://issues.apache.org/jira/browse/IGNITE-22672
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis


Checkpoints / compaction defaults are hardcoded to use 4 threads. For RocksDB 
as default value we use 
{code:java}
Runtime.getRuntime().availableProcessors() * 2{code}
Page size range is set to 1-16KB, let's check if it is necessary, why can't 
user define more than 16KB? Also, [~ktkale...@gridgain.com] pointed out that 
default was less than 16KB before, we should think once again what default size 
to use



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


[jira] [Updated] (IGNITE-22664) Write intensive aipersist checkpoints

2024-07-08 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22664:
---
Description: 
Inserting 1 million rows, resulting database after compaction takes around 
330MB on the disk. Still, delta files created in the process sum up to 3.3 
gigabytes (checked by disabling compaction code, 256 MB region size, 16KB page 
size), so checkpointing and compacting can't keep up with write-intensive 
scenarios. We should try to optimise amount of writing to disk

 

Also, RocksDB with 1 million rows used only 95MB of disk space

  was:
Inserting 1 million rows, resulting database after compaction takes around 
330MB on the disk. Still, delta files created in the process sum up to 3.3 
gigabytes (checked by commenting out compaction code, 256 MB region size), so 
checkpointing and compacting can't keep up with write-intensive scenarios. We 
should try to optimise amount of writing to disk

 

Also, RocksDB with 1 million rows used only 95MB of disk space


> Write intensive aipersist checkpoints
> -
>
> Key: IGNITE-22664
> URL: https://issues.apache.org/jira/browse/IGNITE-22664
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Inserting 1 million rows, resulting database after compaction takes around 
> 330MB on the disk. Still, delta files created in the process sum up to 3.3 
> gigabytes (checked by disabling compaction code, 256 MB region size, 16KB 
> page size), so checkpointing and compacting can't keep up with 
> write-intensive scenarios. We should try to optimise amount of writing to disk
>  
> Also, RocksDB with 1 million rows used only 95MB of disk space



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


[jira] [Updated] (IGNITE-22664) Write intensive aipersist checkpoints

2024-07-08 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22664:
---
Summary: Write intensive aipersist checkpoints  (was: Insanely memory 
consuming checkpoints in aipersist)

> Write intensive aipersist checkpoints
> -
>
> Key: IGNITE-22664
> URL: https://issues.apache.org/jira/browse/IGNITE-22664
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Inserting 1 million rows, resulting database after compaction takes around 
> 330MB on the disk. Still, delta files created in the process sum up to 3.3 
> gigabytes (checked by commenting out compaction code, 256 MB region size), so 
> checkpointing and compacting can't keep up with write-intensive scenarios. We 
> should try to optimise amount of writing to disk
>  
> Also, RocksDB with 1 million rows used only 95MB of disk space



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


[jira] [Updated] (IGNITE-22664) Insanely memory consuming checkpoints in aipersist

2024-07-08 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22664:
---
Description: 
Inserting 1 million rows, resulting database after compaction takes around 
330MB on the disk. Still, delta files created in the process sum up to 3.3 
gigabytes (checked by commenting out compaction code, 256 MB region size), so 
checkpointing and compacting can't keep up with write-intensive scenarios. We 
should try to optimise amount of writing to disk

 

Also, RocksDB with 1 million rows used only 95MB of disk space

  was:
Every page in persistent page memory delta file uses ~15-20 kilobytes (default 
settings).

 

Examples. Inserting via storageUpdateHandler. No indexes:
 - Inserting 1 row at a time,  doing checkpoint after every insertion. 
Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 144 
KB. 

 - Inserting million rows, every checkpoint with ~11000 pages creates delta 
files of ~180 megabytes

 

Also, after compaction one row uses ~300 bytes, while the same row in rocksDB 
uses ~100 bytes

 

Checkpoints / compaction are hardcoded to use 4 threads


> Insanely memory consuming checkpoints in aipersist
> --
>
> Key: IGNITE-22664
> URL: https://issues.apache.org/jira/browse/IGNITE-22664
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Inserting 1 million rows, resulting database after compaction takes around 
> 330MB on the disk. Still, delta files created in the process sum up to 3.3 
> gigabytes (checked by commenting out compaction code, 256 MB region size), so 
> checkpointing and compacting can't keep up with write-intensive scenarios. We 
> should try to optimise amount of writing to disk
>  
> Also, RocksDB with 1 million rows used only 95MB of disk space



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


[jira] [Created] (IGNITE-22667) Optimise RocksDB sorted indexes

2024-07-04 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22667:
--

 Summary: Optimise RocksDB sorted indexes
 Key: IGNITE-22667
 URL: https://issues.apache.org/jira/browse/IGNITE-22667
 Project: Ignite
  Issue Type: Improvement
  Components: persistence
Reporter: Philipp Shergalis


We should write comparator for RocksDB in C++, contact [~ibessonov] for 
references



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


[jira] [Updated] (IGNITE-22664) Insanely memory consuming checkpoints in aipersist

2024-07-04 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22664:
---
Description: 
Every page in persistent page memory delta file uses ~15-20 kilobytes (default 
settings).

 

Examples. Inserting via storageUpdateHandler. No indexes:
 - Inserting 1 row at a time,  doing checkpoint after every insertion. 
Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 144 
KB. 

 - Inserting million rows, every checkpoint with ~11000 pages creates delta 
files of ~180 megabytes

 

Also, after compaction one row uses ~300 bytes, while the same row in rocksDB 
uses ~100 bytes

 

Checkpoints / compaction are hardcoded to use 4 threads

  was:
Every page in persistent page memory delta file uses ~15-20 kilobytes.

 

Examples. Inserting via storageUpdateHandler. No indexes:
 - Inserting 1 row at a time,  doing checkpoint after every insertion. 
Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 144 
KB. 

 - Inserting million rows, every checkpoint with ~11000 pages creates delta 
files of ~180 megabytes

 

Also, after compaction one row uses ~300 bytes, while similar row in rocksDB 
uses ~100 bytes


> Insanely memory consuming checkpoints in aipersist
> --
>
> Key: IGNITE-22664
> URL: https://issues.apache.org/jira/browse/IGNITE-22664
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Every page in persistent page memory delta file uses ~15-20 kilobytes 
> (default settings).
>  
> Examples. Inserting via storageUpdateHandler. No indexes:
>  - Inserting 1 row at a time,  doing checkpoint after every insertion. 
> Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 
> 144 KB. 
>  - Inserting million rows, every checkpoint with ~11000 pages creates delta 
> files of ~180 megabytes
>  
> Also, after compaction one row uses ~300 bytes, while the same row in rocksDB 
> uses ~100 bytes
>  
> Checkpoints / compaction are hardcoded to use 4 threads



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


[jira] [Created] (IGNITE-22666) Long RocksDb engine.stop() after intensive writes

2024-07-04 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22666:
--

 Summary: Long RocksDb engine.stop() after intensive writes
 Key: IGNITE-22666
 URL: https://issues.apache.org/jira/browse/IGNITE-22666
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis


Seems like rocksdb waits for compaction to finish before stopping, so it takes 
10+ minutes after writing several million rows. In aipersist we skip compaction 
when node is stopping, I think we should add the same behaviour



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


[jira] [Updated] (IGNITE-22664) Insanely memory consuming checkpoints in aipersist

2024-07-04 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22664:
---
Description: 
Every page in persistent page memory delta file uses ~15-20 kilobytes.

 

Examples. Inserting via storageUpdateHandler. No indexes:
 - Inserting 1 row at a time,  doing checkpoint after every insertion. 
Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 144 
KB. 

 - Inserting million rows, every checkpoint with ~11000 pages creates delta 
files of ~180 megabytes

 

Also, after compaction one row uses ~300 bytes, while similar row in rocksDB 
uses ~100 bytes

  was:
Every page in persistent page memory delta file uses ~15-20 kilobytes.

 

Examples. Inserting via storageUpdateHandler. No indexes:

- Inserting 1 row at a time,  doing checkpoint after every insertion. 
Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 144 
KB. 

- Inserting million rows, every checkpoint with ~11000 pages creates delta 
files of ~180 megabytes

 


> Insanely memory consuming checkpoints in aipersist
> --
>
> Key: IGNITE-22664
> URL: https://issues.apache.org/jira/browse/IGNITE-22664
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Every page in persistent page memory delta file uses ~15-20 kilobytes.
>  
> Examples. Inserting via storageUpdateHandler. No indexes:
>  - Inserting 1 row at a time,  doing checkpoint after every insertion. 
> Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 
> 144 KB. 
>  - Inserting million rows, every checkpoint with ~11000 pages creates delta 
> files of ~180 megabytes
>  
> Also, after compaction one row uses ~300 bytes, while similar row in rocksDB 
> uses ~100 bytes



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


[jira] [Created] (IGNITE-22665) Optimise RocksDB settings and make them configurable

2024-07-04 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22665:
--

 Summary: Optimise RocksDB settings and make them configurable
 Key: IGNITE-22665
 URL: https://issues.apache.org/jira/browse/IGNITE-22665
 Project: Ignite
  Issue Type: Improvement
  Components: persistence
Reporter: Philipp Shergalis


Currently we configure DBOptions and column families settings in different 
places - SharedRocksDBInstanceCreator, RocksDbKeyValueStorage, 
DefaultLogStorageFactory, etc. Most of these settings are hardcoded, also some 
important configurations are omitted (i.e. shared instance creator doesn't 
configure max_background_jobs and max_write_buffer_number)



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


[jira] [Created] (IGNITE-22664) Insanely memory consuming checkpoints in aipersist

2024-07-04 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22664:
--

 Summary: Insanely memory consuming checkpoints in aipersist
 Key: IGNITE-22664
 URL: https://issues.apache.org/jira/browse/IGNITE-22664
 Project: Ignite
  Issue Type: Improvement
  Components: persistence
Reporter: Philipp Shergalis


Every page in persistent page memory delta file uses ~15-20 kilobytes.

 

Examples. Inserting via storageUpdateHandler. No indexes:

- Inserting 1 row at a time,  doing checkpoint after every insertion. 
Checkpoint saves 7 pages, pageSize is 1024, but delta file created uses up 144 
KB. 

- Inserting million rows, every checkpoint with ~11000 pages creates delta 
files of ~180 megabytes

 



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


[jira] [Assigned] (IGNITE-22385) Change Disaster recovery CLI / REST to declarative style

2024-06-21 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-22385:
--

Assignee: Philipp Shergalis

> Change Disaster recovery CLI / REST  to declarative style
> -
>
> Key: IGNITE-22385
> URL: https://issues.apache.org/jira/browse/IGNITE-22385
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> recovery restart-partitions -> partitions restart, partition-states -> 
> partition states, etc



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


[jira] [Created] (IGNITE-22505) Page memory meta pages are allocated without reuse

2024-06-14 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22505:
--

 Summary: Page memory meta pages are allocated without reuse  
 Key: IGNITE-22505
 URL: https://issues.apache.org/jira/browse/IGNITE-22505
 Project: Ignite
  Issue Type: Improvement
  Components: data structures
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


Currently we always allocate new page creating a new tree, thus leaking memory, 
instead of recycling page from reuseList



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


[jira] [Created] (IGNITE-22395) Remove assertions for paranoid leak detection property

2024-06-03 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22395:
--

 Summary: Remove assertions for paranoid leak detection property
 Key: IGNITE-22395
 URL: https://issues.apache.org/jira/browse/IGNITE-22395
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis






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


[jira] [Updated] (IGNITE-22387) Fix restart-partitions CLI unit tests

2024-05-31 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22387:
---
Epic Link: IGNITE-21140

> Fix restart-partitions CLI unit tests
> -
>
> Key: IGNITE-22387
> URL: https://issues.apache.org/jira/browse/IGNITE-22387
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Tests use hardcoded names of options, so failed after the change of 
> CLUSTER_URL_OPTION. Tests should use constants values instead of hardcode.



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


[jira] [Updated] (IGNITE-22387) Fix restart-partitions CLI unit tests

2024-05-31 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22387:
---
Labels: ignite-3  (was: )

> Fix restart-partitions CLI unit tests
> -
>
> Key: IGNITE-22387
> URL: https://issues.apache.org/jira/browse/IGNITE-22387
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Tests use hardcoded names of options, so failed after the change of 
> CLUSTER_URL_OPTION. Tests should use constants values instead of hardcode.



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


[jira] [Updated] (IGNITE-22387) Fix restart-partitions CLI unit tests

2024-05-31 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22387:
---
Description: Tests use hardcoded names of options, so failed after the 
change of CLUSTER_URL_OPTION. Tests should use constants values instead of 
hardcode.

> Fix restart-partitions CLI unit tests
> -
>
> Key: IGNITE-22387
> URL: https://issues.apache.org/jira/browse/IGNITE-22387
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> Tests use hardcoded names of options, so failed after the change of 
> CLUSTER_URL_OPTION. Tests should use constants values instead of hardcode.



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


[jira] [Created] (IGNITE-22387) Fix restart-partitions CLI unit tests

2024-05-31 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22387:
--

 Summary: Fix restart-partitions CLI unit tests
 Key: IGNITE-22387
 URL: https://issues.apache.org/jira/browse/IGNITE-22387
 Project: Ignite
  Issue Type: Improvement
  Components: cli
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis






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


[jira] [Created] (IGNITE-22385) Change Disaster recovery CLI / REST to declarative style

2024-05-30 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22385:
--

 Summary: Change Disaster recovery CLI / REST  to declarative style
 Key: IGNITE-22385
 URL: https://issues.apache.org/jira/browse/IGNITE-22385
 Project: Ignite
  Issue Type: Improvement
  Components: cli, rest
Reporter: Philipp Shergalis


recovery restart-partitions -> partitions restart, partition-states -> 
partition states, etc



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


[jira] [Updated] (IGNITE-22282) REST/CLI for disaster recovery: restart-partitions

2024-05-30 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22282:
---
Description: 
ignite recovery restart-partitions --nodes  --zone  --table 

[--partitions ]
--partitions - empty/missing means all partitions.
--table - temporary parameter, we will need to get rid of it after implementing 
the collocation of tables in one zone.

In target state we will also have option "purge", but logic for it is in backlog

  was:
ignite recovery restart-partitions --nodes  --zone  --table 

[--partitions ] [--purge]
--partitions - empty/missing means all partitions.
--table - temporary parameter, we will need to get rid of it after implementing 
the collocation of tables in one zone.

In target state we will also have option "purge", but logic for it is in backlog


> REST/CLI for disaster recovery: restart-partitions
> --
>
> Key: IGNITE-22282
> URL: https://issues.apache.org/jira/browse/IGNITE-22282
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> ignite recovery restart-partitions --nodes  --zone  
> --table 
> [--partitions ]
> --partitions - empty/missing means all partitions.
> --table - temporary parameter, we will need to get rid of it after 
> implementing the collocation of tables in one zone.
> In target state we will also have option "purge", but logic for it is in 
> backlog



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


[jira] [Updated] (IGNITE-22282) REST/CLI for disaster recovery: restart-partitions

2024-05-30 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22282:
---
Description: 
ignite recovery restart-partitions --nodes  --zone  --table 

[--partitions ] [--purge]
--partitions - empty/missing means all partitions.
--table - temporary parameter, we will need to get rid of it after implementing 
the collocation of tables in one zone.

In target state we will also have option "purge", but logic for it is in backlog

  was:
ignite recovery restart-partitions --nodes  --zone  --table 

[--partitions ] [--purge]
--partitions - empty/missing means all partitions.
--table - temporary parameter, we will need to get rid of it after implementing 
the collocation of tables in one zone.


> REST/CLI for disaster recovery: restart-partitions
> --
>
> Key: IGNITE-22282
> URL: https://issues.apache.org/jira/browse/IGNITE-22282
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> ignite recovery restart-partitions --nodes  --zone  
> --table 
> [--partitions ] [--purge]
> --partitions - empty/missing means all partitions.
> --table - temporary parameter, we will need to get rid of it after 
> implementing the collocation of tables in one zone.
> In target state we will also have option "purge", but logic for it is in 
> backlog



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


[jira] [Commented] (IGNITE-22371) Increase Netty IO buffer size

2024-05-29 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis commented on IGNITE-22371:


This patch looks good to me

> Increase Netty IO buffer size
> -
>
> Key: IGNITE-22371
> URL: https://issues.apache.org/jira/browse/IGNITE-22371
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Netty IO buffer size is 256 bytes by default. For messages that are much 
> longer than 256 bytes this causes a lot of roundtrips to write such a 
> message, which ruins performance for big messages.



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


[jira] [Created] (IGNITE-22346) CLI for disaster recovery: truncate-log-suffix

2024-05-27 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22346:
--

 Summary: CLI for disaster recovery: truncate-log-suffix
 Key: IGNITE-22346
 URL: https://issues.apache.org/jira/browse/IGNITE-22346
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis






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


[jira] [Created] (IGNITE-22338) Public Java API for Disaster recovery commands

2024-05-27 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22338:
--

 Summary: Public Java API for Disaster recovery commands
 Key: IGNITE-22338
 URL: https://issues.apache.org/jira/browse/IGNITE-22338
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis


Create public Java API for all public methods in DisasterRecoveryManager



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


[jira] [Created] (IGNITE-22332) Add test cases for DisasterRecovery#restartPartitions

2024-05-27 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22332:
--

 Summary: Add test cases for DisasterRecovery#restartPartitions
 Key: IGNITE-22332
 URL: https://issues.apache.org/jira/browse/IGNITE-22332
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis


Currently we have only one test case in ItDisasterRecoveryManagerTest



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


[jira] [Updated] (IGNITE-21257) REST API for viewing partition states

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21257:
---
Summary: REST API for viewing partition states  (was: Public Java API to 
get global partition states)

> REST API for viewing partition states
> -
>
> Key: IGNITE-21257
> URL: https://issues.apache.org/jira/browse/IGNITE-21257
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Ivan Bessonov
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 4h 20m
>  Remaining Estimate: 0h
>
> Please refer to https://issues.apache.org/jira/browse/IGNITE-21140 for the 
> list.
> We should use local partition states, implemented in IGNITE-21256, and 
> combine them in cluster-wide compute call, before returning to the user.



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 50m
>  Remaining Estimate: 0h
>
>  
> {code:java}
> ignite cluster partition-states --cluster-url  [--local [--nodes 
> ] | --global] [--zones ] [--partitions ]
> {code}
>  
> Output for local:
> |Zone name|Node name|Table name|Partition ID|State|
> |ZONE_NAME|node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Zone name|Table name|Partition ID|State|
> |ZONE_NAME|TABLE_NAME|1|HEALTHY|



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


[jira] [Updated] (IGNITE-21955) Support WAL sync for LogitLogStorage

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21955:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Support WAL sync for LogitLogStorage
> 
>
> Key: IGNITE-21955
> URL: https://issues.apache.org/jira/browse/IGNITE-21955
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Updated] (IGNITE-22007) Optimise Read-only index scan for RocksDB

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22007:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Optimise Read-only index scan for RocksDB 
> --
>
> Key: IGNITE-22007
> URL: https://issues.apache.org/jira/browse/IGNITE-22007
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> In IGNITE-21987 we added readOnlyScan method for SortedIndexStorage, but 
> RocksDB currently RocksDB uses default method, relying on read-write 
> implementation



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


[jira] [Updated] (IGNITE-21925) Customise string size in toString generation for network messages

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21925:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Customise string size in toString generation for network messages
> -
>
> Key: IGNITE-21925
> URL: https://issues.apache.org/jira/browse/IGNITE-21925
> Project: Ignite
>  Issue Type: Improvement
>  Components: networking
>Reporter: Philipp Shergalis
>Priority: Minor
>  Labels: ignite-3
>
> Currently
> IgniteToStringBuilder.toString gets lengths to trim resulting string and 
> arrays used from system properties. Finer tuning is desirable



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


[jira] [Updated] (IGNITE-22166) CLI for disaster recovery: reset-lost-partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22166:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> CLI for disaster recovery: reset-lost-partitions
> 
>
> Key: IGNITE-22166
> URL: https://issues.apache.org/jira/browse/IGNITE-22166
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> * ignite recovery reset-lost-partitions --zone  --table 
> [--partitions ]



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


[jira] [Updated] (IGNITE-21993) Move WAL sync under if statement

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21993:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Move WAL sync under if statement
> 
>
> Key: IGNITE-21993
> URL: https://issues.apache.org/jira/browse/IGNITE-21993
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Currently log is synced every time onFlushBegin is called -> multiple times 
> for one flush if there are multiple column families
> https://github.com/apache/ignite-3/blob/main/modules/rocksdb-common/src/main/java/org/apache/ignite/internal/rocksdb/flush/RocksDbFlushListener.java#L73



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


[jira] [Updated] (IGNITE-22309) Use name of the table instead of ID in IncompatibleSchemaException

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22309:
---
Ignite Flags:   (was: Docs Required,Release Notes Required)

> Use name of the table instead of ID in IncompatibleSchemaException
> --
>
> Key: IGNITE-22309
> URL: https://issues.apache.org/jira/browse/IGNITE-22309
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> There is a TODO in the code. If the table was already dropped since the 
> beginning of the operation, it's not trivial to get it's name. Nevertheless, 
> ID of the table is meaningless for a user.



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


[jira] [Resolved] (IGNITE-22258) REST API for restarting partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis resolved IGNITE-22258.

Resolution: Duplicate

> REST API for restarting partitions
> --
>
> Key: IGNITE-22258
> URL: https://issues.apache.org/jira/browse/IGNITE-22258
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
>
> We need to add a rest api to restart partitions.
> We can start after implementing IGNITE-21304 and IGNITE-22177.



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


[jira] [Updated] (IGNITE-22282) REST/CLI for disaster recovery: restart-partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22282:
---
Summary: REST/CLI for disaster recovery: restart-partitions  (was: CLI for 
disaster recovery: restart-partitions)

> REST/CLI for disaster recovery: restart-partitions
> --
>
> Key: IGNITE-22282
> URL: https://issues.apache.org/jira/browse/IGNITE-22282
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> ignite recovery restart-partitions --nodes  --zone  
> --table 
> [--partitions ] [--purge]
> --partitions - empty/missing means all partitions.
> --table - temporary parameter, we will need to get rid of it after 
> implementing the collocation of tables in one zone.



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


[jira] [Updated] (IGNITE-21647) Fix NettyServerTest flapping NullPointerException

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21647:
---
Component/s: networking

> Fix NettyServerTest flapping NullPointerException
> -
>
> Key: IGNITE-21647
> URL: https://issues.apache.org/jira/browse/IGNITE-21647
> Project: Ignite
>  Issue Type: Bug
>  Components: networking
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 0.5h
>  Remaining Estimate: 0h
>
> getServer passes null to NettyServer constructor as SerializationService, so 
> NettyServer.initChannel() fails
>  
> [https://github.com/apache/ignite-3/blob/2ed6eb6d55a0f781bd1e26a76b1eae36f9c97649/modules/network/src/test/java/org/apache/ignite/internal/network/netty/NettyServerTest.java#L293]
>  
> NettyServerTest > testBindWithAddress() STANDARD_OUT 
> [2024-03-01T11:22:11,086][INFO ][Test worker][NettyServerTest] >>> Stopping 
> test: NettyServerTest#testBindWithAddress, displayName: 
> testBindWithAddress(), cost: 68ms. [2024-03-01T11:22:11,018][INFO ][Test 
> worker][NettyServerTest] >>> Starting test: 
> NettyServerTest#testBindWithAddress, displayName: testBindWithAddress() 
> [2024-03-01T11:22:11,086][INFO ][Test worker][NettyServerTest] >>> Stopping 
> test: NettyServerTest#testBindWithAddress, displayName: 
> testBindWithAddress(), cost: 68ms. [2024-03-01T11:22:11,067][WARN 
> ][-srv-worker-1][ChannelInitializer] Failed to initialize a channel. Closing: 
> [id: 0xb65f7e7e, L:/127.0.0.7:47500 - R:/127.0.0.1:37544] 
> java.lang.NullPointerException: null at 
> org.apache.ignite.internal.network.serialization.PerSessionSerializationService.(PerSessionSerializationService.java:88)
>  ~[ignite-network-3.0.0-SNAPSHOT.jar:?] at 
> org.apache.ignite.internal.network.netty.NettyServer$1.initChannel(NettyServer.java:126)
>  ~[ignite-network-3.0.0-SNAPSHOT.jar:?] at 
> org.apache.ignite.internal.network.netty.NettyServer$1.initChannel(NettyServer.java:122)
>  ~[ignite-network-3.0.0-SNAPSHOT.jar:?] at 
> io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) 
> [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) 
> [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1130)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486)
>  [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
>  [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
>  [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
>  [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 
> [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
>  [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
> [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
>  [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
> java.base/java.lang.Thread.run(Thread.java:834) [?:?]

[jira] [Updated] (IGNITE-21955) Support WAL sync for LogitLogStorage

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21955:
---
Component/s: persistence

> Support WAL sync for LogitLogStorage
> 
>
> Key: IGNITE-21955
> URL: https://issues.apache.org/jira/browse/IGNITE-21955
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Updated] (IGNITE-21955) Support WAL sync for LogitLogStorage

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21955:
---
Summary: Support WAL sync for LogitLogStorage  (was: Support WAL sync in 
LogitLogStorageFactory)

> Support WAL sync for LogitLogStorage
> 
>
> Key: IGNITE-21955
> URL: https://issues.apache.org/jira/browse/IGNITE-21955
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>




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


[jira] [Updated] (IGNITE-21993) Move WAL sync under if statement

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21993:
---
Epic Link: IGNITE-21140

> Move WAL sync under if statement
> 
>
> Key: IGNITE-21993
> URL: https://issues.apache.org/jira/browse/IGNITE-21993
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Currently log is synced every time onFlushBegin is called -> multiple times 
> for one flush if there are multiple column families
> https://github.com/apache/ignite-3/blob/main/modules/rocksdb-common/src/main/java/org/apache/ignite/internal/rocksdb/flush/RocksDbFlushListener.java#L73



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


[jira] [Updated] (IGNITE-22282) CLI for disaster recovery: restart-partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22282:
---
Component/s: rest

> CLI for disaster recovery: restart-partitions
> -
>
> Key: IGNITE-22282
> URL: https://issues.apache.org/jira/browse/IGNITE-22282
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli, rest
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> ignite recovery restart-partitions --nodes  --zone  
> --table 
> [--partitions ] [--purge]
> --partitions - empty/missing means all partitions.
> --table - temporary parameter, we will need to get rid of it after 
> implementing the collocation of tables in one zone.



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


[jira] [Updated] (IGNITE-21993) Move WAL sync under if statement

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21993:
---
Component/s: persistence

> Move WAL sync under if statement
> 
>
> Key: IGNITE-21993
> URL: https://issues.apache.org/jira/browse/IGNITE-21993
> Project: Ignite
>  Issue Type: Bug
>  Components: persistence
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Currently log is synced every time onFlushBegin is called -> multiple times 
> for one flush if there are multiple column families
> https://github.com/apache/ignite-3/blob/main/modules/rocksdb-common/src/main/java/org/apache/ignite/internal/rocksdb/flush/RocksDbFlushListener.java#L73



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


[jira] [Updated] (IGNITE-22282) CLI for disaster recovery: restart-partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22282:
---
Component/s: cli

> CLI for disaster recovery: restart-partitions
> -
>
> Key: IGNITE-22282
> URL: https://issues.apache.org/jira/browse/IGNITE-22282
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 2h 20m
>  Remaining Estimate: 0h
>
> ignite recovery restart-partitions --nodes  --zone  
> --table 
> [--partitions ] [--purge]
> --partitions - empty/missing means all partitions.
> --table - temporary parameter, we will need to get rid of it after 
> implementing the collocation of tables in one zone.



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


[jira] [Updated] (IGNITE-22309) Use name of the table instead of ID in IncompatibleSchemaException

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22309:
---
Epic Link: IGNITE-20800

> Use name of the table instead of ID in IncompatibleSchemaException
> --
>
> Key: IGNITE-22309
> URL: https://issues.apache.org/jira/browse/IGNITE-22309
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> There is a TODO in the code. If the table was already dropped since the 
> beginning of the operation, it's not trivial to get it's name. Nevertheless, 
> ID of the table is meaningless for a user.



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


[jira] [Updated] (IGNITE-22166) CLI for disaster recovery: reset-lost-partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22166:
---
Component/s: cli

> CLI for disaster recovery: reset-lost-partitions
> 
>
> Key: IGNITE-22166
> URL: https://issues.apache.org/jira/browse/IGNITE-22166
> Project: Ignite
>  Issue Type: Improvement
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> * ignite recovery reset-lost-partitions --zone  --table 
> [--partitions ]



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


[jira] [Updated] (IGNITE-22166) CLI for disaster recovery: reset-lost-partitions

2024-05-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22166:
---
Epic Link: IGNITE-21140

> CLI for disaster recovery: reset-lost-partitions
> 
>
> Key: IGNITE-22166
> URL: https://issues.apache.org/jira/browse/IGNITE-22166
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> * ignite recovery reset-lost-partitions --zone  --table 
> [--partitions ]



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


[jira] [Updated] (IGNITE-20966) Improve error messages for schema change validation failures

2024-05-23 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-20966:
---
Reviewer: Roman Puchkovskiy  (was: Aleksandr Polovtsev)

> Improve error messages for schema change validation failures
> 
>
> Key: IGNITE-20966
> URL: https://issues.apache.org/jira/browse/IGNITE-20966
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> At least, 'Commit failed because schema %d is not forward-compatible with %d 
> for table %d' should be improved to make it useful for an end-user. We 
> shoiuld at least add table name to the message.
>  
> What was done:
> Final error contains descriptions of all failed validations, i.e.
> {quote}"Name of the table has been changed; Added nonnull columns without 
> default value: [NON_NULL_WITHOUT_DEFAULT_COL]; 
> Columns were dropped; Columns change validation failed: [TYPE_CHANGED_COL: 
> Type changed; 
> ADD_DEFAULT_COL: Default value changed; CHANGE_DEFAULT_COL: Default value 
> changed; DROP_DEFAULT_COL: Default value changed]"
> {quote}
> . Where it was trivial, changed tableID to table name - for the case when 
> table was already dropped created a new issue.



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


[jira] [Updated] (IGNITE-20966) Improve error messages for schema change validation failures

2024-05-23 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-20966:
---
Description: 
At least, 'Commit failed because schema %d is not forward-compatible with %d 
for table %d' should be improved to make it useful for an end-user. We shoiuld 
at least add table name to the message.

 

What was done:

Final error contains descriptions of all failed validations, i.e.
{quote}"Name of the table has been changed; Added nonnull columns without 
default value: [NON_NULL_WITHOUT_DEFAULT_COL]; 
Columns were dropped; Columns change validation failed: [TYPE_CHANGED_COL: Type 
changed; 
ADD_DEFAULT_COL: Default value changed; CHANGE_DEFAULT_COL: Default value 
changed; DROP_DEFAULT_COL: Default value changed]"
{quote}
. Where it was trivial, changed tableID to table name - for the case when table 
was already dropped created a new issue.

  was:At least, 'Commit failed because schema %d is not forward-compatible with 
%d for table %d' should be improved to make it useful for an end-user. We 
shoiuld at least add table name to the message.


> Improve error messages for schema change validation failures
> 
>
> Key: IGNITE-20966
> URL: https://issues.apache.org/jira/browse/IGNITE-20966
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> At least, 'Commit failed because schema %d is not forward-compatible with %d 
> for table %d' should be improved to make it useful for an end-user. We 
> shoiuld at least add table name to the message.
>  
> What was done:
> Final error contains descriptions of all failed validations, i.e.
> {quote}"Name of the table has been changed; Added nonnull columns without 
> default value: [NON_NULL_WITHOUT_DEFAULT_COL]; 
> Columns were dropped; Columns change validation failed: [TYPE_CHANGED_COL: 
> Type changed; 
> ADD_DEFAULT_COL: Default value changed; CHANGE_DEFAULT_COL: Default value 
> changed; DROP_DEFAULT_COL: Default value changed]"
> {quote}
> . Where it was trivial, changed tableID to table name - for the case when 
> table was already dropped created a new issue.



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


[jira] [Created] (IGNITE-22309) Use name of the table instead of ID in IncompatibleSchemaException

2024-05-23 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22309:
--

 Summary: Use name of the table instead of ID in 
IncompatibleSchemaException
 Key: IGNITE-22309
 URL: https://issues.apache.org/jira/browse/IGNITE-22309
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis


There is a TODO in the code. If the table was already dropped since the 
beginning of the operation, it's not trivial to get it's name. Nevertheless, ID 
of the table is meaningless for a user.



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


[jira] [Assigned] (IGNITE-17232) Optimization of DeltaFilePageStore: write new pages directly to FilePageStore

2024-05-22 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-17232:
--

Assignee: Philipp Shergalis

> Optimization of DeltaFilePageStore: write new pages directly to FilePageStore
> -
>
> Key: IGNITE-17232
> URL: https://issues.apache.org/jira/browse/IGNITE-17232
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> When creating *DelateFilePageStore* at checkpoint, we sort the list of all 
> dirty pages of the partition by *pageIdx*, write to disk the sorted list of 
> *pageIdx* (for *pageId -> pageIdx* binary lookup), the contents of the dirty 
> pages, and the current *pageIdx* of the page allocations.
> I propose to optimize this a bit. 
> In *DelateFilePageStore*, store only changes in existing pages, and write all 
> new pages immediately to *FilePageStore*, so we will reduce the work for the 
> compacter (it will need to write less to the main partition file) and the 
> sorted list of *pageIdx* will be smaller.
> Since the allocation index becomes logical (which is stored in the 
> *FilePageStore*) and depends on the first (newest) *DelateFilePageStore*, 
> then if the checkpoint is not completed, we will not lose or break anything 
> in the *FilePageStore* and on the new checkpoint we will write new pages on 
> over of those that we write on the unfinished previous checkpoint.



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


[jira] [Created] (IGNITE-22282) CLI for disaster recovery: restart-partitions

2024-05-20 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22282:
--

 Summary: CLI for disaster recovery: restart-partitions
 Key: IGNITE-22282
 URL: https://issues.apache.org/jira/browse/IGNITE-22282
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


ignite recovery restart-partitions --nodes  --zone  --table 

[--partitions ] [--purge]
--partitions - empty/missing means all partitions.
--table - temporary parameter, we will need to get rid of it after implementing 
the collocation of tables in one zone.



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


[jira] [Updated] (IGNITE-21295) REST API for manual raft group configuration update

2024-05-06 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21295:
---
Description: 
Implement REST API for IGNITE-21284

 

URL: "reset-partitions"

Body: nullable Collection partitionIds, not null zoneName, not null 
tableName (will remove later)

 

Collocation is not finished yet, so we have to specify table for the update. In 
target state user will specify only zone and partition ids

  was:
Implement public API for IGNITE-21284

 

Collocation is not finished yet, so we have to specify table for the update. In 
target state user will specify only zone and partition ids

 


> REST API for manual raft group configuration update
> ---
>
> Key: IGNITE-21295
> URL: https://issues.apache.org/jira/browse/IGNITE-21295
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Implement REST API for IGNITE-21284
>  
> URL: "reset-partitions"
> Body: nullable Collection partitionIds, not null zoneName, not null 
> tableName (will remove later)
>  
> Collocation is not finished yet, so we have to specify table for the update. 
> In target state user will specify only zone and partition ids



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


[jira] [Updated] (IGNITE-21295) REST API for manual raft group configuration update

2024-05-06 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21295:
---
Summary: REST API for manual raft group configuration update  (was: Public 
Java API for manual raft group configuration update)

> REST API for manual raft group configuration update
> ---
>
> Key: IGNITE-21295
> URL: https://issues.apache.org/jira/browse/IGNITE-21295
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 1h 10m
>  Remaining Estimate: 0h
>
> Implement public API for IGNITE-21284
>  
> Collocation is not finished yet, so we have to specify table for the update. 
> In target state user will specify only zone and partition ids
>  



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


[jira] [Updated] (IGNITE-21295) Public Java API for manual raft group configuration update

2024-05-06 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21295:
---
Description: 
Implement public API for IGNITE-21284

 

Collocation is not finished yet, so we have to specify table for the update. In 
target state user will specify only zone and partition ids

 

  was:
Implement public API for IGNITE-21284

 

Collocation is not finished yet, so we have to specify table for the update. In 
target state user will specify only zone and partition ids


> Public Java API for manual raft group configuration update
> --
>
> Key: IGNITE-21295
> URL: https://issues.apache.org/jira/browse/IGNITE-21295
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement public API for IGNITE-21284
>  
> Collocation is not finished yet, so we have to specify table for the update. 
> In target state user will specify only zone and partition ids
>  



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


[jira] [Updated] (IGNITE-21298) CLI for disaster recovery commands

2024-05-06 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21298:
---
Description: 
Names might change.
 * ignite recovery restart-partitions --nodes  [--zones ]
[--partitions ] [--purge]

 * ignite recovery reset-partitions --zone  --table 
[--partitions ]

 * ignite recovery truncate-log-suffix --zone  --partition 
 --index 

 * ignite recovery partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ]

  was:
Names might change.
 * ignite recovery restart-partitions --nodes  [--zones ]
[--partitions ] [--purge]

 * ignite recovery reset-lost-partitions --zone  --table 
[--partitions ]

 * ignite recovery truncate-log-suffix --zone  --partition 
 --index 

 * ignite recovery partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ]


> CLI for disaster recovery commands
> --
>
> Key: IGNITE-21298
> URL: https://issues.apache.org/jira/browse/IGNITE-21298
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Names might change.
>  * ignite recovery restart-partitions --nodes  [--zones ]
> [--partitions ] [--purge]
>  * ignite recovery reset-partitions --zone  --table 
> [--partitions ]
>  * ignite recovery truncate-log-suffix --zone  --partition 
>  --index 
>  * ignite recovery partition-states [--local [--nodes ] | --global] 
> [--zones ] [--partitions ]



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


[jira] [Updated] (IGNITE-21295) Public Java API for manual raft group configuration update

2024-05-06 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21295:
---
Description: 
Implement public API for IGNITE-21284

 

Collocation is not finished yet, so we have to specify table for the update. In 
target state user will specify only zone and partition ids

  was:Implement public API for IGNITE-21284


> Public Java API for manual raft group configuration update
> --
>
> Key: IGNITE-21295
> URL: https://issues.apache.org/jira/browse/IGNITE-21295
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Implement public API for IGNITE-21284
>  
> Collocation is not finished yet, so we have to specify table for the update. 
> In target state user will specify only zone and partition ids



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


[jira] [Updated] (IGNITE-21298) CLI for disaster recovery commands

2024-05-04 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21298:
---
Description: 
Names might change.
 * ignite recovery restart-partitions --nodes  [--zones ]
[--partitions ] [--purge]

 * ignite recovery reset-lost-partitions --zone  --table 
[--partitions ]

 * ignite recovery truncate-log-suffix --zone  --partition 
 --index 

 * ignite recovery partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ]

  was:
Names might change.
 * ignite restart-partitions --nodes  [--zones ]
[--partitions ] [--purge]


 * ignite reset-lost-partitions [--zones ]
[--partitions ]


 * ignite truncate-log-suffix --zone  --partition  
--index 


 * ignite partition-states [--local [--nodes ] | --global] [--zones 
] [--partitions ]


> CLI for disaster recovery commands
> --
>
> Key: IGNITE-21298
> URL: https://issues.apache.org/jira/browse/IGNITE-21298
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Names might change.
>  * ignite recovery restart-partitions --nodes  [--zones ]
> [--partitions ] [--purge]
>  * ignite recovery reset-lost-partitions --zone  --table 
> [--partitions ]
>  * ignite recovery truncate-log-suffix --zone  --partition 
>  --index 
>  * ignite recovery partition-states [--local [--nodes ] | --global] 
> [--zones ] [--partitions ]



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


[jira] [Created] (IGNITE-22166) CLI for disaster recovery: reset-lost-partitions

2024-05-04 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22166:
--

 Summary: CLI for disaster recovery: reset-lost-partitions
 Key: IGNITE-22166
 URL: https://issues.apache.org/jira/browse/IGNITE-22166
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


* ignite recovery reset-lost-partitions --zone  --table 
[--partitions ]



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-26 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Description: 
 
{code:java}
ignite cluster partition-states --cluster-url  [--local [--nodes 
] | --global] [--zones ] [--partitions ]
{code}
 

Output for local:
|Zone name|Node name|Table name|Partition ID|State|
|ZONE_NAME|node_name|TABLE_NAME|1|HEALTHY|

 

For global:
|Zone name|Table name|Partition ID|State|
|ZONE_NAME|TABLE_NAME|1|HEALTHY|

  was:
 
{code:java}
ignite cluster partition-states --cluster-url  [--local [--nodes 
] | --global] [--zones ] [--partitions ] 
[--plain] 
{code}
 

Output for local:
|Node name|Table name|Partition ID|State|
|node_name|TABLE_NAME|1|HEALTHY|

 

For global:
|Table name|Partition ID|State|
|TABLE_NAME|1|HEALTHY|


> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
>  
> {code:java}
> ignite cluster partition-states --cluster-url  [--local [--nodes 
> ] | --global] [--zones ] [--partitions ]
> {code}
>  
> Output for local:
> |Zone name|Node name|Table name|Partition ID|State|
> |ZONE_NAME|node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Zone name|Table name|Partition ID|State|
> |ZONE_NAME|TABLE_NAME|1|HEALTHY|



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-26 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Component/s: cli

> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Task
>  Components: cli
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
>  
> {code:java}
> ignite cluster partition-states --cluster-url  [--local [--nodes 
> ] | --global] [--zones ] [--partitions ] 
> [--plain] 
> {code}
>  
> Output for local:
> |Node name|Table name|Partition ID|State|
> |node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Table name|Partition ID|State|
> |TABLE_NAME|1|HEALTHY|



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


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

2024-04-26 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22121:
--

 Summary: Change parameters to disaster recovery partition states 
api
 Key: IGNITE-22121
 URL: https://issues.apache.org/jira/browse/IGNITE-22121
 Project: Ignite
  Issue Type: Improvement
  Components: rest
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


For getLocalPartitionStates/getGlobalPartitionStates add partitionIds and 
nodeNames as parameters, replace zoneName with zoneNames



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-25 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Description: 
 
{code:java}
ignite cluster partition-states --cluster-url  [--local [--nodes 
] | --global] [--zones ] [--partitions ] 
[--plain] 
{code}
 

Output for local:
|Node name|Table name|Partition ID|State|
|node_name|TABLE_NAME|1|HEALTHY|

 

For global:
|Table name|Partition ID|State|
|TABLE_NAME|1|HEALTHY|

  was:
 
{code:java}
ignite cluster partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ] [--plain] 
{code}
 

Output for local:
|Node name|Table name|Partition ID|State|
|node_name|TABLE_NAME|1|HEALTHY|

 

For global:
|Table name|Partition ID|State|
|TABLE_NAME|1|HEALTHY|


> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Task
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
>  
> {code:java}
> ignite cluster partition-states --cluster-url  [--local [--nodes 
> ] | --global] [--zones ] [--partitions ] 
> [--plain] 
> {code}
>  
> Output for local:
> |Node name|Table name|Partition ID|State|
> |node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Table name|Partition ID|State|
> |TABLE_NAME|1|HEALTHY|



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-25 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Epic Link: IGNITE-21140

> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Task
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
>  
> {code:java}
> ignite cluster partition-states [--local [--nodes ] | --global] 
> [--zones ] [--partitions ] [--plain] 
> {code}
>  
> Output for local:
> |Node name|Table name|Partition ID|State|
> |node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Table name|Partition ID|State|
> |TABLE_NAME|1|HEALTHY|



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-25 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Parent: (was: IGNITE-21298)
Issue Type: Task  (was: Sub-task)

> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Task
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
>  
> {code:java}
> ignite cluster partition-states [--local [--nodes ] | --global] 
> [--zones ] [--partitions ] [--plain] 
> {code}
>  
> Output for local:
> |Node name|Table name|Partition ID|State|
> |node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Table name|Partition ID|State|
> |TABLE_NAME|1|HEALTHY|



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-25 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Description: 
 
{code:java}
ignite cluster partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ] [--plain] 
{code}
 

Output for local:
|Node name|Table name|Partition ID|State|
|node_name|TABLE_NAME|1|HEALTHY|

 

For global:
|Table name|Partition ID|State|
|TABLE_NAME|1|HEALTHY|

  was:
 
{code:java}
ignite cluster partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ] [--plain] 
{code}
 

Output for local:
| |Node name|Table name|Partition ID|State| | |
| |node_name|TABLE_NAME|1|HEALTHY| | |

 

For global:
| |Table name|Partition ID|State| | |
| |TABLE_NAME|1|HEALTHY| | |


> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
>  
> {code:java}
> ignite cluster partition-states [--local [--nodes ] | --global] 
> [--zones ] [--partitions ] [--plain] 
> {code}
>  
> Output for local:
> |Node name|Table name|Partition ID|State|
> |node_name|TABLE_NAME|1|HEALTHY|
>  
> For global:
> |Table name|Partition ID|State|
> |TABLE_NAME|1|HEALTHY|



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


[jira] [Updated] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-25 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-22091:
---
Description: 
 
{code:java}
ignite cluster partition-states [--local [--nodes ] | --global] 
[--zones ] [--partitions ] [--plain] 
{code}
 

Output for local:
| |Node name|Table name|Partition ID|State| | |
| |node_name|TABLE_NAME|1|HEALTHY| | |

 

For global:
| |Table name|Partition ID|State| | |
| |TABLE_NAME|1|HEALTHY| | |

  was:ignite partition-states [--local [--nodes ] | --global] [--zones 
] [--partitions ]


> CLI for disaster recovery: partition states
> ---
>
> Key: IGNITE-22091
> URL: https://issues.apache.org/jira/browse/IGNITE-22091
> Project: Ignite
>  Issue Type: Sub-task
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
>  
> {code:java}
> ignite cluster partition-states [--local [--nodes ] | --global] 
> [--zones ] [--partitions ] [--plain] 
> {code}
>  
> Output for local:
> | |Node name|Table name|Partition ID|State| | |
> | |node_name|TABLE_NAME|1|HEALTHY| | |
>  
> For global:
> | |Table name|Partition ID|State| | |
> | |TABLE_NAME|1|HEALTHY| | |



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


[jira] [Created] (IGNITE-22091) CLI for disaster recovery: partition states

2024-04-23 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22091:
--

 Summary: CLI for disaster recovery: partition states
 Key: IGNITE-22091
 URL: https://issues.apache.org/jira/browse/IGNITE-22091
 Project: Ignite
  Issue Type: Sub-task
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


ignite partition-states [--local [--nodes ] | --global] [--zones 
] [--partitions ]



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


[jira] [Assigned] (IGNITE-21902) Add an option to configure log storage path

2024-04-11 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21902:
--

Assignee: Philipp Shergalis

> Add an option to configure log storage path
> ---
>
> Key: IGNITE-21902
> URL: https://issues.apache.org/jira/browse/IGNITE-21902
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> Option to store log and data on separate devices can substantially improve 
> the performance in a long run for many users, we should implement it.
> There is such an option in Ignite 2, and people use it all the time.



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


[jira] [Resolved] (IGNITE-22007) Optimise Read-only index scan for RocksDB

2024-04-11 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis resolved IGNITE-22007.

Resolution: Duplicate

h1. Added in IGNITE-21987

> Optimise Read-only index scan for RocksDB 
> --
>
> Key: IGNITE-22007
> URL: https://issues.apache.org/jira/browse/IGNITE-22007
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> In IGNITE-21987 we added readOnlyScan method for SortedIndexStorage, but 
> RocksDB currently RocksDB uses default method, relying on read-write 
> implementation



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


[jira] [Closed] (IGNITE-22007) Optimise Read-only index scan for RocksDB

2024-04-11 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis closed IGNITE-22007.
--

> Optimise Read-only index scan for RocksDB 
> --
>
> Key: IGNITE-22007
> URL: https://issues.apache.org/jira/browse/IGNITE-22007
> Project: Ignite
>  Issue Type: Improvement
>  Components: persistence
>Reporter: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> In IGNITE-21987 we added readOnlyScan method for SortedIndexStorage, but 
> RocksDB currently RocksDB uses default method, relying on read-write 
> implementation



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


[jira] [Created] (IGNITE-22007) Optimise Read-only index scan for RocksDB

2024-04-08 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-22007:
--

 Summary: Optimise Read-only index scan for RocksDB 
 Key: IGNITE-22007
 URL: https://issues.apache.org/jira/browse/IGNITE-22007
 Project: Ignite
  Issue Type: Improvement
  Components: persistence
Reporter: Philipp Shergalis


In IGNITE-21987 we added readOnlyScan method for SortedIndexStorage, but 
RocksDB currently RocksDB uses default method, relying on read-write 
implementation



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


[jira] [Created] (IGNITE-21993) Move WAL sync under if statement

2024-04-05 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-21993:
--

 Summary: Move WAL sync under if statement
 Key: IGNITE-21993
 URL: https://issues.apache.org/jira/browse/IGNITE-21993
 Project: Ignite
  Issue Type: Bug
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


Currently log is synced every time onFlushBegin is called -> multiple times for 
one flush if there are multiple column families

https://github.com/apache/ignite-3/blob/main/modules/rocksdb-common/src/main/java/org/apache/ignite/internal/rocksdb/flush/RocksDbFlushListener.java#L73



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


[jira] [Assigned] (IGNITE-21987) Optimize RO scan in sorted indexes

2024-04-04 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21987:
--

Assignee: Philipp Shergalis

> Optimize RO scan in sorted indexes
> --
>
> Key: IGNITE-21987
> URL: https://issues.apache.org/jira/browse/IGNITE-21987
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> This issue applies to aimem/aipersist primarily. Optimization for rocksdb 
> might be done separately.
>  * add new method to SortedIndexStorage, like "readOnlyScan", that returns a 
> simple cursor
>  * in the implementation we should use alternative cursor implementation for 
> RO scans - it should delegate calls to B+Tree cursor
>  * reuse existing tests where possible
>  * call new method where necessary (PartitionReplicaListener#scanSortedIndex)
> IMPORTANT: we should throw an exception if somebody scans an index and 
> IndexStorage#getNextRowIdToBuild is not null. It should be a new error, like 
> "IndexNotBuiltException"



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


[jira] [Created] (IGNITE-21955) Support WAL sync in LogitLogStorageFactory

2024-04-03 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-21955:
--

 Summary: Support WAL sync in LogitLogStorageFactory
 Key: IGNITE-21955
 URL: https://issues.apache.org/jira/browse/IGNITE-21955
 Project: Ignite
  Issue Type: Improvement
Reporter: Philipp Shergalis






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


[jira] [Updated] (IGNITE-21925) Customise string size in toString generation for network messages

2024-04-03 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21925:
---
Description: 
Currently
IgniteToStringBuilder.toString gets lengths to trim resulting string and arrays 
used from system properties. Finer tuning is desirable

> Customise string size in toString generation for network messages
> -
>
> Key: IGNITE-21925
> URL: https://issues.apache.org/jira/browse/IGNITE-21925
> Project: Ignite
>  Issue Type: Improvement
>  Components: networking
>Reporter: Philipp Shergalis
>Priority: Minor
>  Labels: ignite-3
>
> Currently
> IgniteToStringBuilder.toString gets lengths to trim resulting string and 
> arrays used from system properties. Finer tuning is desirable



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


[jira] [Created] (IGNITE-21925) Customise string size in toString generation for network messages

2024-04-03 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-21925:
--

 Summary: Customise string size in toString generation for network 
messages
 Key: IGNITE-21925
 URL: https://issues.apache.org/jira/browse/IGNITE-21925
 Project: Ignite
  Issue Type: Improvement
  Components: networking
Reporter: Philipp Shergalis






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


[jira] [Assigned] (IGNITE-21301) Sync raft log before flush in all storage engines

2024-04-01 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21301:
--

Assignee: Philipp Shergalis

> Sync raft log before flush in all storage engines
> -
>
> Key: IGNITE-21301
> URL: https://issues.apache.org/jira/browse/IGNITE-21301
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> Checkpoints and RocsDB's flush actions should sync log before completing 
> writing data to disk, if "fsync" is disabled



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


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

2024-03-29 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis commented on IGNITE-17591:


S.toString already trims big arrays (retaining first 100 elements) and huge 
strings (leaving only 1 symbols, head and tail). So adding only possibility 
to hide sensitive info

> 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
>  Time Spent: 10m
>  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] [Assigned] (IGNITE-21005) Deal with choosing of indexes during garbage collection in MvPartitionStorage

2024-03-28 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21005:
--

Assignee: (was: Philipp Shergalis)

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



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


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

2024-03-28 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-17591:
--

Assignee: Philipp Shergalis

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



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


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

2024-03-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21005:
--

Assignee: Philipp Shergalis

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



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


[jira] [Assigned] (IGNITE-21588) CMG commands idempotency is broken

2024-03-25 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21588:
--

Assignee: Kirill Tkalenko  (was: Philipp Shergalis)

> CMG commands idempotency is broken
> --
>
> Key: IGNITE-21588
> URL: https://issues.apache.org/jira/browse/IGNITE-21588
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Bessonov
>Assignee: Kirill Tkalenko
>Priority: Major
>  Labels: ignite-3
>
> When handling commands like {{JoinReadyCommand}} and {{NodesLeaveCommand}} we 
> do the following:
>  * Read local state with {{{}readLogicalTopology(){}}}.
>  * Modify state according to the command.
>  * {*}Increase version{*}.
>  * Write new state with {{{}saveSnapshotToStorage(snapshot){}}}.
> The problem lies in reading and writing of the state - it' local, and version 
> value is not replicated.
> What happens when we restart the node:
>  * It starts without local storage snapshot, with appliedIndex == 0, which is 
> a {*}state in the past{*}.
>  * We apply commands that were already applied before restart.
>  * We apply these commands to locally saved topology snapshot.
>  * This logical topology snapshot has a *state in the future* when compared 
> to appliedIndex == 0.
>  * As a result, when we re-apply some commands, we *increase the version* one 
> more time, thus breaking data consistency between nodes.
> This would have been fine if we only used this version locally. But 
> distribution zones rely on the consistency of the version between all nodes 
> in cluster. This might break DZ data nodes handling if any of the cluster 
> nodes restarts.
> How to fix:
>  * Either drop the storage if there's no storage snapshot, this will restore 
> consistency
>  * or never start CMG group from a snapshot, but rather start it from the 
> latest storage data.



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


[jira] [Assigned] (IGNITE-21588) CMG commands idempotency is broken

2024-03-22 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21588:
--

Assignee: Philipp Shergalis

> CMG commands idempotency is broken
> --
>
> Key: IGNITE-21588
> URL: https://issues.apache.org/jira/browse/IGNITE-21588
> Project: Ignite
>  Issue Type: Bug
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> When handling commands like {{JoinReadyCommand}} and {{NodesLeaveCommand}} we 
> do the following:
>  * Read local state with {{{}readLogicalTopology(){}}}.
>  * Modify state according to the command.
>  * {*}Increase version{*}.
>  * Write new state with {{{}saveSnapshotToStorage(snapshot){}}}.
> The problem lies in reading and writing of the state - it' local, and version 
> value is not replicated.
> What happens when we restart the node:
>  * It starts without local storage snapshot, with appliedIndex == 0, which is 
> a {*}state in the past{*}.
>  * We apply commands that were already applied before restart.
>  * We apply these commands to locally saved topology snapshot.
>  * This logical topology snapshot has a *state in the future* when compared 
> to appliedIndex == 0.
>  * As a result, when we re-apply some commands, we *increase the version* one 
> more time, thus breaking data consistency between nodes.
> This would have been fine if we only used this version locally. But 
> distribution zones rely on the consistency of the version between all nodes 
> in cluster. This might break DZ data nodes handling if any of the cluster 
> nodes restarts.
> How to fix:
>  * Either drop the storage if there's no storage snapshot, this will restore 
> consistency
>  * or never start CMG group from a snapshot, but rather start it from the 
> latest storage data.



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


[jira] [Assigned] (IGNITE-21474) Add a system view to show index history

2024-03-07 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21474:
--

Assignee: Roman Puchkovskiy

> Add a system view to show index history
> ---
>
> Key: IGNITE-21474
> URL: https://issues.apache.org/jira/browse/IGNITE-21474
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Roman Puchkovskiy
>Priority: Major
>  Labels: ignite-3
>
> The view should display an entry per index history item per index:
>  # Index ID
>  # Index name
>  # Index state corresponding to the history item 
> (REGISTERED/BUILDING/AVAILABLE, or maybe WRITE_ONLY/AVAILABLE (where 
> WRITE_ONLY combines REGISTERED and BUILDING)
> This has to be refined.



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


[jira] [Updated] (IGNITE-21647) Fix NettyServerTest flapping NullPointerException

2024-03-01 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21647:
---
Description: 
getServer passes null to NettyServer constructor as SerializationService, so 
NettyServer.initChannel() fails

 

[https://github.com/apache/ignite-3/blob/2ed6eb6d55a0f781bd1e26a76b1eae36f9c97649/modules/network/src/test/java/org/apache/ignite/internal/network/netty/NettyServerTest.java#L293]

 

NettyServerTest > testBindWithAddress() STANDARD_OUT 
[2024-03-01T11:22:11,086][INFO ][Test worker][NettyServerTest] >>> Stopping 
test: NettyServerTest#testBindWithAddress, displayName: testBindWithAddress(), 
cost: 68ms. [2024-03-01T11:22:11,018][INFO ][Test worker][NettyServerTest] >>> 
Starting test: NettyServerTest#testBindWithAddress, displayName: 
testBindWithAddress() [2024-03-01T11:22:11,086][INFO ][Test 
worker][NettyServerTest] >>> Stopping test: 
NettyServerTest#testBindWithAddress, displayName: testBindWithAddress(), cost: 
68ms. [2024-03-01T11:22:11,067][WARN ][-srv-worker-1][ChannelInitializer] 
Failed to initialize a channel. Closing: [id: 0xb65f7e7e, L:/127.0.0.7:47500 - 
R:/127.0.0.1:37544] java.lang.NullPointerException: null at 
org.apache.ignite.internal.network.serialization.PerSessionSerializationService.(PerSessionSerializationService.java:88)
 ~[ignite-network-3.0.0-SNAPSHOT.jar:?] at 
org.apache.ignite.internal.network.netty.NettyServer$1.initChannel(NettyServer.java:126)
 ~[ignite-network-3.0.0-SNAPSHOT.jar:?] at 
org.apache.ignite.internal.network.netty.NettyServer$1.initChannel(NettyServer.java:122)
 ~[ignite-network-3.0.0-SNAPSHOT.jar:?] at 
io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) 
[netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) 
[netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1130)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429)
 [netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486) 
[netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
 [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
 [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
 [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) 
[netty-transport-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
 [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) 
[netty-common-4.1.107.Final.jar:4.1.107.Final] at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
 [netty-common-4.1.107.Final.jar:4.1.107.Final] at 
java.base/java.lang.Thread.run(Thread.java:834) [?:?]

  was:
getServer passes null to NettyServer constructor as SerializationService

 

https://github.com/apache/ignite-3/blob/2ed6eb6d55a0f781bd1e26a76b1eae36f9c97649/modules/network/src/test/java/org/apache/ignite/internal/network/netty/NettyServerTest.java#L293


> Fix NettyServerTest flapping NullPointerException
> -
>
> Key: IGNITE-21647
> URL: https://issues.apache.org/jira/browse/IGNITE-21647
> Project: Ignite
>  Issue Type: Bug
>Reporter: Philipp Shergalis
>Assignee: Philipp Shergalis
>Priority: Major
>
> getServer passes 

[jira] [Created] (IGNITE-21647) Fix NettyServerTest flapping NullPointerException

2024-03-01 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-21647:
--

 Summary: Fix NettyServerTest flapping NullPointerException
 Key: IGNITE-21647
 URL: https://issues.apache.org/jira/browse/IGNITE-21647
 Project: Ignite
  Issue Type: Bug
Reporter: Philipp Shergalis
Assignee: Philipp Shergalis


getServer passes null to NettyServer constructor as SerializationService

 

https://github.com/apache/ignite-3/blob/2ed6eb6d55a0f781bd1e26a76b1eae36f9c97649/modules/network/src/test/java/org/apache/ignite/internal/network/netty/NettyServerTest.java#L293



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


[jira] [Updated] (IGNITE-21437) Add listenAddress configuration setting

2024-02-29 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis updated IGNITE-21437:
---
Summary: Add listenAddress configuration setting  (was: Add bindHost 
configuration setting)

> Add listenAddress configuration setting
> ---
>
> Key: IGNITE-21437
> URL: https://issues.apache.org/jira/browse/IGNITE-21437
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 40m
>  Remaining Estimate: 0h
>
> Currently, we do not choose any specific interface when binding, so we bind 
> to all interfaces.
> bindHost (we should think whether this is the best name and choose another if 
> not) should be added to NetworkConfigurationSchema to allow to choose a local 
> interface to which to bind.



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


[jira] [Commented] (IGNITE-21437) Add bindHost configuration setting

2024-02-27 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis commented on IGNITE-21437:


https://github.com/apache/ignite-3/pull/3297

> Add bindHost configuration setting
> --
>
> Key: IGNITE-21437
> URL: https://issues.apache.org/jira/browse/IGNITE-21437
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Roman Puchkovskiy
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> Currently, we do not choose any specific interface when binding, so we bind 
> to all interfaces.
> bindHost (we should think whether this is the best name and choose another if 
> not) should be added to NetworkConfigurationSchema to allow to choose a local 
> interface to which to bind.



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


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

2024-02-27 Thread Philipp Shergalis (Jira)
Philipp Shergalis created IGNITE-21614:
--

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


[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] [Assigned] (IGNITE-20067) Optimize "StorageUpdateHandler#handleUpdateAll"

2024-01-23 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-20067:
--

Assignee: Philipp Shergalis

> Optimize "StorageUpdateHandler#handleUpdateAll"
> ---
>
> Key: IGNITE-20067
> URL: https://issues.apache.org/jira/browse/IGNITE-20067
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Ivan Bessonov
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
>
> In current implementation, the size of a single batch inside of the 
> "runConsistently" is unpredictable, because the collection of rows is 
> received from the message.
> Generally speaking, it's a good idea to make the scope of single 
> "runConsistently" smaller - it would lead to faster work in all storage 
> engines:
>  * for rocksdb, write batches would become smaller;
>  * for page memory, spikes on checkpoint would become smaller.
> There are two criteria that we could use:
>  * number of rows stored;
>  * cumulative number of inserted bytes.
> Raft does the same approximation when batching log records, for example. This 
> should not affect the data consistency, because updateAll itself is 
> idempotent by its nature



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


[jira] [Commented] (IGNITE-21328) Fix logging in LowWatermark#start when there is no low watermark in vault

2024-01-22 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis commented on IGNITE-21328:


https://github.com/apache/ignite-3/pull/3073

> Fix logging in LowWatermark#start when there is no low watermark in vault
> -
>
> Key: IGNITE-21328
> URL: https://issues.apache.org/jira/browse/IGNITE-21328
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>  Time Spent: 10m
>  Remaining Estimate: 0h
>
> When starting a node, there is confusing logging at 
> *org.apache.ignite.internal.table.distributed.LowWatermark#start* in the 
> absence of a low watermark in the vault.
> Example message *Low watermark has been successfully got from the vault and 
> is scheduled to be updated: null* it needs to be changed to something like 
> "Previous value of the low watermark was not found, will schedule to update 
> it".



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


[jira] [Assigned] (IGNITE-21328) Fix logging in LowWatermark#start when there is no low watermark in vault

2024-01-22 Thread Philipp Shergalis (Jira)


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

Philipp Shergalis reassigned IGNITE-21328:
--

Assignee: Philipp Shergalis

> Fix logging in LowWatermark#start when there is no low watermark in vault
> -
>
> Key: IGNITE-21328
> URL: https://issues.apache.org/jira/browse/IGNITE-21328
> Project: Ignite
>  Issue Type: Improvement
>Reporter: Kirill Tkalenko
>Assignee: Philipp Shergalis
>Priority: Major
>  Labels: ignite-3
> Fix For: 3.0.0-beta2
>
>
> When starting a node, there is confusing logging at 
> *org.apache.ignite.internal.table.distributed.LowWatermark#start* in the 
> absence of a low watermark in the vault.
> Example message *Low watermark has been successfully got from the vault and 
> is scheduled to be updated: null* it needs to be changed to something like 
> "Previous value of the low watermark was not found, will schedule to update 
> it".



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