[jira] [Created] (IGNITE-22672) Fix default settings for aipersist
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
[ 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
[ 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
[ 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
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
[ 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
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
[ 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
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
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
[ 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
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
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
[ 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
[ 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
[ 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
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
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
[ 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
[ 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
[ 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
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
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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
[ 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
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
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
[ 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
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
[ 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
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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
[ 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
[ 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
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"
[ 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
[ 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
[ 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)