Commit Graph
418 Commits
Author SHA1 Message Date
Matt HauffandGitHub 40db4635a8 [LABS-245] Enable PEP604 Ruff rules (#20269)
* Enable PEP604 Ruff rules

* Fix harcoded signature in test

* Hack CLVMStreamable test with note to fast follow
2025-11-18 12:34:00 -08:00
Kyle Altendorf 7e98baa814 Merge commit 'ebf8105fc12c351888069ba399be6cf998f680e0' into catchup/long_lived_datalayer_merkle_blob_from_main_ebf8105fc12c351888069ba399be6cf998f680e0 2025-09-05 15:06:31 -04:00
Matt HauffandGitHub a803dc0fa6 [CHIA-3633] August 2025 pass of Ruff linting rules (#19929)
* Enable Ruff `PLR1704` (`redefined-argument-from-local`)

* Enable Ruff `PLR5501` (`collapsible-else-if`)

* Enable Ruff `PLW2901` (`redefined-loop-name`)

* bad change

* Enable Ruff `RUF043` (`pytest-raises-ambiguous-pattern`)

* Enable Ruff `RUF046` (`unnecessary-cast-to-int`)

* Enable Ruff `RUF052` (`used-dummy-variable`)

* Remove unused ignore `UP006`

* One mis-signaled regex

* Comments by @altendky

* bad change, my bad
2025-08-11 14:39:12 -07:00
35c03a5d17 Cleanup keys/values db. (#19829)
* Cleanup keys/values db.

* Fix bug.

* Add test.

* Lint.

* Add test.

* Lint.

* Move unconfirmed blobs in memory.

* Lint.

* Apply suggestions from code review

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Add field.

* functools too.

* Lint.

* Switch to context manager.

* Iterator.

* Ruff.

* Use context manager everywhere.

* Add test.

* Add test.

* Match exception.

* Apply suggestions from code review

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Address review comments.

* Use context maanger.

* Revert.

* Revert further.

* Revert.

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-07-24 21:31:27 -04:00
Kyle AltendorfandGitHub d352be14f3 use logical core count for batch size when lazy building dl cache (#19834) 2025-07-16 15:50:54 -04:00
Florin ChiricaandGitHub ee589a6199 DL Check root hash in missing hashes. (#19797)
* DL Check root hash in missing hashes.

* Poetry.

* Send root hash param.

* Switch branch.

* Use correct branch name.
2025-07-15 14:09:58 -04:00
Florin ChiricaandGitHub 7d077cdc46 DL Code Cleanup (#19782)
* DL code cleanup

* Lint.
2025-07-14 22:25:57 -04:00
Kyle Altendorf fb8de7a1b3 Merge commit 'dac837e79961fa5ce9611d5531d789211031c465' into catchup/long_lived_datalayer_merkle_blob_from_main_dac837e79961fa5ce9611d5531d789211031c465 2025-07-11 22:35:57 -04:00
Kyle AltendorfandGitHub 8e2545fba6 add chia dev data sync-time --prefer-db-kv-blob-length (#19693) 2025-06-11 16:22:45 -04:00
Kyle AltendorfandGitHub 36d8e2fd62 properly seed intra-sync persistent delta reader cache on new sync (#19702) 2025-06-11 14:09:04 -04:00
Kyle AltendorfandGitHub 53b2f90f44 rename to DataStore.prefer_db_kv_blob_length (#19692) 2025-06-09 15:39:18 -04:00
Florin ChiricaandGitHub d9098d6e20 Optimize add missing files (#19630)
* Optimize add missing files.

* Update poetry.lock

* Update poetry.lock

* Update pyproject.toml

* Redo lock file.

* Lint.

* Fix test.

* Checkpoint.

* Change reference.

* Change branch.

* Fix lock file.
2025-06-09 15:23:01 -04:00
Kyle AltendorfandGitHub 8c96c1a2e3 changeable key/value in-db blob size limit (#19669)
* changeable key/value in-db blob size limit

* tests

* test_get_keys_both_disk_and_db

* test_get_keys_values_both_disk_and_db

* fixup schema, like moving the index from the blob to the hash
2025-06-06 16:23:01 -04:00
Florin Chirica 1444d22316 Lint. 2025-06-03 16:35:19 +03:00
Florin Chirica 14593f452c Improve migration logging. 2025-06-03 16:17:31 +03:00
476ab8c730 Optimize DL functions for get keys/values. (#19609)
* Optimize DL functions for get keys/values.

* Update chia/data_layer/data_store.py

Co-authored-by: Kyle Altendorf <sda@fstab.net>

* Address review comment.

* Address review comments.

---------

Co-authored-by: Kyle Altendorf <sda@fstab.net>
2025-05-16 13:45:29 -04:00
Kyle AltendorfandGitHub cb3485bfcf reuse delta reader to avoid reloading data from disk (#19583)
* reuse delta reader to avoid reloading data from disk

* update chia_rs
2025-05-14 13:27:21 -04:00
Florin ChiricaandGitHub b03e7f6b48 Optimize add_missing_files (#19588)
* Separate add missing files into rust and non rust code.

* mypy

* Batch query the DB.
2025-05-13 13:28:24 -04:00
Kyle AltendorfandGitHub 76374b09c2 parallel missing hash collection (#19552)
* parallel missing hash collection

* more

* breakdown

* update chia_rs
2025-05-07 08:38:35 -04:00
Kyle AltendorfandGitHub 75758c9263 remove DataStore.process_merkle_blob_queries() (#19544)
remove `DataStore.process_merkle_blob_queries()
2025-04-29 07:46:23 -04:00
Kyle AltendorfandGitHub 7969c6de4a delta reader (#19540)
* use delta reader

* fixup
2025-04-28 12:36:56 -04:00
Kyle AltendorfandGitHub 161dc43c9a force use of index for MAX(generation) (#19491)
* force use of index for `MAX(generation)`

* links
2025-04-25 13:34:13 -04:00
Kyle AltendorfandGitHub ed4c5bfaca store merkle, key, and value blobs in files (#19528)
* store merkle, key, and value blobs in files

* update expected columns

* fixup tests

* more

* cleanup disk

* better wrapped path identification

* todos for potential filesystem locking

* suppress not precheck

* handle not-present new path configuration entries

* log exception

* replace hard coded 32

* three layers of directories for bytes paths
2025-04-25 11:56:59 -04:00
Florin Chirica 711d9b1f5f Address review comment. 2025-04-15 18:45:28 +03:00
Florin Chirica cea5130cef Lint. 2025-04-08 22:45:51 +03:00
Florin Chirica 65992db2db Avoid deepcopy. 2025-04-08 22:40:19 +03:00
Florin Chirica 08496cb453 DL Config cache size. 2025-04-07 23:52:20 +03:00
Kyle AltendorfandGitHub e647f5ea82 avoid unneeded conversion to bytearray (#19422) 2025-03-23 15:48:35 -04:00
Kyle AltendorfandGitHub e8ed86d0fd datalayer compress for db (#19421)
compress the merkle blobs in the db
2025-03-22 11:41:51 -04:00
Kyle AltendorfandGitHub 43f053927a pass around some connections (#19415) 2025-03-21 14:51:27 -04:00
Kyle AltendorfandGitHub a2880ea87b correct sql limit to match batch length (#19407)
<!-- Merging Requirements:
- Please give your PR a title that is release-note friendly
- In order to be merged, you must add the most appropriate category
Label (Added, Changed, Fixed) to your PR
-->
<!-- Explain why this is an improvement (Does this add missing
functionality, improve performance, or reduce complexity?) -->

### Purpose:

<!-- Does this PR introduce a breaking change? -->

### Current Behavior:

### New Behavior:

<!-- As we aim for complete code coverage, please include details
regarding unit, and regression tests -->

### Testing Notes:

<!-- Attach any visual examples, or supporting evidence (attach any
.gif/video/console output below) -->
2025-03-19 21:17:04 -04:00
Kyle AltendorfandGitHub b59607daa0 less unneeded bytes32ing (#19410)
* less unneeded `bytes32`ing

* a bit more
2025-03-19 19:41:07 -04:00
Kyle AltendorfandGitHub 9b545932d9 combine adding node hashes into single .executemany() call (#19408)
* combine adding node hashes into single `.executemany()` call

* format

* refactor correction
2025-03-19 16:34:47 -04:00
Kyle AltendorfandGitHub 5582261d45 breakdown DataStore.insert_into_data_store_from_file() (#19409) 2025-03-19 14:27:49 -04:00
Kyle AltendorfandGitHub 338a295c80 use .writer_maybe_transaction() in DataStore.add_kvid() (#19382) 2025-03-12 21:37:54 -04:00
Kyle AltendorfandGitHub bd387f4a5a set then get on failure in DataStore.add_kvid() (#19380)
<!-- Merging Requirements:
- Please give your PR a title that is release-note friendly
- In order to be merged, you must add the most appropriate category
Label (Added, Changed, Fixed) to your PR
-->
<!-- Explain why this is an improvement (Does this add missing
functionality, improve performance, or reduce complexity?) -->

### Purpose:

<!-- Does this PR introduce a breaking change? -->

### Current Behavior:

### New Behavior:

<!-- As we aim for complete code coverage, please include details
regarding unit, and regression tests -->

### Testing Notes:

<!-- Attach any visual examples, or supporting evidence (attach any
.gif/video/console output below) -->
2025-03-12 16:24:01 -04:00
Kyle AltendorfandGitHub 9905a9387a drop the unneeded autoincrement on the datalayer ids table (#19381)
<!-- Merging Requirements:
- Please give your PR a title that is release-note friendly
- In order to be merged, you must add the most appropriate category
Label (Added, Changed, Fixed) to your PR
-->
<!-- Explain why this is an improvement (Does this add missing
functionality, improve performance, or reduce complexity?) -->

### Purpose:

<!-- Does this PR introduce a breaking change? -->

### Current Behavior:

### New Behavior:

<!-- As we aim for complete code coverage, please include details
regarding unit, and regression tests -->

### Testing Notes:

<!-- Attach any visual examples, or supporting evidence (attach any
.gif/video/console output below) -->
2025-03-12 16:03:33 -04:00
Kyle Altendorf 757cf40345 drop the unneeded autoincrement on the datalayer ids table 2025-03-12 14:47:50 -04:00
Kyle Altendorf 4e0db617dc use .execute_insert() in DataStore.add_kvid() 2025-03-12 11:35:39 -04:00
Kyle Altendorf 5c83bf9604 cleanup python/rust compatibility hints 2025-03-06 14:32:17 -05:00
Kyle Altendorf f1796ccb6a remove python merkle blob code 2025-03-06 13:17:39 -05:00
Kyle Altendorf 99fbfcf3eb datalayer: use rust 2025-03-05 16:45:56 -05:00
Kyle Altendorf 7a6e9b3d12 Merge commit '329ce24c89e29f8c7f0d4a8bb4d04fc2b0438d95' into catchup/long_lived_datalayer_merkle_blob_from_main_329ce24c89e29f8c7f0d4a8bb4d04fc2b0438d95 2025-03-04 16:43:20 -05:00
Kyle AltendorfandGitHub d50b6e0883 use chia_rs directly for sized bytes (#19326) 2025-02-28 09:35:25 -08:00
Kyle AltendorfandGitHub 1567fa3df6 use chia_rs proof of inclusion for datalayer (#19327) 2025-02-27 14:19:38 -05:00
Kyle AltendorfandGitHub 5c68281a81 more datalayer rust transition prep (#19306)
* more datalayer rust transition prep

* tidy
2025-02-26 07:57:50 -05:00
Kyle AltendorfandGitHub c6d78c38fe use rust datalayer errors for consistency (#19307) 2025-02-25 08:47:09 -05:00
Florin Chirica 3336417d0f Remove DL method for get_node_by_hash. 2025-02-14 02:28:19 +02:00
Florin Chirica 6b6da264f4 Don't work on data structures. 2025-02-13 17:29:18 +02:00
Florin ChiricaandGitHub 8219d4f666 Merge branch 'long_lived/datalayer_merkle_blob' into fc.remove_hashes_table 2025-02-13 00:12:02 +02:00