Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(stress-test): custom transactions to tx generator, result summary #880

Merged

Conversation

sdbondi
Copy link
Member

@sdbondi sdbondi commented Jan 5, 2024

Description

Allow a custom manifest to be used with transaction generator
Fetch results and summarize stress test results
Allow fee instructions to be generated from transaction manifests
Add test bench app for tariswaps
Fix bug in autofiller bug where input refs are "upgraded" to inputs

Motivation and Context

Support custom stress test transactions.

Manifests can now specify fee instructions by optionally declaring a fee_main() function

Adds test runner app that sets up and submits thousands of swaps.

How Has This Been Tested?

Manually, tests updated as required

What process can a PR reviewer use to test or verify this change?

Use transaction generator with custom manifest

cargo run --package transaction_generator --bin transaction_generator --release -- write -n 1000000 -o ~/Litterbox/transactions.bin --overwrite -m manifests/tariswap_do_swap.rs -gswap_component=component_7e476f070b8926bbee20874ee1ecbe98026ac03c8f96b4a896828677ba13afa4 -gamt=10 -gin_account=component_afa270d4b522db62a72434f2d86c30cfa590c2ea8ac830731dca2b7b3cf2ef7a -gout_account=component_afa270d4b522db62a72434f2d86c30cfa590c2ea8ac830731dca2b7b3cf2ef7a -gtoken_a=resource_0101010101010101010101010101010101010101010101010101010101010101 -gtoken_b=resource_1ef527d83b8a3e4b3010e5fcacdf97bff60cbf33ebeec09d45772c79569e8efb  -k=f5e213e87b8630c269b140d7564dfb7b77a02f166f15be4eacfae968f4859c0a

Breaking Changes

  • None
  • Requires data directory to be deleted
  • Other - Please specify

@sdbondi sdbondi force-pushed the stress-test-enhancements branch from 180a532 to 984a3b4 Compare January 5, 2024 10:23
Copy link

github-actions bot commented Jan 5, 2024

Test Results (CI)

198 tests  ±0   198 ✅ ±0   1h 57m 30s ⏱️ - 18m 2s
 53 suites ±0     0 💤 ±0 
  2 files   ±0     0 ❌ ±0 

Results for commit 33fedc7. ± Comparison against base commit f85608a.

♻️ This comment has been updated with latest results.

@sdbondi sdbondi force-pushed the stress-test-enhancements branch 14 times, most recently from c9cb30f to 52e75f1 Compare January 12, 2024 09:51
@sdbondi sdbondi force-pushed the stress-test-enhancements branch from 52e75f1 to a89b624 Compare January 15, 2024 05:20
github-merge-queue bot pushed a commit that referenced this pull request Jan 16, 2024
Description
---
Move HS message receivers into worker, pass messages to the
OnInboundMessage handler. This checks proposals for missing transactions
and parks them if necessary. New transaction notifications are sent to
the OnInboundMessage handler to check if any proposals can be unparked.
Once unparked, they are added to the "next message buffer". The
message buffer is polled (cancel safe) in the consensus worker tokio
select loop.

Motivation and Context
---
Clean up after fix in #889  

How Has This Been Tested?
---
Running stress test from PR #880 

What process can a PR reviewer use to test or verify this change?
---
Consensus should still work as before

Breaking Changes
---

- [x] None
- [ ] Requires data directory to be deleted
- [ ] Other - Please specify
github-merge-queue bot pushed a commit that referenced this pull request Jan 16, 2024
…ls (#894)

Description
---
Includes locks in evidence
Checks locks when proposing to allow multiple input refs

Motivation and Context
---
Evidence for each shard within a TransactionAtom now includes the lock
type.
Updated the proposal db query to check each lock type and ensure that
conflicts either don't occur or if they do they are all read locks.

How Has This Been Tested?
---
Ran a stress test from #880, previously after #885 was merged, funding
the tariswap components would take a very long time (I've never actually
run it to completion, but ran for 30 mins without completing). With this
PR funding took roughly a minute on my test. Swap batches are also
reaching finalization within an acceptable timeframe.

What process can a PR reviewer use to test or verify this change?
---
Submit multiple transactions which use a single substate as an input ref
and check that they can be added to the same block.

Breaking Changes
---

- [ ] None
- [x] Requires data directory to be deleted (Evidence struct changed)
- [ ] Other - Please specify
@sdbondi sdbondi force-pushed the stress-test-enhancements branch from a89b624 to 9cd0130 Compare January 17, 2024 07:41
* development:
  chore: rename substate/shard related identifiers (tari-project#903)
  chore: add prettier settings and format all code (tari-project#900)
* development:
  feat: remove serde-byte-array (tari-project#909)
  fix: ui (tari-project#907)
  fix: uncomment sync cucumber test (tari-project#905)
@stringhandler stringhandler added this pull request to the merge queue Jan 22, 2024
Merged via the queue into tari-project:development with commit 442fc83 Jan 22, 2024
11 checks passed
sdbondi added a commit to sdbondi/tari-dan that referenced this pull request Jan 22, 2024
* development:
  fix: remove unused `hotstuff_rounds` consensus constant (tari-project#912)
  fix: remove excess tasks and buffers for messaging (tari-project#902)
  feat(stress-test): custom transactions to tx generator, result summary (tari-project#880)
  chore(deps): bump follow-redirects from 1.15.2 to 1.15.5 in /applications/tari_validator_node_web_ui (tari-project#904)
  chore(deps): bump h2 from 0.3.22 to 0.3.24 (tari-project#908)
  chore(deps-dev): bump vite from 4.4.12 to 4.5.2 in /applications/tari_dan_wallet_web_ui (tari-project#910)
sdbondi added a commit to sdbondi/tari-dan that referenced this pull request Jan 22, 2024
* development:
  fix: remove unused `hotstuff_rounds` consensus constant (tari-project#912)
  fix: remove excess tasks and buffers for messaging (tari-project#902)
  feat(stress-test): custom transactions to tx generator, result summary (tari-project#880)
  chore(deps): bump follow-redirects from 1.15.2 to 1.15.5 in /applications/tari_validator_node_web_ui (tari-project#904)
  chore(deps): bump h2 from 0.3.22 to 0.3.24 (tari-project#908)
  chore(deps-dev): bump vite from 4.4.12 to 4.5.2 in /applications/tari_dan_wallet_web_ui (tari-project#910)
@sdbondi sdbondi deleted the stress-test-enhancements branch January 23, 2024 06:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants