-
Notifications
You must be signed in to change notification settings - Fork 791
Deprecate All The Things #1894
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
base: main
Are you sure you want to change the base?
Deprecate All The Things #1894
Conversation
rgo3
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was the retry logic always only intended for the SIGPROF case? Masking SIGPROF has been around for a while, wondering why we only remove the retry logic now?
Other deprecations LGTM!
Giga nit: There's a small typo in that last commit message, s/endlessely/endlessly
I think it also applies in the case of asynchronous preemption, which uses signals on Linux. Might have to double check whether that has special casing for threads in a syscall to not signal them (aka those are considered preempted). I would remove reset but keep the retry behaviour unchanged. I’ve got a branch which does that, I should probably dust it off. More generally, EINTR means try this operation again. Signals used to kill a process won’t return EINTR. So it’s not a clear cut thing to say that EINTR should be returned. The fact that nobody has complained so far tells me that the current code is at least not detrimental. Or that not many people benchmark programs like this (I found very few callers in open source software). |
As the function RewriteMaps will be removed upstream (see cilium/ebpf#1894 (comment)), move the code here. Fixes #954 Signed-off-by: Florian Lehner <florian.lehner@elastic.co>
CollectionOptions.MapReplacements has been available since 0.9.0. Now's the time to sunset this API. Signed-off-by: Timo Beckers <timo@isovalent.com>
This has been deprecated since v0.17.0. Use CollectionSpec.Variables instead. Signed-off-by: Timo Beckers <timo@isovalent.com>
This was replaced by NewFromFD in v0.14.0. Signed-off-by: Timo Beckers <timo@isovalent.com>
"Deprecated:" is an official convention recognized by Go's tooling (https://go.dev/wiki/Deprecated) and causes fields to be struck through in some editors. We shouldn't mark things deprecated unless we have the intention of removing them, which is not the case here. Changed the docstring to point users to the recommended alternative: fexit. Signed-off-by: Timo Beckers <timo@isovalent.com>
This was renamed and deprecated in v0.9.0. Signed-off-by: Timo Beckers <timo@isovalent.com>
This was deprecated in 0.9.0. Use errors.Is(err, asm.ErrUnreferencedSymbol) instead. Signed-off-by: Timo Beckers <timo@isovalent.com>
These were replaced by AssociateMap in v0.9.0. Signed-off-by: Timo Beckers <timo@isovalent.com>
This was replaced by Instruction.WithSymbol in v0.9.0 and has been deprecated since. Signed-off-by: Timo Beckers <timo@isovalent.com>
This was replaced by Instruction.Map in v0.9.0 and deprecated since. Signed-off-by: Timo Beckers <timo@isovalent.com>
a7ae4d3 to
e09b9ac
Compare
|
@lmb I've gone ahead and backed out of the Reset() removal entirely. Let's go ahead with converting Program.Benchmark() to take a Then the |
Program.{Test,Run,Benchmark}
This PR removes a bunch of interfaces we've marked as deprecated over the years, but never followed through on removing them. All of these are at least a few releases old, some dating back to 0.9.0. This should've given users ample time to migrate.
The addition of alternative, improved APIs are typically what causes deprecation notices to be given, so there should be a clear path forward for all things removed here.