-
Notifications
You must be signed in to change notification settings - Fork 524
go-algorand 3.5.1-beta #3774
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
Merged
algojohnlee
merged 22 commits into
algorand:rel/beta
from
Algo-devops-service:relbeta3.5.1
Mar 15, 2022
Merged
go-algorand 3.5.1-beta #3774
algojohnlee
merged 22 commits into
algorand:rel/beta
from
Algo-devops-service:relbeta3.5.1
Mar 15, 2022
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Summary In algorand#3341 I neglected to notice there are two places that generate telemetry configuration, ReadTelemetryConfigOrDefault and EnsureTelemetryConfigCreated. This updates the latter. ## Test Plan Updated tests to check and handle new default.
…#3717) ## Summary The `DeleteOldKeys` method was taking the lock for the duration of the keys deletion. This is not required, as the mutex really just need to be held to synchronize the list of participation keys. The underlying `OneTimeSignatureSecrets` already have a synchronization lock, which is taken as need. ## Test Plan Unit test added. The output of the test help to detect the timing issues addressed in this PR. Before this PR, calling Key() 10 times took 4.1 seconds. With this PR, it takes 255us.
## Summary Tests for eval prefetcher checking that the prefetcher loads the same data (with some exceptions) that the evaluator requests. Closes https://github.com/algorand/go-algorand-internal/issues/1922. ## Test Plan This is tests.
* fixed off-by-one error in the assembler's typeDig() and improved unit test * e2e test for CSP * added additional test and cleaned up unused variables * broadened test and corrected erroneous assumption about csp inner app calls
## Summary Move eval prefetcher to its own package for better isolation. Some other refactoring was necessary. ## Test Plan This is refactoring.
## Summary Complementing algorand/indexer#916 this merges the AccountsErrorResponse fields into the "data" object in ErrorResponse, so SDKs do not to have to distinguish between different error response types. ## Test Plan Update existing tests checking the old AccountsErrorResponse fields.
…-bit aligned address (algorand#3740) ## Summary prefetcher: ensure the groupTask.incompleteCount is allocated on a 64-bit aligned address. This is required in order to avoid the following on a ARM32: ``` panic: runtime error: invalid memory address or nil pointer dereference [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb541efb0] goroutine 4220 [running]: runtime/internal/atomic.goLoad64(0x8ae33be4, 0xb67e0fec, 0x8cf54500) runtime/internal/atomic/atomic_arm.go:131 +0x1c github.com/algorand/go-algorand/ledger/internal.(*accountPrefetcher).prefetch(0x8cf54500, 0xb68023f0, 0x8cf532c0) github.com/algorand/go-algorand/ledger/internal/evalprefetcher.go:384 +0x1268 created by github.com/algorand/go-algorand/ledger/internal.prefetchAccounts github.com/algorand/go-algorand/ledger/internal/evalprefetcher.go:87 +0x128 ``` ## Test Plan Test manually.
Three opcodes that all pertain to FIDO2 authorization. They are slated for Teal7 here, but they can be delayed by changing fidoVersion. Co-authored-by: Igor Durovic <igor.durovic@algorand.com> Co-authored-by: algoidurovic <91566643+algoidurovic@users.noreply.github.com> Co-authored-by: shiqi.zheng@algorand.com <shiqi.zheng@algorand.com>
## Solution ledger refactoring: test 6M assets/apps per account resolves https://github.com/algorand/go-algorand-internal/issues/1857 ## Testing This is a test
Summary This PR replaces the usage of the LibGoal with the direct RestClient. The change could have performance implications when running against large sets of data. Test Plan This is a test.
* Fix typo in OpenAPI json and yml files * Included output of make generate
## Summary This PR improves the test in the following ways: 1. The checkPoint method is no longer timer-based; instead, it's using the WaitForBlock which moves the blocking operation to the node. 2. The generated accounts secret keys are now deterministic. This would allows repeated runs to have the same set of keys. 3. More testing was added for return variables across the test. ## Test Plan This is a test.
Summary The goal-partkey-information test randomly fails. The changes in this PR improve the intermediate logs, which would be helpful in analyzing the source of the failure. Test Plan This is a test.
…rand#3759) Summary The ed25519 batch verification implementation in algorand#3031 provides a performance improvement for validating multiple signatures (such as multiple transaction signatures). Since each OneTimeSignature used by agreement votes is actually 3 ed25519 signatures, this hooks up the verifier to the batch verification implementation, yielding a ~12% performance improvement in the included benchmark on my computer. Test Plan Added benchmark, existing tests should pass.
Simplify handling of "active slots" to fix possible obo error. Unit tests added to confirm typing.
* SHA3-256 added Co-authored-by: Matt-Ryley <36548383+Matt-Ryley@users.noreply.github.com>
…nsus version (algorand#3730) ## Summary When the agreement receives a proposal from a consensus version it cannot yet support, the node disconnects from the sender and logs the fact that it was unable to decode the proposal without providing guidance on the consensus version issue. This PR adds a warning message to the log specifying that the agreement cannot handle the consensus version's proposals
## Summary LookupLatest combines base account and resources data, and in some cases it cannot determine reliably how many resources account has, therefore it reads data directly from the DB. The DB might advance causing cachedDBRound (and base account data) and resourceDbRound to be out of sync, and a retry needed. If on retry baseAccount data is outdated, foundAccount flag incorrectly contains a value from a previous iteration causing completion by checkDone because of empty ad (ledgercore.AccountData). Having ad and foundAccount synchronized on retry eliminates the problem. In addition checkDone improved for scenarios when accounts have only own assets. ## Test Plan Added new test
## Summary This PR completes the previous started efforts and ensure all the requests are tunneled directly to the participation registry for optimal performance. ## Test Plan Unit tests added.
Codecov Report
@@ Coverage Diff @@
## rel/beta #3774 +/- ##
============================================
+ Coverage 49.60% 49.78% +0.18%
============================================
Files 392 392
Lines 68588 68780 +192
============================================
+ Hits 34024 34245 +221
+ Misses 30823 30774 -49
- Partials 3741 3761 +20
Continue to review full report at Codecov.
|
yaovi-a
approved these changes
Mar 15, 2022
egieseke
approved these changes
Mar 15, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This release is intended to address minor bugs discovered prior to the v3.5.0 release.
Changelog
New Features
Enhancement
Bugfix
Protocol Upgrade
This release does not contain a protocol upgrade.
NOTE
vFuture changes are not yet available in MainNet or TestNet but can be used in private networks.
Additional Resources