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

test: add Solana E2E performance tests and improve Solana outbounds performance #3276

Merged
merged 25 commits into from
Dec 16, 2024

Conversation

skosito
Copy link
Contributor

@skosito skosito commented Dec 11, 2024

Description

contains fixes from this PR to improve outbounds performance: #3295 which should probably be backported (cc: @lumtis)

  • similar to how stress eth tests work
  • for eth there are not erc20 stress tests, here adding tests for both sol and spl - this seems more granural and stable
  • using 50 for each of those 4

How Has This Been Tested?

  • Tested CCTX in localnet
  • Tested in development environment
  • Go unit tests
  • Go integration tests
  • Tested via GitHub Actions

Summary by CodeRabbit

Release Notes

  • New Features

    • Added a /systemtime telemetry endpoint in the zetaclient.
    • Introduced Solana performance tests for deposits and withdrawals.
  • Bug Fixes

    • Resolved issues with unsupported Solana transaction versions.
    • Enhanced handling of pending nonces during transaction aborts.
  • Tests

    • Added multiple stress tests for Solana and SPL deposits and withdrawals.
    • Enhanced the testing suite with new routines for performance testing.
  • Chores

    • Updated Docker Compose configuration for the Solana service to include a stress profile and restart policy.
    • Increased SOL airdrop amounts in the Solana startup script.

Copy link
Contributor

coderabbitai bot commented Dec 11, 2024

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough
📝 Walkthrough

Walkthrough

The pull request introduces several modifications across multiple files, primarily focusing on enhancing Solana-related functionalities within the ZetaChain node. Key changes include the addition of performance testing routines for Solana deposits and withdrawals, updates to the Makefile to ensure dependencies are correctly set, and enhancements to the changelog reflecting new features and fixes. The overall structure and functionality of the existing codebase remain intact, with a clear emphasis on improving the performance testing framework and ensuring that necessary components are prepared for execution.

Changes

File Change Summary
Makefile Modified target start-e2e-performance-test to include solana as a dependency.
changelog.md Updated to reflect new features, tests, refactors, and fixes, including a new telemetry endpoint, Solana performance tests, and various bug fixes.
cmd/zetae2e/local/local.go Introduced setupSolana variable to conditionally execute Solana setup based on test flags.
cmd/zetae2e/local/performance.go Added solanaDepositPerformanceRoutine and solanaWithdrawPerformanceRoutine functions for Solana performance testing.
contrib/localnet/docker-compose.yml Updated solana service to include stress profile and restart: always directive.
contrib/localnet/solana/start-solana.sh Increased SOL airdrop amount from 100 to 1000 for specified account.
e2e/e2etests/e2etests.go Added new stress test cases for Solana and SPL deposits and withdrawals.
e2e/e2etests/test_stress_solana_deposit.go Introduced TestStressSolanaDeposit function for stress testing SOL deposits.
e2e/e2etests/test_stress_solana_withdraw.go Introduced TestStressSolanaWithdraw function for stress testing SOL withdrawals.
e2e/e2etests/test_stress_spl_deposit.go Introduced TestStressSPLDeposit function for stress testing SPL deposits.
e2e/e2etests/test_stress_spl_withdraw.go Introduced TestStressSPLWithdraw function for stress testing SPL withdrawals.
e2e/runner/solana.go Modified DeploySPL method to change the minted token amount from 1_000_000_000 to 100_000_000_000_000.

Possibly related PRs

Suggested labels

E2E, SOLANA_TESTS

Suggested reviewers

  • fbac
  • kingpinXD
  • brewmaster012
  • swift1337
  • lumtis
  • ws4charlie

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link

codecov bot commented Dec 11, 2024

Codecov Report

Attention: Patch coverage is 0% with 69 lines in your changes missing coverage. Please review.

Project coverage is 61.62%. Comparing base (8710921) to head (4218f40).
Report is 2 commits behind head on develop.

Files with missing lines Patch % Lines
zetaclient/chains/solana/signer/signer.go 0.00% 45 Missing ⚠️
pkg/contracts/solana/account_info.go 0.00% 16 Missing ⚠️
zetaclient/orchestrator/orchestrator.go 0.00% 7 Missing ⚠️
.../chains/solana/signer/outbound_tracker_reporter.go 0.00% 1 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #3276      +/-   ##
===========================================
- Coverage    61.70%   61.62%   -0.09%     
===========================================
  Files          432      433       +1     
  Lines        30994    31037      +43     
===========================================
  Hits         19126    19126              
- Misses       11009    11052      +43     
  Partials       859      859              
Files with missing lines Coverage Δ
.../chains/solana/signer/outbound_tracker_reporter.go 0.00% <0.00%> (ø)
zetaclient/orchestrator/orchestrator.go 18.23% <0.00%> (-0.22%) ⬇️
pkg/contracts/solana/account_info.go 0.00% <0.00%> (ø)
zetaclient/chains/solana/signer/signer.go 21.37% <0.00%> (-1.87%) ⬇️

@skosito skosito added the PERFORMANCE_TESTS Run make start-e2e-performance-test label Dec 11, 2024
@skosito skosito linked an issue Dec 11, 2024 that may be closed by this pull request
@skosito skosito marked this pull request as ready for review December 11, 2024 18:42
@skosito skosito requested a review from a team as a code owner December 11, 2024 18:42
@skosito skosito changed the title test: solana stress tests [in progress] test: solana stress tests Dec 11, 2024
Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 6

🧹 Outside diff range and nitpick comments (10)
e2e/e2etests/test_stress_spl_withdraw.go (2)

49-82: Optimize synchronization by replacing sync.Mutex with a thread-safe data structure.

Using a mutex to protect access to the withdrawDurations slice can lead to contention under high concurrency. Consider using a concurrent data structure like sync.ConcurrentSlice or channel-based aggregation to improve performance and reduce complexity.

Refactor the code to use a channel for collecting durations:

withdrawDurationsChan := make(chan float64, numWithdrawalsSPL)

// In the goroutine:
withdrawDurationsChan <- timeToComplete.Seconds()

// After eg.Wait():
close(withdrawDurationsChan)

// Collect durations from the channel
for duration := range withdrawDurationsChan {
	withdrawDurations = append(withdrawDurations, duration)
}

This approach eliminates the need for explicit locking and can improve throughput.


95-102: Enhance the latency report by formatting output consistently.

The current logging statements use different formats, which might lead to inconsistent and less readable output. Standardize the formatting for clarity.

Update the logging statements for consistent alignment:

r.Logger.Print("Latency report:")
r.Logger.Print("min:   %.2f seconds", desc.Min)
r.Logger.Print("max:   %.2f seconds", desc.Max)
r.Logger.Print("mean:  %.2f seconds", desc.Mean)
r.Logger.Print("std:   %.2f seconds", desc.Std)
for _, p := range desc.DescriptionPercentiles {
	r.Logger.Print("p%2.0f:  %.2f seconds", p.Percentile, p.Value)
}

This change improves the readability of the latency report.

e2e/e2etests/test_stress_spl_deposit.go (1)

36-36: Clarify usage of monitorDeposit function

The function monitorDeposit is called but is not defined within this file. Since it's defined in test_stress_solana_deposit.go, consider moving monitorDeposit to a shared utility file within the e2etests package for better code reuse and maintainability.

Apply this diff to reorganize the code:

-Move the `monitorDeposit` function from `test_stress_solana_deposit.go` to a new file `utils.go` within the `e2etests` package.
e2e/e2etests/test_stress_solana_deposit.go (1)

45-60: Add timeout handling to monitorDeposit

In the monitorDeposit function, consider implementing a timeout mechanism or utilizing a context with timeout to prevent indefinite blocking in case of network delays or issues with the cross-chain transaction.

Apply this diff to enhance robustness:

 func monitorDeposit(r *runner.E2ERunner, sig solana.Signature, index int, startTime time.Time) error {
+    ctx, cancel := context.WithTimeout(r.Ctx, r.ReceiptTimeout)
+    defer cancel()

-   cctx := utils.WaitCctxMinedByInboundHash(r.Ctx, sig.String(), r.CctxClient, r.Logger, r.ReceiptTimeout)
+   cctx := utils.WaitCctxMinedByInboundHash(ctx, sig.String(), r.CctxClient, r.Logger, r.ReceiptTimeout)
cmd/zetae2e/local/performance.go (2)

113-160: Consider extracting timeout values as constants.

The implementation is well-structured and follows the established patterns. Consider extracting the magic numbers for timeout values (15 minutes) into named constants for better maintainability.

+const (
+    DefaultReceiptTimeout = 15 * time.Minute
+    DefaultCctxTimeout = 15 * time.Minute
+)

162-229: Consider parameterizing the deposit amount.

The implementation is solid, but the hardcoded deposit amount of 100 SOL could limit test flexibility. Consider making this configurable through the test configuration.

-amount := big.NewInt(0).Mul(big.NewInt(1e9), big.NewInt(100)) // 100 sol in lamports
+amount := big.NewInt(0).Mul(big.NewInt(1e9), big.NewInt(conf.SolanaTestDepositAmount)) // Convert configured SOL to lamports
cmd/zetae2e/local/local.go (1)

386-403: Consider adding error handling for concurrent test execution

While the parallel execution of Solana performance tests follows the existing pattern, consider adding error handling for potential race conditions or resource contention when running multiple stress tests concurrently.

 eg.Go(
-	solanaDepositPerformanceRoutine(
+	func() error {
+		// Add semaphore or rate limiting here
+		return solanaDepositPerformanceRoutine(
			conf,
			deployerRunner,
			verbose,
			e2etests.TestStressSolanaDepositName,
			e2etests.TestStressSPLDepositName,
-		),
+		)
+	},
 )
changelog.md (3)

Line range hint 1-1: Add version dates to improve changelog tracking.

The changelog should include dates for each version release to help track when changes were made.

Add release dates in ISO 8601 format (YYYY-MM-DD) after each version number. For example:

- # CHANGELOG
+ # CHANGELOG
+ 
+ All notable changes to this project will be documented in this file.
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).

Line range hint 3-24: Standardize version prefix format.

The version numbers should consistently use the 'v' prefix.

Apply consistent version prefixing:

-## Unreleased
+## [Unreleased]

-### Features
+## [v23.0.0] - YYYY-MM-DD

Line range hint 1-1000: Standardize section headers across versions.

The changelog uses inconsistent section headers across different versions. Some use H2 (##) while others use H3 (###).

Standardize all version headers to H2 (##) and all category headers (Features, Fixes, etc.) to H3 (###).

📜 Review details

Configuration used: .coderabbit.yaml
Review profile: CHILL

📥 Commits

Reviewing files that changed from the base of the PR and between be8783b and d1bf9c5.

📒 Files selected for processing (12)
  • Makefile (1 hunks)
  • changelog.md (1 hunks)
  • cmd/zetae2e/local/local.go (4 hunks)
  • cmd/zetae2e/local/performance.go (2 hunks)
  • contrib/localnet/docker-compose.yml (1 hunks)
  • contrib/localnet/solana/start-solana.sh (1 hunks)
  • e2e/e2etests/e2etests.go (2 hunks)
  • e2e/e2etests/test_stress_solana_deposit.go (1 hunks)
  • e2e/e2etests/test_stress_solana_withdraw.go (1 hunks)
  • e2e/e2etests/test_stress_spl_deposit.go (1 hunks)
  • e2e/e2etests/test_stress_spl_withdraw.go (1 hunks)
  • e2e/runner/solana.go (1 hunks)
🧰 Additional context used
📓 Path-based instructions (9)
contrib/localnet/solana/start-solana.sh (1)

Pattern **/*.sh: Review the shell scripts, point out issues relative to security, performance, and maintainability.

e2e/e2etests/test_stress_spl_deposit.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

e2e/e2etests/test_stress_spl_withdraw.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

e2e/e2etests/test_stress_solana_deposit.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

e2e/e2etests/test_stress_solana_withdraw.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

e2e/runner/solana.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

cmd/zetae2e/local/local.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

e2e/e2etests/e2etests.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

cmd/zetae2e/local/performance.go (1)

Pattern **/*.go: Review the Go code, point out issues relative to principles of clean code, expressiveness, and performance.

🔇 Additional comments (9)
contrib/localnet/solana/start-solana.sh (1)

12-13: Approved

The increased SOL airdrop amounts are appropriate for stress testing and help prevent insufficient fund errors during high-load scenarios.

contrib/localnet/docker-compose.yml (1)

226-227: LGTM: Service configuration aligns with stress testing requirements.

The addition of the stress profile and restart policy is appropriate for maintaining service availability during stress tests.

e2e/runner/solana.go (1)

277-277: Verify SPL token amount implications.

The significant increase in minting amount (100 trillion tokens) warrants verification:

  1. Ensure this amount doesn't exceed any Solana program limits
  2. Verify that this amount is sufficient but not excessive for stress tests
✅ Verification successful

Let me gather more specific information about token-related constants and usage in the Solana context.


Let me search specifically for Solana token-related configurations and decimals.


SPL token amount increase appears safe for testing purposes

The increase to 100 trillion tokens (100_000_000_000_000) is acceptable for the following reasons:

  • The amount is within reasonable bounds for SPL token testing
  • No explicit maximum supply limitations were found in the codebase
  • The change is isolated to test environment setup
  • Other chains in the codebase (TON, EVM) commonly use similar large denominations for testing
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check for any token amount limitations in the codebase

# Search for token amount validations in Solana-related code
rg -A 2 "amount.*exceed|max.*amount|limit.*amount" --type go

# Look for existing token amount constants that might indicate limits
ast-grep --pattern 'const $_: $_ = $_{1e9}'

Length of output: 2424


Script:

#!/bin/bash
# Search for token amount definitions and usage in Solana-related files
rg -A 2 "token.*amount|mint.*amount|NewMintTo" --type go

# Look for any existing SPL token amount patterns
rg -A 2 "1_000_000_000|100_000_000_000_000" --type go

# Search for any Solana token decimals or precision configurations
rg "decimals.*solana|precision.*token" --type go

Length of output: 36416


Script:

#!/bin/bash
# Search for Solana token configurations and decimals
rg -A 2 "solana.*token.*decimal|spl.*token.*decimal" --type go

# Look for any token mint amount validations in Solana-related code
rg -A 2 "mint.*amount.*check|token.*amount.*check" --type go

# Search for any Solana SPL token standards or specifications
rg -A 2 "spl.*token.*standard|solana.*token.*standard" --type go

Length of output: 194

Makefile (1)

278-280: LGTM: Correct dependency addition for Solana tests

The addition of the solana dependency to start-e2e-performance-test target ensures that the Solana environment is properly built before running performance tests.

cmd/zetae2e/local/local.go (2)

113-113: LGTM: Well-structured flag combination

The setupSolana flag elegantly combines both test scenarios requiring Solana setup, following the DRY principle.


Line range hint 231-247: LGTM: Proper conditional Solana setup

The Solana setup is correctly guarded by the setupSolana flag and properly integrated into the deployment flow.

e2e/e2etests/e2etests.go (2)

114-117: LGTM: Consistent test naming convention

The new test name constants follow the established naming pattern and are self-descriptive.


774-809: Verify the default test values for production use

The test definitions are well-structured, but consider:

  1. The default values (1,200,000 lamports ≈ 0.0012 SOL) might need adjustment based on production requirements
  2. The count of 30 iterations aligns with the timeout constraints mentioned in PR objectives
✅ Verification successful

Default test values appear to be appropriately configured

The stress test values for Solana operations are well-calibrated when compared to other chain configurations in the test suite:

  • ETH stress tests use 100 iterations vs. Solana's 30, which is appropriate given Solana's faster block times
  • SOL deposit amount (1.2M lamports ≈ 0.0012 SOL) aligns with test amounts used for other chains (e.g., 0.001 BTC)
  • The iteration count of 30 is consistent across all Solana-related tests (both SOL and SPL)
🏁 Scripts executed

The following scripts were executed for the analysis:

Script:

#!/bin/bash
# Description: Check if similar tests exist in the codebase with different default values

# Search for other stress test definitions with default values
rg -A 5 'TestStress.*Name.*DefaultValue' --type go

Length of output: 52


Script:

#!/bin/bash
# Let's try a broader search to find stress test definitions and their values
rg -B 2 -A 5 'TestStress.*Name.*' --type go

# Also search for any test configuration or constants that might define these values
rg -B 2 -A 2 'const.*[Ll]amports|const.*SPL' --type go

# Search for any documentation about test values
fd README.md | xargs rg -i "test.*value|stress.*test"

Length of output: 6317

changelog.md (1)

14-14: ⚠️ Potential issue

Fix broken link reference.

The link reference [3276] is missing its URL.

Add the missing URL:

-* [3276](https://github.com/zeta-chain/node/pull/3276) - solana performance tests
+* [3276](https://github.com/zeta-chain/node/pull/3276) - solana performance tests

Likely invalid or redundant comment.

e2e/e2etests/test_stress_spl_withdraw.go Show resolved Hide resolved
e2e/e2etests/test_stress_spl_withdraw.go Show resolved Hide resolved
e2e/e2etests/test_stress_spl_withdraw.go Outdated Show resolved Hide resolved
e2e/e2etests/test_stress_solana_withdraw.go Show resolved Hide resolved
e2e/e2etests/test_stress_solana_withdraw.go Show resolved Hide resolved
e2e/e2etests/test_stress_solana_deposit.go Show resolved Hide resolved
cmd/zetae2e/local/local.go Outdated Show resolved Hide resolved
e2e/e2etests/test_stress_solana_withdraw.go Show resolved Hide resolved
@skosito skosito marked this pull request as draft December 12, 2024 05:41
@skosito skosito marked this pull request as ready for review December 12, 2024 13:17
Copy link
Member

@lumtis lumtis left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

Any way we can test with E2E CI tool?

changelog.md Outdated Show resolved Hide resolved
cmd/zetae2e/local/local.go Show resolved Hide resolved
@skosito
Copy link
Contributor Author

skosito commented Dec 12, 2024

Looks good

Any way we can test with E2E CI tool?

i tried zetae2e run stress_solana_deposit:1200000,2 --config cmd/zetae2e/config/local.yml --verbose so 2 deposits and it worked locally, so it can be used with CI tool

Copy link
Contributor

@ws4charlie ws4charlie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tests look good.

@skosito skosito requested a review from lumtis December 13, 2024 22:36
@skosito skosito requested a review from gartnera December 13, 2024 22:37
@skosito skosito changed the title test: solana stress tests test: add Solana E2E performance tests Dec 15, 2024
@skosito skosito changed the title test: add Solana E2E performance tests test: add Solana E2E performance tests and improve Solana outbounds performance Dec 15, 2024
zetaclient/chains/solana/signer/signer.go Outdated Show resolved Hide resolved
Copy link

gitguardian bot commented Dec 16, 2024

⚠️ GitGuardian has uncovered 1 secret following the scan of your pull request.

Please consider investigating the findings and remediating the incidents. Failure to do so may lead to compromising the associated services or software components.

🔎 Detected hardcoded secret in your pull request
GitGuardian id GitGuardian status Secret Commit Filename
14567965 Triggered Generic Password cb0bb04 cmd/zetaclientd/start.go View secret
🛠 Guidelines to remediate hardcoded secrets
  1. Understand the implications of revoking this secret by investigating where it is used in your code.
  2. Replace and store your secret safely. Learn here the best practices.
  3. Revoke and rotate this secret.
  4. If possible, rewrite git history. Rewriting git history is not a trivial act. You might completely break other contributing developers' workflow and you risk accidentally deleting legitimate data.

To avoid such incidents in the future consider


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

@skosito skosito added the SOLANA_TESTS Run make start-solana-test label Dec 16, 2024
@skosito skosito closed this Dec 16, 2024
@skosito skosito reopened this Dec 16, 2024
@skosito skosito added this pull request to the merge queue Dec 16, 2024
Merged via the queue into develop with commit dbfd3f1 Dec 16, 2024
42 of 44 checks passed
@skosito skosito deleted the solana-stress-tests branch December 16, 2024 15:16
skosito added a commit that referenced this pull request Dec 16, 2024
…erformance (#3276)

* stress tests deposit solana

* perf tests for sol withdrawals

* split withdrawal stress tests into separate tests

* separate deposit stress tests

* add restart always to solana container

* tweak params

* fmt and changelog

* cleanup

* making tests execution more granular

* revert last change

* split perf tests

* tweak params

* decrease num of withdrawals back to 30

* run only withdrawals

* run sequentiallyx

* uncomment tests

* params

* fix: speed up Solana withdraw stress test in two go routines (#3295)

* PR comment and lint

* changelog

* move account info decoding to solana package

* revert timeouts to prev values

---------

Co-authored-by: Charlie Chen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking:cli PERFORMANCE_TESTS Run make start-e2e-performance-test SOLANA_TESTS Run make start-solana-test
Projects
None yet
Development

Successfully merging this pull request may close these issues.

e2e: add stress tests for Solana deposit and withdraw
4 participants