[Discussion] - Breaking change resulting from data type changes of mapped attributes #13861
Labels
discuss
integration
Label used for meta issues tracking each integration
Team:Security-Service Integrations
Security Service Integrations team [elastic/security-service-integrations]
Team:Sit-Crest
Crest developers on the Security Integrations team [elastic/sit-crest-contractors]
In some scenarios we might have to make subsequent updates to existing integrations where the update would involve changing the data type of an existing mapped attribute.
This could be because of reasons such as :-
In such cases, an update made to change the data type would be considered a breaking as it would create conflicts in kibana search queries / dashboards (if they were being used). Till now we have generally followed the philosophy of incrementing the major version of integrations when it comes to breaking changes. However in some cases such breaking changes have been assessed to have minimal impact mainly due to -
Such a case was recently occurred in this PR, and in the discussion here it was clarified that even if a field is not explicitly indexed (because of a data type mismatch), it is still explicitly mapped and that would be enough for conflicts to occur when the backing index for the data stream gets created, more details in the discussion.
After discussions across the team it was how ever assessed that the impact of this change would be minimal, and the conflicts would self correct with an index rollover and passage of time, hence it was decided to mark this particular PR as a bugfix and not a breaking-change. It was also kind of decided that we would analyse such cases moving forward on a case by case basis and decide if they are significant to be a breaking-change or a bugfix.
Recently another such PR has come into play, where there is a data type change leading to a breaking-change. However we have only done an increment for the "minor" version here (which is generally reserved for enhancements) and marked it as a breaking-change.
The issue is that there seems to be a bit of confusion on how to handle the version increments and the type of change it should be marked as due to the case-case policy we are going by at the moment.
Issues resulting from a case-by-case approach:
Questions:
cc: @elastic/security-service-integrations @elastic/sit-crest-contractors @andrewkroh @narph
The text was updated successfully, but these errors were encountered: