Open
Description
I'm (one of) the maintainer(s) of Dapr (dapr.io), a CNCF microservices project which today has a Kitex integration.
Kitex has been the worst third party dependency to deal with. Every time a new Go version is released the current Kitex version in use by us does not compile with that Go version, then I am forced to update the Kitex SDK (and dependencies) which brings breaking changes into our code I need to fix.
Please remove the Go version restriction, or I will be removing the Kitex integration from Dapr. No other dependency used by us in Dapr (and there are many!) has this problem.
Metadata
Assignees
Labels
No labels
Activity
berndverst commentedon May 1, 2024
FYI @liu-song - you contributed the Kitex integration to Dapr. I hope you can coordinate this. Otherwise Dapr 1.14 will be the last version which will contain Kitex.
liu-song commentedon May 2, 2024
Received. After the May Day holiday in China, we will discuss and make a decision
felix021 commentedon May 6, 2024
Hi @berndverst, we're sorry for the inconvenience.
We do rely on some features bound with go version to improve the performance (mostly for registering new modules into go runtime, i.e. JIT, used by github.com/bytedance/sonic).
But we already have compilation tags to fallback to non-dependent code for newer go versions which should not cause such errors again (for sonic, frugal, dynamicgo). Are you using the latest Kitex already? What are the compilation errors you encounter?
FYI @liu-song
YangruiEmma commentedon May 6, 2024
I'm very sorry for the bad experience you had. The problem you encountered should be related to a dependency library github.com/choleraehyq/pid of Kitex. We will remove the dependency of this library in the near future. cc @joway
joway commentedon May 13, 2024
@berndverst #1347
With new design, we change to use symbol table to find the Go runtime internal representation to avoid go version restriction. And we add a test if the newest go version cannot compatible with it, it will failed.