mirror of
https://github.com/nspcc-dev/neofs-sdk-go.git
synced 2026-03-01 04:29:18 +00:00
Drop grpc/profobuff dependencies #215
Labels
No labels
I2
I3
I4
S1
S2
S3
S4
U0
U1
U2
U2
U2
U3
U4
blocked
bug
client
config
discussion
documentation
enhancement
epic
feature
go
good first issue
help wanted
performance
pool
question
security
task
test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
nspcc-dev/neofs-sdk-go#215
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @carpawell on GitHub (Jan 31, 2024).
Is your feature request related to a problem? Please describe.
I'm always frustrated when I see them as explicit requirements in
go.mod. Also, newReplicateObjectRPC is the only RPC that our API repo does not support (generated RPC only, no corresponding funcs innspcc-dev/neofs-api-go@70b1ffbd81/rpc), why?Describe the solution you'd like
Do API-dependent things/implementations in the API repo, and reuse its functionality in SDK.
Describe alternatives you've considered
Nothing. Not sure I would think differently ever. At least -- if we change our perception of the API/SDK, their relations, etc -- we should do it once and with two repos at a time, not one by one.
Additional context
All the thoughts in the thread.
@roman-khimov commented on GitHub (Jan 31, 2024):
I see your point and yes, inconsistency wrt api-go is bad. At the same time, how about dropping api-go? I don't see it solving any problem for us, there are zero other users of api-go, no one needs it except for SDK. You can argue about potential v3, but even that can be handled internally by SDK and other languages (all those 20 languages we support, right?) can do whatever they want with the stable API definitions.
@carpawell commented on GitHub (Jan 31, 2024):
Dont mind. Maybe even a little "for". But what bothers me is that there is no issue about it (ok, I may be missing it but there is no link to it in the merged PR then), and it is "started" in some weird way with a single method that is still originally generated in
api-gorepo. Also, I do not like how often NeoFS does one thing and then does it back (SDK and api-go were together once, so much code was part of the node, then part of SDK, then there is an issue to make it part of the node again, etc). So much useless work (but api-go is full of useless wrappers itself, agree), we should discuss, make a decision, find a way to implement, and just do it, no partial unfinished work.@roman-khimov commented on GitHub (Jan 31, 2024):
Yes. We've not touched api-go for some time.
Obviously, @cthulhu-rider just followed the path of least resistance which is to skip api-go. The choice was either to stop him doing that and lose some time refactoring the thing or accept this contribution that solves some problem as is (leaving the question for this issue, notice that we still can refactor, but after it's all integrated).
Everyone hates it.
They were separated to:
Both goals are good on their own, but over time you can notice that in fact:
pool, for example)The ideal world wrt this issue is:
$LANGUAGEBut you know the reality, it doesn't and can't work this way for NeoFS. So we can keep api-go just because we have it and 10 years from now it might become useful in some way or we can forget about it and simplify the process.
Which one?
@carpawell commented on GitHub (Jan 31, 2024):
I understand and deny this approach for things that are well structured and that a side reader can not expect. No issue about changing our approach (or no link to an issue), no discussion, just done and forgotten. Just like our
replicationpkg in the node.No problem, but where is an issue about? How to understand if we are dropping it or not?
Just an example: https://github.com/nspcc-dev/neofs-sdk-go/pull/36 and https://github.com/nspcc-dev/neofs-sdk-go/pull/526, ok, it is not even an issue, it is a ready-to-merge suggestion (already done work, harder to complain at review stage, that is what i am talking about) that exactly declines the previous work. We did it more than once.
@roman-khimov commented on GitHub (Jan 31, 2024):
Communication. Like this one here.
We're not merging #526 in its current form for sure.