-
Notifications
You must be signed in to change notification settings - Fork 25.6k
[Failure store] Remove ::* selector
#121900
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
[Failure store] Remove ::* selector
#121900
Conversation
|
Pinging @elastic/es-data-management (Team:Data Management) |
| public static IndexComponentSelector read(StreamInput in) throws IOException { | ||
| return getById(in.readByte()); | ||
| byte id = in.readByte(); | ||
| if (in.getTransportVersion().onOrAfter(TransportVersions.REMOVE_ALL_APPLICABLE_SELECTOR)) { |
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.
More versions will be added here when it gets backported.
server/src/main/java/org/elasticsearch/cluster/metadata/IndexNameExpressionResolver.java
Outdated
Show resolved
Hide resolved
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.
LGTM! Left one question re: bwc and serialization, but otherwise good to go
| DATA("data", (byte) 0), | ||
| FAILURES("failures", (byte) 1), | ||
| ALL_APPLICABLE("*", (byte) 2); | ||
| FAILURES("failures", (byte) 1); |
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.
This is an unlikely scenario but could we ever end up in a place where a new selector added here could collide with the old ::* value in a mixed cluster?
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.
Hm.... Interesting thought. Thinking out loud because this is a tough cookie.
If we implement this the way it's now and backport it back to 8.18 and 8.x.
We can remove this backwards compatibility code from 9.x; because you always have to go through the 8.last version. 8.last will never propagate this selector because it matches it to ::data and this selector is never persisted anywhere, I think. Furthermore, there is no CCR or CCS supported yet. Right?
This means that if we ever introduced ::* in 9+ we could distinguish the two. Right?
To simplify the failure store API we remove the wildcard selector
::*.When a user wants to access both data and failure components they can write
my-ds,my-ds::failuresormy-ds::data,my-ds::failures.This should simplify the security model as well.