OpenMetadata/openmetadata-spec
Mohit Yadav 08e52b96c8
Fix payload size issue (#27388)
* Fix Payload Size issue, increase  bufer

* Handle single entitiy with > 10 mb

* Single entity push

* Normalize SQl Queries

* Update generated TypeScript types

* Add Tests

* Fix Failing Test

* Revert fixes

* Fix Tests

* Strip Lineage

* Strip lIneage and make default 9 mb

* Add Warn log on Large entity size

* Review Comments

* Remove hierarchical fields

* remove team containing users

* revert unwanted changes

* Fix test failures from payload size default change

- Update mock expectations in SearchIndexExecutorControlFlowTest and
  DistributedJobParticipantTest to use DEFAULT_BULK_PAYLOAD_SIZE_BYTES
  instead of hardcoded 104857600L (old 100MB default)
- Remove "charts" from DashboardIndex excluded fields — charts are needed
  for search filters and column lineage resolution

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix hardcoded payload size fallback in DistributedJobParticipant

Replace hardcoded 104857600L with SearchClusterMetrics.DEFAULT_BULK_PAYLOAD_SIZE_BYTES
to use the centralized 9MB default consistently.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Spotless

* Update payLoadSize schema defaults to 9MB

The JSON schema default for payLoadSize was 104857600 (100MB), which
meant EventPublisherJob.getPayLoadSize() always returned 100MB instead
of null, bypassing the DEFAULT_BULK_PAYLOAD_SIZE_BYTES fallback in
DistributedJobParticipant. Align schema defaults with the 9MB bulk
payload limit.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review comments: fix log message, reuse getLineageData, fix test key algorithm

- Fix misleading log in stripLineageForSize: report post-strip size, not
  imply bytes removed
- Reuse getLineageData() in populateLineageData() instead of duplicating
  the DAO call and edge construction loop
- Fix AddUpdateLineageScriptTest key algorithm to use maxKey+1 matching
  the Painless script, avoiding key collisions after deletions

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Address review: equals() in Painless, prune stale SQL keys, flush oversized single ops

- Use .equals() instead of == for string comparison in REMOVE_LINEAGE_SCRIPT
  Painless to be explicit about value equality and null-safe (params on left)
- Prune orphaned sqlQueryKey in ADD_UPDATE_LINEAGE when updating an edge
  with a different SQL query, preventing unbounded lineageSqlQueries growth
- Restore currentBufferSize >= maxPayloadSizeBytes check in
  CustomBulkProcessor.add() so a single oversized operation is flushed
  immediately rather than sitting in the buffer
- Update AddUpdateLineageScriptTest to mirror the new pruning logic

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-15 13:29:26 +02:00
..
src Fix payload size issue (#27388) 2026-04-15 13:29:26 +02:00
lombok.config Issue-19251: Upgrade dropwizard to 4.x and Jetty to 11.x (#19252) 2025-05-27 20:31:59 +05:30
pom.xml Fix Metrics collection; reduce no.of metrics; improve slow request lo… (#25751) 2026-03-13 13:38:31 -07:00