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

Drop ABI v0.1.0 #22

Closed
codefromthecrypt opened this issue Nov 2, 2022 · 9 comments
Closed

Drop ABI v0.1.0 #22

codefromthecrypt opened this issue Nov 2, 2022 · 9 comments

Comments

@codefromthecrypt
Copy link
Contributor

Per #10 the current code doesn't properly implement v0.1.0, and worse that version isn't really used or maintained anymore. I suggest focusing effort on maintained ABI. Notably this should also drop "wasi_unstable" for "wasi_snapshot_preview1" as that's what's in use by current compilers.

Until this is dropped implementing another host impl is too much low value work, as it is porting for unused and unmaintable ABI.

@taoyuanyuan @antJack FYI I'm pausing efforts until this is done as I am way over budget already and there's no value proceeding if we have to support an incorrect implementation of an unused ABI version.

@antJack
Copy link
Contributor

antJack commented Nov 3, 2022

it's better to let both v0.1.0 and v2 coexist, since we still have internal usage of v0.1.0, and can still build up v0.1.0's wasm file, ref: #23.
we also welcome to update the example and the recommended version to v2, ref: #23

@codefromthecrypt
Copy link
Contributor Author

v2 here is incompatible with normal v2 so it is really not worth doing. For example, people using current SDKs will fail in a very hard to troubleshoot way. I learned this after opening this issue.

@codefromthecrypt
Copy link
Contributor Author

I think the best approach is to let this repo die and create a compatible implementation directly in mosn/mosn. that way current users can stay taken care of even if they are using revlocked sdks. once they migrate, this repo can be archived.

@codefromthecrypt
Copy link
Contributor Author

I don't disagree about lack of documentation. however, it is hurting mosn to intentionally not be compatible with current SDKs. For example, you can't upgrade tinygo and the version in use is highly flawed.

Another choice is to stop using proxy-wasm, because it is incompatible with other proxy-wasm.. since that's the case it is suspicious why use it at all.

@codefromthecrypt
Copy link
Contributor Author

things have changed a lot since #10 also, even if the spec is still very poor. The ecosystem make more tests to deal with this, since mosn is also go it can benefit from it.

https://github.com/tetratelabs/proxy-wasm-go-sdk/releases/tag/v0.20.0

Anyway it is your choice, but I think this isn't proxy-wasm anymore it is a dialect of it, and version locked with tooling no-one else can use. I'll close this issue though as it is clear this repository must stay how it is for the foreseeable future.

@antJack
Copy link
Contributor

antJack commented Nov 3, 2022

the lack of documentation is an important problem, any update on v2 ABI just goes on sdk codes, and we do not have so much time to keep follow with the latest code.

@codefromthecrypt
Copy link
Contributor Author

the documentation problem of proxy-wasm will never change, imho. waiting for that is like waiting for the sun to turn blue. I don't really care, just I was hopeful to be able to help show a nice go server technology able to do well. I can't do it here because you have some constraints that don't match reality.

  1. cannot stop incompatible 1.0
  2. cannot change 2.0 to be compatible

so, I have nothing I can offer. In any case I don't really like proxy-wasm personally anyway. I just wanted to help show a better proxy story in go 🤷

@antJack
Copy link
Contributor

antJack commented Nov 3, 2022

Maybe a bit of a misunderstanding, it's free to make 2.0 compatible with current sdk, we welcome pr.

@codefromthecrypt
Copy link
Contributor Author

ok I have run out of time and working in this codebase is still costly due to the way it is structured and not tested. don't wait for me. It would be much faster to start over.

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

2 participants