-
Notifications
You must be signed in to change notification settings - Fork 25k
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
Ingest community_id processor deviates from the community-id-spec #105247
Comments
Pinging @elastic/es-data-management (Team:Data Management) |
Here's a case where we deviate from the spec:
This results in So there's a clear case of some issue in our tests where we're not actually covering the specified behavior correctly. We should expand the tests to cover more of the |
Ah, here's something.
Correctly yields But:
Should also yield |
Hi, I took a look into this, I believe the community ID implementation is generally correct. Addressing the first issue:
Results in For the second and third issues I believe the cause of this is that when the protocol is ICMP/ICMP6, the Processor expects a separate When I move
Results in: And
Gives me I think whether we also want to accept ports as icmp types/codes is something that warrants discussion, but I think the current behavior is also fairly reasonable. |
Ahhhhhhhhhhhhhhhhhhhhh... I see it now. (Placeholder: actual thoughts to follow after I eat something.) |
Okay, I was ambushed by a feral weekend, but I'm back.
Yes, precisely, you're quite right. I think there's a docs enhancement to put through that'll tie this up rather nicely -- here are two documents representing an ICMP timestamp request and response, both have a community id of
We've gotten a couple of questions from users related to using "port 0" but I suspect that those users were making a mistake along the same lines as the one I was was making. Given that, I think we can close this ticket. |
Results in
1:wCb3OG7yAFWelaUydu0D+125CLM=
, which matches the first row in the table 'Default settings' table.Similarly:
Results in
1:crodRHL2FEsHjbv3UkRrfbs4bZ0=
in the middle of the table.So we're all good on those.
However, changing the
iana_number
to17
on that last example gives the following result:Placeholder editorial comment: I'm not absolutely certain as I write this ticket right now whether it's correct for us to do this kind of validation at this point or not -- is it up to us at this stage to tell users that the data is bad (is it even bad?) or should we just process it?
Another case where we deviate from the documented spec is captured in #105247 (comment). I haven't debugged the issue there well enough to say why our value is different than the specified value, however.
My recollection is that the Elasticsearch implementation is a port of the beats implementation, so if we're wrong in these ways then they're probably wrong in these ways, too. When we figure out the ways in which we're wrong, we should make sure to raise that with them, too. At the very least it makes sense to add a few more cases to their test suite to confirm that they handle these cases correctly, but if they have the same issues we do then those issues should also be fixed so that our behaviors stay in sync. (See #55685 / #66534.)
An annoyance here is that fixing the broken behavior is probably a breaking change -- if you've been relying on the community ids that we've been providing, and those values have been consistently wrong, then when we fix the behavior you'll get new different values that while correct are now different than what you'd seen before. 🤷
The text was updated successfully, but these errors were encountered: