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 2.5.6-beta #2105

Merged
merged 9 commits into from
Apr 26, 2021
Merged

go-algorand 2.5.6-beta #2105

merged 9 commits into from
Apr 26, 2021

Conversation

onetechnical
Copy link
Contributor

@onetechnical onetechnical commented Apr 26, 2021

GitHub Logo

This release will require a protocol upgrade.
This release contains a consensus protocol upgrade, which implements the following spec:
https://github.com/algorandfoundation/specs/tree/d050b3cade6d5c664df8bd729bf219f179812595

Changes

  1. General
    • Bug Fix - Fix accessing int64 atomic variables on arm32 which was causing a panic on startup on ARM32
  2. Ledger
    • Bug Fixes
      • Ensure local delta does not have entries with empty key-value stores
      • Prevent storing empty accounts in DB after opting out from an app
      • DB data migration for empty accounts
      • compatibility mode for account index calculation in eval delta

Additional Resources

Test Plan

Standard release testing.

Verify consensus upgrade.

algorandskiy and others added 9 commits April 26, 2021 12:15
Ensure local delta does not have entries with empty key-value stores
Fix for empty accounts stored in DB after app clear state or app removal
Delete empty entries, update merkleTrie hashes.
Improve error test conditions during database migration 4.
Fix accessing int64 atomic variables on arm32, by aligning variables on 64-bit aligned address.
#2095)

roundCowState now has compatibility mode
accountIdx param is propagated from logic to GetKey/SetKey/DelKey
Logic:
- store account index for used in GetKey for this app
- in SetKey/DelKey use store either the index from GetKey if exist or a current account index
- if in compatibility mode, BuildEvalDelta uses indices mentioned above otherwise it calculates account index using `txn.Accounts`
@onetechnical onetechnical self-assigned this Apr 26, 2021
@onetechnical onetechnical marked this pull request as ready for review April 26, 2021 19:30
Copy link
Contributor

@egieseke egieseke left a comment

Choose a reason for hiding this comment

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

Looks ok.

ledger/acctupdates.go Show resolved Hide resolved
ledger/appcow.go Show resolved Hide resolved
Copy link
Contributor

@algobarb algobarb left a comment

Choose a reason for hiding this comment

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

Don't we need to update config/version.go before we merge ? I'm guessing this is another case in which we had to cherry-pick the commits?

@tsachiherman
Copy link
Contributor

Don't we need to update config/version.go before we merge ? I'm guessing this is another case in which we had to cherry-pick the commits?

only for major/minor changes. not for patch/hotfix. that's where the buildnumber.dat comes into play.

@algojohnlee algojohnlee merged commit 1fa7e2e into algorand:rel/beta Apr 26, 2021
@onetechnical onetechnical deleted the onetechnical/relbeta2.5.6 branch April 26, 2021 22:09
tsachiherman pushed a commit to tsachiherman/go-algorand that referenced this pull request Jul 7, 2021
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.

6 participants