-
Notifications
You must be signed in to change notification settings - Fork 523
go-algorand 2.10.1-stable #2813
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 62 commits into
algorand:rel/stable
from
Algo-devops-service:relstable2.10.1
Aug 30, 2021
Merged
go-algorand 2.10.1-stable #2813
algojohnlee
merged 62 commits into
algorand:rel/stable
from
Algo-devops-service:relstable2.10.1
Aug 30, 2021
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
Contributor
Add a comment about deleted accounts in AccountDeltas
The current code would not pass the `DisableNetworking` flag to the network package. This could be worked around by adding the `DisableNetworking` to the `config.json` file, or with this fix.
The [ineffassign](https://github.com/gordonklaus/ineffassign) linter is in the default set of linters enabled by golangci-lint but wasn't added in #2523 because it was reporting issues. It's also one of the least objectionable linters; ineffectual assignments are rarely intentional and can point out bugs related to assumptions that a variable assignment had some effect. There were various fixes here but I'm not sure if all the changes to remove or fix ineffectual assignments were the right ones.
CircleCI VMs come pre-installed with homebrew and some of the taps and packages we need already set up, so skipping running update and tap and install for those pre-existing assets reduces each job by ~6 minutes each (x 4 jobs).
While working on the agreement package, I noticed the wrong messageEvent type was being used in TestVoteAggregatorBundles (voteVerified instead of a bundleVerified). This leads voteAggregator to use filterVote instead of filterBundle, and read the empty `messageEvent.Input.Vote` value (with round/period/step of 0/0/0) rather than the value of `messageEvent.Input.Bundle` that has the correct RPS and bundle of votes. This leads the events to be thrown away as from an old round instead of being processed by dispatch.
Remove msgp 1.1.47 from go.mod/go.sum files
As #1699 demonstrates, api v2 uses `JSONHandle` that incorrectly encodes maps with numeric fields. Switching to `JSONStrictHandle` fixes the issue since it was specially created for this purpose.
Fix for updating an application with extra program pages
There is now a single package for both centos 7 & 8.
Add report line about txn pool fullness.
`txnpool({lowest reading}, {min(node mean txn pool size)}, {mean(node mean txnpool size)}, {max(node mean txnpool size)}, {highest reading})`
For a test running across 20 nodes, each node has a `node mean txn pool size` across a 20 minute test time. The above line reports the min/avg/max of those txn pool average sizes, and also the lowest and highest txn pool size seen at any moment.
This PR adds two opcodes. cover: "remove top of stack, and place it down the stack such that N elements are above it", uncover: "remove the value at depth N in the stack and shift above items down so the Nth deep value is on top of the stack"
Gauge that didn't change used to disappear from results; this could make a non-zero value appear zero, confusing metrics. gaugeCommon.go split was confusing, merge back into gauge.go
#2645) Since #2527, when you run msgp-generated tests that call `protocol.RunEncodingTest` from a cwd that doesn't contain "go-algorand" in the name and with GOPATH not set, the test may fail due to `//msgp:allocbound` not being read from the source, leading to "msgp: length overflow" errors (test data exceeding the allocbound).
Parameterize no_output_timeout and -short in the general commands on the circle config file to reduce duplicate code.
go-algorand relstable2.8.0-remerge
Add partition to daemon/algod/api/server/router_test.go
Right now a system.json file is not created when setting up systemd through the setup-systemd.sh script. Therefore, users aren't letting their nodes know that the algod process will be managed with systemd. This change modifies the systemd configuration file to create the system.json file in the data directory.
Add a public `Eval()` function in ledger that Indexer can use. The function accepts a custom protocol config so that Indexer can override it to always get asset close amounts, as opposed to only when the protocol supports it. Closes https://github.com/algorand/go-algorand-internal/issues/1211.
Removes signing calls to KMD by creating internal hashmap and signing transactions locally.
go-algorand 2.9.0-beta
…mentations (#2679) Spotted this dead code, and after discussing with @tsachiherman and @zeldovich, it should be fine to remove.
I made a TEAL quine to test the output of app_params_get AppApprovalProgram for the current program. It's mostly for fun but this does strengthen the tests for app_params_get.
Add the framework for supporting batch verification.
Passing a foreign app id to the `goal app create` cmd with dryrun tries to use ApplicationId (0) instead of the foreign app id.
…sensus protocol is unknown. (#2708) Return an error in EncodeSignedTxn() and DecodeSignedTxn() if consensus protocol is unknown
…lation opcodes (#2710) * TypeFuncs added with tests * Fixed dup test and edited code to use more literals
Add slack notifications for rel/nightly failures. This will help us easily track Circle CI rel/nightly test failures on our slack channel.
Update the Circle CI branch filters to run "nightly"/longer tests over "rel/" and "hotfix/" branches.
* new opcode * adding log * added unit tests * more tests * update evalDelta test in app * update log call limit to 32 * move MaxLogCalls to config * api updates * test and gomod updates * update logs to [appid,msg] * update logs data structure * increate wait for txn timeout * update log allocbound and hanlder error message * update maxlogcalls val * remove getLogs() * remove getLogs
* Add pooling for grouped app calls and add unit tests * Fix doc errors * Pool app call budget in ep * Check if pooledBudget is not nil in budget call * Fix app call integration test output and minor syntax changes * Minor change in comment * Modify some tests to get better coverage * Refactor tests * Clean up * Remove a hardcoded constant * Add pointer equivalence test
* Convenient and High-fidelity Transaction Processing Tests This refactors some of the `ledger` code so that it's convenient to write short tests that operate on a fairly complete ledger, including rewards payouts. Previously, tests used genesis(), but genesis() build the genesis block internally "by hand" rather than using MakeGenesisBlock, so it missed some details (like setting up RewardsState). Presumably, this was because MakeGenesisBlock was in the `data` package, and could not be imported. That is the motivation behind moving it, and some related code, to bookkeeping (where various Genesis related code already existed). The txntest packaged is motivated purely by a desire for more concise tests. It allows for the construction of transaction.Transaction objects concisely, and we can add all sort of conveneince routines here that would not make sense in the production code (turning these into SignedTxns, SignedTxnWithADs, TransactionGroups, etc). * Converted a test, went from 130 lines to 68. Same test. * Docs and and another test converted
Replaced SKIP_E2E_SUBS var and E2E_SUBS_ONLY var with E2E_SUBS var that has values of "ONLY" and "SKIP" as well as not set at all. We might need to add another value to this var in the future for another option.
* The test checks rekeying before and after upgrade but nodes running as separate processes might upgrade earlier than the test advances * This fix takes this into account similarly to the app upgrade tests
go-algorand v2.10.0-beta
Fixing typo of one equal sign instead of two for integration tests
…2784) This also unifies a lot of field handling so that the code is less susceptible to copy-paste errors, but it has a ways to go. Hard to both unify the handling of the different fields and use separate types for each field index. Lots and lots of interfaces could do. Or generics in 6 months? For the moment, each field type is a pile of arrays and maps working together. It's unclear what we gain from those separate index types, since we always cast into the type just before using them, as we are getting the indexes from reading a byte in bytecode. New tests will catch this mistake if we make it again.
go-algorand 2.10.1-beta
Codecov Report
@@ Coverage Diff @@
## rel/stable #2813 +/- ##
==============================================
+ Coverage 46.97% 47.10% +0.13%
==============================================
Files 348 349 +1
Lines 55715 56351 +636
==============================================
+ Hits 26170 26544 +374
- Misses 26604 26831 +227
- Partials 2941 2976 +35
Continue to review full report at Codecov.
|
onetechnical
approved these changes
Aug 30, 2021
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.
Highlights
This is a maintenance release focused around many test improvements and other optimizations.
Changes
app_params_get AppApprovalProgram(Create a quine to testapp_params_get AppApprovalProgram#2682)Balances.PutWithCreatable()#2638)Eval()function for indexer #2662)EncodeSignedTxn()andDecodeSignedTxn()if consensus protocol is unknown. (Return an error inEncodeSignedTxn()andDecodeSignedTxn()if consensus protocol is unknown. #2708)Protocol Upgrade
This release does not contain a protocol upgrade.
Additional Resources