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

hydra-cluster: Retry connection on HandshakeException #1286

Merged
merged 1 commit into from
Feb 5, 2024

Conversation

ch1bo
Copy link
Member

@ch1bo ch1bo commented Feb 5, 2024

The hydra-node websocket client can also just fail with a 'HandshakeException' from 'websockets'.

Seems like this broke in #1232.

Hypothesis: a newer websockets library fails now differently


  • CHANGELOG updated or not needed
  • Documentation updated or not needed
  • Haddocks updated or not needed
  • No new TODOs introduced or explained herafter

The hydra-node websocket client can also just fail with a
'HandshakeException' from 'websockets'.
@ch1bo ch1bo requested review from locallycompact and a team February 5, 2024 13:55
Copy link

github-actions bot commented Feb 5, 2024

Transactions Costs

Sizes and execution budgets for Hydra protocol transactions. Note that unlisted parameters are currently using arbitrary values and results are not fully deterministic and comparable to previous runs.

Metadata
Generated at 2024-02-05 13:59:13.790260315 UTC
Max. memory units 14000000
Max. CPU units 10000000000
Max. tx size (kB) 16384

Script summary

Name Hash Size (Bytes)
νInitial 985245919fcc6c0c5cd116023cd2c947c43e80dcbb5075fe12433fbb 4072
νCommit 7cb20fa71eb4c563ca283566ebe0aa65859d96c3f8cba35c52c181fd 2043
νHead 7a36661f5c15e9f1783aeaab890812c59b7286cbbc6de762d3110772 8816
μHead 8b111ac12274e46314769295a1c5dcab1d260096fc469fd698065463* 3851
  • The minting policy hash is only usable for comparison. As the script is parameterized, the actual script is unique per Head.

Cost of Init Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 4372 10.59 4.09 0.46
2 4576 12.66 4.87 0.49
3 4778 14.83 5.69 0.52
5 5180 19.12 7.31 0.59
10 6185 30.30 11.55 0.75
41 12417 99.02 37.59 1.77

Cost of Commit Transaction

This is using ada-only outputs for better comparability.

UTxO Tx size % max Mem % max CPU Min fee ₳
1 534 11.37 4.44 0.30
2 720 15.04 6.07 0.35
3 912 18.85 7.75 0.40
5 1285 26.90 11.27 0.51
10 2213 49.55 20.97 0.80
19 3907 99.43 41.75 1.43

Cost of CollectCom Transaction

Parties UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
1 57 480 21.12 8.27 0.40
2 114 590 32.26 12.75 0.53
3 171 700 48.32 19.16 0.71
4 227 810 61.57 24.64 0.86
5 281 920 78.89 31.71 1.06
6 337 1031 93.67 37.99 1.23

Cost of Close Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 549 16.72 7.70 0.37
2 706 18.41 9.28 0.40
3 806 19.41 10.26 0.42
5 1257 23.89 14.23 0.50
10 2019 30.97 21.02 0.64
50 7952 89.55 76.61 1.78

Cost of Contest Transaction

Parties Tx size % max Mem % max CPU Min fee ₳
1 516 19.82 8.62 0.40
2 768 22.21 10.68 0.44
3 928 23.83 12.08 0.47
5 1278 27.79 15.48 0.54
10 1833 34.92 21.80 0.67
48 7677 99.75 78.35 1.86

Cost of Abort Transaction

Some variation because of random mixture of still initial and already committed outputs.

Parties Tx size % max Mem % max CPU Min fee ₳
1 4318 18.89 8.13 0.55
2 4425 31.03 13.44 0.69
3 4627 46.48 20.34 0.88
4 4685 58.29 25.41 1.01
5 4811 83.02 36.43 1.30

Cost of FanOut Transaction

Involves spending head output and burning head tokens. Uses ada-only UTxO for better comparability.

Parties UTxO UTxO (bytes) Tx size % max Mem % max CPU Min fee ₳
5 0 0 4206 7.84 3.28 0.42
5 1 57 4239 8.65 3.87 0.43
5 5 284 4375 13.77 7.00 0.50
5 10 570 4546 19.80 10.76 0.59
5 20 1140 4886 32.22 18.44 0.76
5 30 1705 5222 44.73 26.16 0.93
5 40 2278 5565 56.83 33.70 1.10
5 50 2845 5902 69.14 41.34 1.27
5 75 4264 6746 99.74 60.36 1.69

End-To-End Benchmark Results

This page is intended to collect the latest end-to-end benchmarks results produced by Hydra's Continuous Integration system from the latest master code.

Please take those results with a grain of salt as they are currently produced from very limited cloud VMs and not controlled hardware. Instead of focusing on the absolute results, the emphasis should be on relative results, eg. how the timings for a scenario evolve as the code changes.

Generated at 2024-02-05 14:03:27.033633688 UTC

Baseline Scenario

Number of nodes 3
Number of txs 9000
Avg. Confirmation Time (ms) 22.439388451
P99 115.20492983000007ms
P95 31.441983449999977ms
P50 19.4091265ms
Number of Invalid txs 0

Baseline Scenario

Number of nodes 1
Number of txs 3000
Avg. Confirmation Time (ms) 4.075556817
P99 7.334007379999998ms
P95 4.889247549999999ms
P50 3.9392389999999997ms
Number of Invalid txs 0

Copy link

github-actions bot commented Feb 5, 2024

Test Results

408 tests   401 ✅  12m 52s ⏱️
138 suites    7 💤
  5 files      0 ❌

Results for commit 3475627.

@ch1bo ch1bo merged commit 69635b7 into master Feb 5, 2024
21 checks passed
@ch1bo ch1bo deleted the retry-hydra-node-connection branch February 5, 2024 14:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants