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

Anil/price feed tests #4

Closed
wants to merge 3 commits into from
Closed

Anil/price feed tests #4

wants to merge 3 commits into from

Conversation

anilhelvaci
Copy link
Collaborator

@anilhelvaci anilhelvaci commented Oct 24, 2024

closes: https://github.com/Agoric/BytePitchPartnerEng/issues/25
refs: Agoric#9928

Description

Agoric#10074 replaced existing priceFeeds and scaledPriceAuthorities with new ones that should be more efficient in terms of space usage. However, terminating those old vats is a problem that hasn't been solved as described in Agoric#9483. So it is important to make sure those old vats are actually quiescent. We also need to make sure we are able to produce quotes successfully. In this PR we are addressing these concerns.

Security Considerations

None.

Scaling Considerations

None.

Documentation Considerations

None.

Testing Considerations

Regarding observing vat details there are 2 assumptions we are relying on;

  • dynamic vat ids are created incrementally (newly created vats have a higher vat id)
  • number of deliveries to a vat caused by a gc sweep do not exceed 5

Agoric#9928 talks about making sure auctions receive quotes. That is no tested here due to the high fidelity of testing auctions. The auctions features are tested Agoric#10229 so I believe there will be comprehensive coverage when it is merged.

Upgrade Considerations

None.

Help from reviewers

Agoric#10074 introduced new price feeds to the system. However, f:replace-price-feeds does not activate oracles for future layers of the build. Meaning, proposals running after f:replace-price-feeds will not have oracles that received invitationMakers for new price feeds and there will not be quotes published by new price feeds. There are conflicting work to fix this issue, see;

As a work around I've implemented an init method that runs during test.before to set the stage before we start testing new price feeds. I could use some guidance from you guys how to proceed from here. One option I can think of is to have init work conditionally.

  • If oracles are registered to new price feeds, do not register them
  • If they did not, register them

@anilhelvaci anilhelvaci force-pushed the anil/price-feed-tests branch from baff9e6 to c3b30ff Compare October 24, 2024 15:10
…js` to the changes `priceFeed.test.js` introduces

Refs: Agoric/BytePitchPartnerEng#25
Refs: Agoric#9928

fix: clear unused code

fix: prettier fix
@anilhelvaci anilhelvaci force-pushed the anil/price-feed-tests branch from c3b30ff to cbee1a5 Compare October 24, 2024 15:34
@Chris-Hibbert
Copy link

Please see Agoric#9595. I measured activity on all vats. Those graphs only show the active contracts, which doesn't include the abandoned priceFeed and scaledPriceAuthority vats.

The load I was measuring assumed oracles fed price data to the priceFeeds to be found in agoricName, using the new invitations provided when the new scaledPriceAuthorities started up.

Can you explain what this adds to that analysis?

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.

2 participants