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

get rid of -bblock in cli tooling #10746

Closed
anilhelvaci opened this issue Dec 19, 2024 · 6 comments
Closed

get rid of -bblock in cli tooling #10746

anilhelvaci opened this issue Dec 19, 2024 · 6 comments
Assignees

Comments

@anilhelvaci
Copy link
Collaborator

Context

As of v0.47 of cosmos-sdk, block broadcast mode is deprecated. See ChangeLog.

We've seen this caused some issues in our acceptance tests. See #10728.

Currently, agoric wallet send uses -bblock:

['wallet-action', '--allow-spend', offerBody, '-ojson', '-bblock'],

I assume we should remove -bblock and start using default option sync. Thoughts? @turadg @LuqiPan

cc @Chris-Hibbert

@mhofman
Copy link
Member

mhofman commented Dec 19, 2024

I believe our plan is to keep support of -bblock in our fork, and actually remove the 30s timeout. @michaelfig @JeancarloBarrios

@michaelfig
Copy link
Member

our plan is to keep support of -bblock in our fork, and actually remove the 30s timeout.

Correct, we will make it more reliable than ever before! See agoric-labs/cosmos-sdk#423

Having an implementation within agd tx ... allows us to avoid any tricky client-side synchronisation problems, as well as copy-pasta between all shell scripts currently using -bblock.

Closing this issue as "not planned."

@michaelfig michaelfig closed this as not planned Won't fix, can't repro, duplicate, stale Dec 19, 2024
@michaelfig
Copy link
Member

Oh, maybe I didn’t actually clarify. -bblock has been a feature for the cosmos-sdk < v0.47.0. We’re currently on a fork of v0.46.x. When we upgrade, it will be to a fork of v0.50.x, with our reimplementation of -bblock added to our fork.

@anilhelvaci
Copy link
Collaborator Author

Having an implementation within agd tx ... allows us to avoid any tricky client-side synchronisation problems

In cosmos-sdk I've seen that sync option is said to be good for 99% of the cases. Are those "tricky client-side synchronisation problems" related to SwingSet then (assuming it has something to with its async nature)?

@michaelfig
Copy link
Member

Having an implementation within agd tx ... allows us to avoid any tricky client-side synchronisation problems

In cosmos-sdk I've seen that sync option is said to be good for 99% of the cases. Are those "tricky client-side synchronisation problems" related to SwingSet then (assuming it has something to with its async nature)?

It's not related to SwingSet, it's related to multiple calls to agd tx ... to result in errors if any of the transactions didn't get included in a block, without having to do a manual "subscribe to tx event, submit tx sync, wait for subscription to report" wrapper every time.

@anilhelvaci
Copy link
Collaborator Author

Alright, thanks Micheal! I think I need to do a little bit more research on broadcast modes and how clients are effected from the events happening between mempool and block inclusion. Maybe then I can bother you again.

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

No branches or pull requests

4 participants