Skip to content

tenable_ot_security: change assets fingerprint to id plus timestamps#17670

Merged
efd6 merged 3 commits intoelastic:mainfrom
efd6:17628-tenable_ot_security-fingerprinting
Apr 15, 2026
Merged

tenable_ot_security: change assets fingerprint to id plus timestamps#17670
efd6 merged 3 commits intoelastic:mainfrom
efd6:17628-tenable_ot_security-fingerprinting

Conversation

@efd6
Copy link
Copy Markdown
Contributor

@efd6 efd6 commented Mar 4, 2026

Proposed commit message

tenable_ot_security: change assets fingerprint to id plus timestamps

Change the assets document fingerprint from a full-body hash to a hash
of the asset id and all timestamp fields (firstSeen, lastSeen, lastHit,
lastSnapshot, lastUpdate, runStatusTime). This preserves update history;
a new document is created whenever a timestamp changes without the
duplicate-on-every-poll problem caused by the full-body hash.

Change the risk.total_risk field type from keyword to double. The field
carries a floating-point risk score and double is the correct type.
This type change also causes Fleet to trigger an automatic data stream
rollover on upgrade: the putMapping call fails with an
illegal_argument_exception when it tries to change the field type in
the existing backing index, and Fleet responds by rolling over. The
rollover starts the life-cycle clock on the old backing index so
duplicate documents from the _id scheme change age out without manual
intervention.

The Kibana version constraint is tightened to ^8.16.1 || ^9.1.4 so
that 9.x users see the breaking-change call-out. Where possible,
upgrading to 1.1.0 first and allowing at least one asset collection
interval before upgrading to 2.0.0 avoids the overlap period entirely.

Checklist

  • I have reviewed tips for building integrations and this pull request is aligned with them.
  • I have verified that all data streams collect metrics or logs.
  • I have added an entry to my package's changelog.yml file.
  • I have verified that Kibana version constraints are current according to guidelines.
  • I have verified that any added dashboard complies with Kibana's Dashboard good practices

Author's Checklist

  • [ ]

How to test this PR locally

Related issues

Screenshots

@efd6 efd6 self-assigned this Mar 4, 2026
@efd6 efd6 added enhancement New feature or request breaking change Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations] Integration:tenable_ot_security Tenable OT Security labels Mar 4, 2026
@efd6 efd6 force-pushed the 17628-tenable_ot_security-fingerprinting branch from 1e53601 to a243eca Compare March 4, 2026 23:00
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Mar 4, 2026

✅ Vale Linting Results

No issues found on modified lines!


The Vale linter checks documentation changes against the Elastic Docs style guide.

To use Vale locally or report issues, refer to Elastic style guide for Vale.

@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

elastic-vault-github-plugin-prod Bot commented Mar 4, 2026

🚀 Benchmarks report

To see the full report comment with /test benchmark fullreport

@efd6 efd6 force-pushed the 17628-tenable_ot_security-fingerprinting branch from a243eca to 9a03959 Compare March 5, 2026 06:40
@andrewkroh andrewkroh added the documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. label Mar 5, 2026
@efd6 efd6 force-pushed the 17628-tenable_ot_security-fingerprinting branch 3 times, most recently from 991695c to 80b6359 Compare March 10, 2026 09:58
@efd6 efd6 marked this pull request as ready for review March 10, 2026 09:59
@efd6 efd6 requested a review from a team as a code owner March 10, 2026 09:59
@elasticmachine
Copy link
Copy Markdown

Pinging @elastic/security-service-integrations (Team:Security-Service Integrations)

kcreddy
kcreddy previously approved these changes Mar 12, 2026
@efd6
Copy link
Copy Markdown
Contributor Author

efd6 commented Mar 12, 2026

@kcreddy I plan to sit on this for a while. Will convert to draft again until we are ready.

@efd6 efd6 marked this pull request as draft March 12, 2026 03:47
@kcreddy kcreddy dismissed their stale review March 12, 2026 03:49

In draft

@andrewkroh andrewkroh removed the documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. label Mar 15, 2026
Change the assets document fingerprint from a full-body hash to a hash
of the asset id and all timestamp fields (firstSeen, lastSeen, lastHit,
lastSnapshot, lastUpdate, runStatusTime). This preserves update history
— a new document is created whenever a timestamp changes — without the
duplicate-on-every-poll problem caused by the full-body hash.

This is a breaking change: the _id scheme change means every existing
asset document will be duplicated until lifecycle policy removes the
old versions. Customers upgrading from 1.0.0 should install 1.1.0
first and allow at least one successful asset collection interval
before upgrading to this version.

The kibana.version 9.0 constraint is removed; by requiring v9.1.4 or
better, we ensure that those users will get a breaking change callout.
The 8.19 users will not, but this is a trade off against not providing
bug-fixes for them if we remove them from the constraint.
@efd6 efd6 force-pushed the 17628-tenable_ot_security-fingerprinting branch from 80b6359 to 1112533 Compare March 31, 2026 02:17
@efd6 efd6 marked this pull request as ready for review March 31, 2026 03:21
@efd6 efd6 requested review from andrewkroh and kcreddy March 31, 2026 03:22
- description: >-
The _id scheme change means every existing asset document will be
duplicated until lifecycle policy removes the old versions. Customers
upgrading from 1.0.0 should install 1.1.0 first and allow at least
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we might have a problem with these instructions. It looks like on Serverless a user can only install latest if I'm understanding the UI.

Image

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This means that we need to leave this open for a while. I think that is a defect TBH.

@andrewkroh andrewkroh added the Integration:microsoft_exchange_online_message_trac Microsoft Exchange Online Message Trace label Apr 1, 2026
Copy link
Copy Markdown
Contributor

@kcreddy kcreddy left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Echoing same concern as Andrew, otherwise looks good.

conditions:
kibana:
version: "^8.19.4 || ~9.0.7 || ^9.1.4"
version: "^8.19.4 || ^9.1.4"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you mean to modify the exchange package and the tenable_ot_security package?

@andrewkroh andrewkroh removed the Integration:microsoft_exchange_online_message_trac Microsoft Exchange Online Message Trace label Apr 8, 2026
@efd6 efd6 requested a review from andrewkroh April 8, 2026 21:41
@efd6
Copy link
Copy Markdown
Contributor Author

efd6 commented Apr 8, 2026

/test

@andrewkroh andrewkroh added the documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. label Apr 8, 2026
@efd6 efd6 force-pushed the 17628-tenable_ot_security-fingerprinting branch 3 times, most recently from e6fb903 to 15143ea Compare April 8, 2026 23:49
@efd6 efd6 force-pushed the 17628-tenable_ot_security-fingerprinting branch from 15143ea to 908d4f9 Compare April 8, 2026 23:58
@elasticmachine
Copy link
Copy Markdown

💚 Build Succeeded

History

cc @efd6

@efd6 efd6 merged commit 0af6f81 into elastic:main Apr 15, 2026
13 checks passed
@elastic-vault-github-plugin-prod
Copy link
Copy Markdown

Package tenable_ot_security - 2.0.0 containing this change is available at https://epr.elastic.co/package/tenable_ot_security/2.0.0/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change documentation Improvements or additions to documentation. Applied to PRs that modify *.md files. enhancement New feature or request Integration:tenable_ot_security Tenable OT Security Team:Security-Service Integrations Security Service Integrations team [elastic/security-service-integrations]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[tenable_ot_security.assets] Some assets are missing

4 participants