Skip to content

Conversation

@jannotti
Copy link
Contributor

@jannotti jannotti commented May 17, 2022

This is the initial check-in to feature branch. I'll ask for reviews now, to shake out issues that I have not considered, but it will remain a WIP for a while longer, so final details are not important. We want to have a feature branch that other team members can work on.

Some things to think about/finish

  • It has no LRU cache for the reads and writes. I expect sqlite to
    do a fine job caching kv pairs, and there's not savings from skipping
    msgpack serialization. But sqlite has a page cache, not a row cache,
    so maybe it's worth it.
  • There is no loop around the sql read with round number test.
  • There's is no locking of au.accountsMu. This is clearly wrong,
    need to learn more about the rules that govern when the other lookup
    routines are not taking lock.
  • Need to think through limits on total boxes (and bytes) read/written
  • Catchpoints
  • transaction.WellFormed should check box indexes
  • ops costs, especially for box_create and box_del, need to be thought out
  • consider putting in new rules for hash costs

@jannotti jannotti changed the title Add an unlimited global storage mechanism - Boxes. AVM: Add an unlimited global storage mechanism - Boxes. May 17, 2022
@jannotti jannotti force-pushed the avm-box branch 2 times, most recently from 4b31e78 to ac68b9d Compare May 26, 2022 18:10
@jannotti jannotti force-pushed the avm-box branch 2 times, most recently from 4508dd7 to 7d2804f Compare June 7, 2022 13:08
Copy link
Contributor

@michaeldiamant michaeldiamant left a comment

Choose a reason for hiding this comment

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

Let's bring the functionality into the feature branch for easier downstream consumption. 👍

@zoultrex
Copy link

This is really awesome, is there any ETA on when this is coming out?

@jannotti jannotti merged commit 48994e3 into algorand:feature/avm-box Jun 13, 2022
@jannotti
Copy link
Contributor Author

This is really awesome, is there any ETA on when this is coming out?

Keep your eyes on https://github.com/algorand/go-algorand/tree/feature/avm-box

Probably August.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants