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

go-algorand 3.14.0-beta Release PR #5043

Merged
merged 76 commits into from
Jan 23, 2023

Conversation

Algo-devops-service
Copy link
Contributor

@Algo-devops-service Algo-devops-service commented Jan 23, 2023

GitHub Logo

Overview

This release contains enhancements to networking capabilities such as our transaction handling and relay connection limits. In addition, we are including telemetry enhancements to better monitor the performance of the network.

What's New

  • Batch verify transactions for more efficient signature verification
  • Introduce elastic rate limiter to manage congestion from noisy peers
  • Increase max incoming connections limit
  • Decrease max connections per IP
  • Increase default gossip fanout for relays
  • goal node status now additionally reports consensus voting progress

Changelog

New Features

  • Algod: Add experimental endpoint for simulating transactions against a real block evaluator (#4436)
  • Tools: pingpong total latency (#4757)
  • Txhandler: batch transactions to the verifier (#4621)
  • Txhandler: Random Early Detection for backlog queue (#4797)

Enhancements

  • AVM: Clearer cost benchmarks, and a nice optimization of b== and b< (#5010)
  • AVM-abi: Update functions migrated to AVM-abi library (#4979)
  • Algocfg: Clarify config file loading error. (#5025)
  • Algod: update copyright comment to 2023 (#4957)
  • Ci: Split paralleltest lint excludes to minimize merge conflicts (#5002)
  • Cicd: add container build (#4927)
  • Cleanup: remove unused node.PoolStats() (#4956)
  • Config: add CadaverDirectory and prevent algod from starting if cadaver.init() fails (#4740)
  • Config: add HeartbeatUpdateInterval (#4832)
  • Container: update documentation and remove unused tools (#4982)
  • Debug: unmarshal and print transaction distribution (#5008)
  • Enhancement: goal Error UX Improvement (#4951)
  • Enhancement: Add missing ArgEnum fields, tweaks to immediate note (#4903)
  • Goal: Added consensus upgrade fields to node status API & goal output (#4800)
  • Metrics: use uint64 for Counter and Gauge types (#4911)
  • Metrics: count telemetry server errors (#4933)
  • Network: new default gossip fanout setting for relays (#5005)
  • Network: increase max incoming connections limit (#5018)
  • REST API: update WaitForBlock summary (#4910)
  • Tech Debt: Remove topAccountListener. (#5027)
  • Tech Debt: Remove unused NetworkFetcher. (#5028)
  • Telemetry: Remove unused TelemetryOperation (#4935)
  • Telemetry: don't report ES client errors (#4940)
  • Telemetry: don't report let asyncTelemetryHook wrap and log its own errors (#4932)
  • Tests: Fix t.Parallel() errors in shared package (#4989)
  • Tests: Fixes saved from 4981 revert (#4996)
  • Tests: Fix t.Parallel() errors in data package (#4981)
  • Tests: plot heap data (#4968)
  • Tests: Enable more parallel tests in data/transactions/logic/evalAppTxn_test.go (#4937)
  • Tests: Fix t.Parallel() errors in data/transactions/logic package (#4931)
  • Tests: fix dependency on global counters (#4921)
  • Tools: nodecfg without dns (#4967)
  • Util/s3: enable more credential providers (#4929)

Bugfixes

  • AVM: Catch any panic in edcsa verifying (#4368)
  • Agreement: fix receivedAt proposal performance timing (#5041)
  • Bugfix: Remove accidental devtesting output. (#5033)
  • Bugfix: removed redundant unlock, potentially causing double unlock (#4928)
  • Build: fix build after avm-abi: Update functions migrated to avm-abi library #4979 (#5032)
  • Ci: Fix PartitionTest Github Action (#5006)
  • Devops: Adding old artifact cleanup for self-hosted runners (#4909)
  • Ledger: rearrange blockqueue start/stop (#4964)
  • Ledger: bulletin leaking waiters fix (#4962)
  • Node: Add logging thread to node monitoring wg (#4934)
  • Scripts(compute_branch): fix incorrect conditional (#4987)
  • Test Fix: flaky TestStreamVerifierCtxCancelPoolQueue (#4980)
  • Tests: 'Revert Tests Fix t.Parallel() errors in data package' (#4995)
  • Updater: fix update.sh parsing of latest version (#4994)
  • Util/s3: remove extra println (#5024)

Protocol Upgrade

This release does not contain a protocol upgrade.

Additional Resources

barnjamin and others added 30 commits December 14, 2022 12:45
…gorand#4903)

* Adding argenum fields, tweaks to immediate note

* Fix fmt

* restore big-endian note

* adding reminder to possibly modify argEnums method with some automatic thing later
* rename remaining accountdb to acctdeltas
…a real block evaluator (algorand#4436)

Co-authored-by: Michael Diamant <[email protected]>
Co-authored-by: Jason Paulos <[email protected]>
…gorand#4942)

* Disable TestResolver in CircleCI due to DNS resolution issue
* Switch e2e_basic_start_stop from devnet to private network
* Elastic Rate Limiter and Congestion Manager to enable RED in txHandler.
* This RED model implements fairness, in which the chance a client's request is dropped
   is proportional to their individual arrival rate, vs a per-client service rate.
* Backlog size is increased by ~30% to accommodate some guaranteed throughput at current TPS target rate.
* Batching incoming transaction for crypto verification
* Streaming capabilities of transactions to the verifier
onetechnical and others added 10 commits January 19, 2023 19:37
* Updating action versions
* Removing inlining and optimizations from building partitiontest-linter
* Adding flags to golangci-lint
* Syncing typeparams dependency version
* Changing tools package version
* running go mod tidy and adding compat 1.17
* Chris's fix for linter
* Filtering on added only, upgrading reviewdog, diplaying errors in log
* Fix t.Parallel() errors in shared package
* Correct .golangci.yml paths
* Introduce override of default gossip fanout to a new default relay gossip fanout
   when nodes are configured as relays
* Setting defaultRelayGossipFanout as a const in config.go to avoid
   needing to codegen/expose into local_defaults.go
* Double default config for agreement incoming queue sizes
@codecov
Copy link

codecov bot commented Jan 23, 2023

Codecov Report

Merging #5043 (a04d952) into rel/beta (15fdae9) will decrease coverage by 1.12%.
The diff coverage is 29.16%.

@@             Coverage Diff              @@
##           rel/beta    #5043      +/-   ##
============================================
- Coverage     54.56%   53.45%   -1.12%     
============================================
  Files           431      429       -2     
  Lines         53580    54044     +464     
============================================
- Hits          29238    28888     -350     
- Misses        22048    22904     +856     
+ Partials       2294     2252      -42     
Impacted Files Coverage Δ
agreement/abstractions.go 50.00% <ø> (ø)
agreement/actions.go 72.35% <ø> (ø)
agreement/actor.go 46.66% <ø> (ø)
agreement/agreeInstall.go 100.00% <ø> (ø)
agreement/agreementtest/keyManager.go 100.00% <ø> (ø)
agreement/asyncVoteVerifier.go 89.83% <ø> (ø)
agreement/autopsy.go 0.00% <ø> (ø)
agreement/bundle.go 84.82% <ø> (ø)
agreement/certificate.go 83.33% <ø> (ø)
agreement/coservice.go 81.81% <ø> (ø)
... and 182 more

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@algojack algojack requested review from cce, winder, jannotti and a team January 23, 2023 19:25
@algojohnlee algojohnlee merged commit afe5b36 into algorand:rel/beta Jan 23, 2023
@onetechnical onetechnical deleted the relbeta3.14.0 branch January 23, 2023 20:23
PhearZero pushed a commit to PhearNet/crypto that referenced this pull request Jan 17, 2025
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.