Commit graph

518 commits

Author SHA1 Message Date
Ram Narayan Balaji
bb6a99b953
Feat# Include Fields Filter in EventBased Workflows and CheckChangeDescription Node (#26230)
* Include Fields in EventBased Workflows - Initial Commit

* Update generated TypeScript types

* Fix Include fields to be a map of arrays, Introduce checkChangeDescriptionTask as a separate node

* Update generated TypeScript types

* Extract common code into field value extractor

* chore: apply changes

Co-authored-by: yan-3005 <yan-3005@users.noreply.github.com>

* java checkstyle

* Fix Compilation errors

* Fix NPE bug

* Test fixes and improvements

* chore: apply changes

Co-authored-by: yan-3005 <yan-3005@users.noreply.github.com>

* Schema Changes for include fields and check change description

* Update generated TypeScript types

* Fixed 4 valid code review issues: migration idempotency bug (preventing false failures on re-runs), empty pattern string vulnerability (preventing unintended filter bypasses),
  removed unused dead code method, and corrected Javadoc inconsistency from {} to [] notation.

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gitar <noreply@gitar.ai>
Co-authored-by: yan-3005 <yan-3005@users.noreply.github.com>
Co-authored-by: Anujkumar Yadav <anujf0510@gmail.com>
2026-03-11 12:42:28 +05:30
Trang Nguyen [INT-DE]
de2e703fdd
Fixes #26225: Add index and FORCE INDEX for listLastTestCaseResultsForTestSuite (MySQL) (#26235)
* ISSUE-26225: add index idx_entity_timestamp_desc for data_quality_data_time_series

* ISSUE-26225: add index idx_entity_timestamp_desc for data_quality_data_time_series

* Update bootstrap/sql/migrations/native/1.12.2/mysql/schemaChanges.sql

* ISSUE-26225: fix the suggestion

---------

Co-authored-by: Teddy <teddy.crepineau@gmail.com>
Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
2026-03-06 07:55:41 -08:00
Pere Miquel Brull
f890e004ce
Move preview-to-enabled migrations from 1.11.13 to 1.13.0 (#26281)
The migrations renaming the 'preview' property to 'enabled' in apps
were incorrectly placed under 1.11.13. Move them to 1.13.0 where they
belong, since this change targets the next major release.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-06 12:36:32 +01:00
Teddy
40bf82f604
Minor move 20 migrations (#26236)
* FIX - Redshift converter (#26229)

(cherry picked from commit ce8e1e5b5b)

* chore: move 2.0 migration to 1.13.0

---------

Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
2026-03-05 08:11:15 -08:00
Pere Miquel Brull
c7f911e43a
Rename app 'preview' property to 'enabled' (#26170)
* Rename app 'preview' property to 'enabled' with inverted semantics

The 'preview' property was confusing: preview=false meant the app CAN
be used. Replace with 'enabled' where enabled=true means usable, which
is much more intuitive.

Changes across the full stack:
- JSON schemas: preview (default false) → enabled (default true)
- Java backend: isPreview/raisePreviewMessage → isEnabled/raiseNotEnabledMessage
- TypeScript types: preview → enabled
- Frontend component: isPreviewApp → isAppDisabled (checks enabled===false)
- SQL migrations for 1.11.12: rename + invert boolean in apps_marketplace
  and installed_apps tables (MySQL and PostgreSQL)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Update generated TypeScript types

* format

* improve deletion process for disabled apps

* improve deletion process for disabled apps

* improve deletion process for disabled apps

* improve deletion process for disabled apps

* format

* fix tests

* migration

* migration

---------

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-05 08:29:54 +01:00
Sid
12d85f310f
fix glossary status frontend filtering logic to move to backend (#25428)
* fix glossary status

* add glossaryTerm spec

* fix: improve ListFilter implementation in list filtering logic

Co-authored-by: siddhant1 <siddhant1@users.noreply.github.com>

* reset main backend

* reset backend

* fix be

* rever

* spottless

* Fix GlossrayTerm search api endpoint

* status enum validation

* fix spec

* Replace quotes, validate enum

* bind param queries

* Move migrations to 1.12.0

* fix api docs

* optimize performance of fallback , refactoring

* fix ListFilter

* GlossaryTermService.java cleanup

* address gitar-bot feedback

* add entityStatus param in list api

* add entityStatus param in list api

* Send entityStatus param with both search and list glossary term APIs

- Pass entityStatus to searchGlossaryTermsPaginated and
  getFirstLevelGlossaryTermsPaginated when a specific status filter
  is active (not 'all')
- Keep 'All' option in status dropdown with default selection of
  Approved, Draft, InReview
- Show appropriate empty state message when status filter returns
  no results

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* update list API path (ListFilter.getEntityStatusCondition) to validate against the enum, in case if an invalid value like "Bogus" is passed

* fix playwright

* Fix rejected glossary term staying visible in listing

Remove rejected terms from visible list when status filter excludes
them, and fix reused waitForResponse promise in Playwright test.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* add initian load

* Fix Expand All ignoring active status filter and add E2E tests

Pass entityStatus parameter in fetchExpadedTree so Expand All respects
the active status filter. Add E2E test suite to verify the behavior.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Rewrite Glossary Expand All E2E tests to follow Playwright handbook patterns

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

* Fix flaky GlossaryPagination test by scoping locators to glossary table

Scoped unscoped `tbody .ant-table-row` locators to `glossary-terms-table`
testid, and replaced unreliable row count assertion in empty state test
with visibility checks on `no-data-placeholder`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>

---------

Co-authored-by: Siddhant <siddhant@MacBook-Pro.local>
Co-authored-by: Gitar <noreply@gitar.ai>
Co-authored-by: siddhant1 <siddhant1@users.noreply.github.com>
Co-authored-by: Ram Narayan Balaji <ramnarayanb3005@gmail.com>
Co-authored-by: Ram Narayan Balaji <81347100+yan-3005@users.noreply.github.com>
Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
Co-authored-by: sonika-shah <58761340+sonika-shah@users.noreply.github.com>
Co-authored-by: Siddhant <siddhant@MacBook-Pro-3.local>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Co-authored-by: Siddhant <siddhant@MacBook-Pro-4.local>
2026-03-05 10:09:42 +05:30
Teddy
a456a194a9
ISSUE #3027 - Better Default (#26158)
* feat(metric default): move profiler and dq to obs folder

* feat(metric default): validate metric registry and schema

* feat(metric default): map metric type name to enum name

* feat(metric default): updated default metrics in profiler

* feat(metric default): migration to remove computeMetrics setting

* feat(metric default): fix CI failures

* feat(metric default): fix CI failures

* fix ci failures

* fix ci failures

* fix typo in psql migration query

* fix psql migration query

* fix ci failure

* fix: CI failures
2026-03-03 09:41:15 -08:00
Mayur Singal
31e2e59a00
Fix #26178: Add support for IAM auth for redshift (#26179)
* Fix #26178: Add support for IAM auth for redshift

* Missing files for the implementation

* Update generated TypeScript types

* adderess guitar comments

* address comments

* fix python tests

* fix redshift playright

* fix checkstyle

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-03-02 21:57:28 +05:30
Himanshu Khairajani
cf0fa0a519
Openlineage: Added Kinesis Support #24752 (#26050)
* Openlineage Kinesis Support

* Update generated TypeScript types

* marking field as required

* test-connection name improvement

* pagination improvement

* test-connection name improvement

* Update generated TypeScript types

* nested broker-config migration file

* newline added to yaml

* Migration to 1.11.2

* Migration to 1.11.12*

* fix: add throttle mechanism to kinesis get_records loop

Co-authored-by: Khairajani <Khairajani@users.noreply.github.com>

* fix: prevent timeout reset on sequential shard polling

Co-authored-by: Khairajani <Khairajani@users.noreply.github.com>

* Kinesis test-case

* Kinesis test-case

* setting lineageInformation object model and not raw dict

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gitar <noreply@gitar.ai>
Co-authored-by: Khairajani <Khairajani@users.noreply.github.com>
2026-02-26 14:20:46 +05:30
Sriharsha Chintalapani
7465810fdd
Audit Log performance improvements (#26023)
* Audit Log performance improvements

* Audit Log performance improvements

* Address comments

* removed fixme from audit log tests

---------

Co-authored-by: Rohit0301 <rj03012002@gmail.com>
Co-authored-by: Rohit Jain <60229265+Rohit0301@users.noreply.github.com>
2026-02-26 12:15:39 +05:30
Mohit Yadav
82b9d34806
Optimize indexing Processing to EsDoc (#26079)
* Optimize Reads with Keyset

* Optimize Search Index Processing stage

* Fix KeySet Cursor

* revert keyset for time series

* Fix Review Comments

* Move to 1.12.2

* Fix Review Comment

* Remove IF NOT EXISTS from mysql and update common mthod
2026-02-25 14:11:11 +05:30
harshsoni2024
4d017d3f32
Fix-20713: Add support for metadata ingestion using local file in REST connector (#26036) 2026-02-23 21:50:26 +05:30
Pere Miquel Brull
a1e3a49dae
MINOR - Allow app definition to pass the impersonation rules for bots (#25909)
* MINOR - Streamline bot impersonation from apps

* MINOR - Streamline bot impersonation from apps

* MINOR - Streamline bot impersonation from apps

* MINOR - Streamline bot impersonation from apps

* Update generated TypeScript types

* policy flag

* policy flag

* policy flag

* policy flag

* fix feedback

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-17 19:52:56 +01:00
Ram Narayan Balaji
91239164f5
delete workflow instance entries if status is null in migration (#25867) 2026-02-13 16:00:35 +05:30
Ram Narayan Balaji
f418203338
Fix: Resolve v1.12.0 migration failure due to NULL workflow status (#25834)
* Fix: Resolve v1.12.0 migration failure due to NULL workflow status

  ## Root Cause Analysis
  - Migration failed when modifying entityLink column in workflow_instance_time_series
  - MySQL's ALTER TABLE MODIFY COLUMN re-validates ALL generated columns for ALL rows
  - Found 184+ workflow instances created between Dec 2024 - Jan 2025 with NULL status
  - These were created with pre-v1.7.0 code that didn't set status field in JSON
  - v1.7.0 added status column as GENERATED NOT NULL but old instances had NULL values
  - v1.12.0 migration triggered constraint validation, causing "Column 'status' cannot be null"

  ## Solution
  - Add UPDATE statements before ALTER TABLE in v1.12.0 migration
  - Set status='FINISHED' for workflows with endedAt (completed)
  - Set status='FAILED' for workflows without endedAt (incomplete)
  - Use two separate queries for better performance vs CASE statements
  - Handle both workflow_instance_time_series and workflow_instance_state_time_series

* failed to FAILURE status
2026-02-12 19:32:57 +05:30
Sriharsha Chintalapani
b244798f22
Add bulk apis for pipeline status (#25731)
* Add bulk apis for pipeline status

* Update generated TypeScript types

* Fix gitar comments

* Update generated TypeScript types

* Fix pycheck

* Address comments

* Fix databricks test

* Move schema changes to 1.11.9

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: harshsoni2024 <harshsoni2024@gmail.com>
2026-02-10 18:14:06 +05:30
Sriharsha Chintalapani
6f577656c1
Fix integration tests (#25753)
* Fix - disk space in github workflows

* Fix - disk space in github workflows

* Fix - disk space in github workflows

* Fix running tests with bulk apis

* Fix running tests with bulk apis

* Address comments; make awaitability for tests

* Address comments
2026-02-08 21:16:28 -08:00
sonika-shah
30a4d32720
Fix entity version history of dataProducts after removing inputPorts/ field (#25702) 2026-02-05 11:59:24 +05:30
Aleksei Sviridkin
b2ac6f70d9
Fixes #24546: Add sobjectNames field for multi-object selection in Salesforce connector (#24547)
* feat(salesforce): add sobjectNames field for multi-object selection

Add support for specifying multiple Salesforce objects to ingest
instead of just one or all. The new `sobjectNames` array field
allows users to select specific objects (e.g., Contact, Account,
Lead) without having to ingest all objects and filter them.

Priority order:
1. sobjectNames (array) - if specified, use only these
2. sobjectName (string) - if specified and sobjectNames empty
3. All objects from describe() - if neither specified

tableFilterPattern applies in all cases as a final filter.

Co-Authored-By: Claude <noreply@anthropic.com>
Signed-off-by: Aleksei Sviridkin <f@lex.la>

* refactor: removed sobjectName field and added a migration for 1.11.8 to migrate sobjectName values to sobjectNames

* fix: sobjectNames priority comment

* refactor: sobjectNames changes in ts files

* fix: yaml structure in test_salesforce

* fix: test_salesforce.py - metadata as OpenMetadata object

* fix: added new line in sql migrations

* fix: sql migration serviceType

---------

Signed-off-by: Aleksei Sviridkin <f@lex.la>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Keshav Mohta <keshavmohta09@gmail.com>
Co-authored-by: Keshav Mohta <68001229+keshavmohta09@users.noreply.github.com>
Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
2026-02-02 16:05:59 +01:00
Ajith Prasad
f1fe02daff
Moved AI Application and LLM Model entities migrations to 1.12.0 (#25659) 2026-02-02 08:50:37 +01:00
Himanshu Khairajani
e86a0201ab
Fix #25645: MySQL timestamp precision for tag_usage.appliedAt (#25643)
* Fix MySQL timestamp precision for tag_usage.appliedAt

MySQL's TIMESTAMP type defaults to second precision, while PostgreSQL
returns microsecond precision. This causes _normalize_datetime_strings
in the Python ingestion client to produce spurious appliedAt diffs in
JSON patches, which then fail with "Failed to convert JsonValue to
target class" during deserialization in JsonUtils.applyPatch().

Upgrade appliedAt to TIMESTAMP(6) to match PostgreSQL behavior and
eliminate the spurious patch diffs.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add 1.11.8 migration for MySQL appliedAt timestamp precision

Backport the TIMESTAMP(6) fix to the 1.11.x release line so existing
deployments on 1.11.x pick up the fix without requiring a 1.12.0 upgrade.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 12:46:19 +01:00
sonika-shah
cec1829645
Fix DataProduct inputPorts/outputPorts orphaned fields migration issue after migration from 1.10.x to 1.12.x (#25634)
* Fix DataProduct inputPorts/outputPorts orphaned fields migration issue after migration from 1.10.x to 1.12.x

* escape ? as ?? for JDBI
2026-01-30 15:26:48 +05:30
mohitdeuex
fcc0c1d944 Drop constraint from postgres 2026-01-29 22:24:45 +05:30
Mohit Yadav
21750aaa90
Feature/search indexing issues (#25594)
* Add design doc for search indexing stats redesign

Covers:
- Simplified 4-stage pipeline model (Reader, Process, Sink, Vector)
- Per-entity index promotion instead of batch promotion
- Alias management from indexMapping.json
- Payload-aware vector bulk processor

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* Add Support for Per Entity Index Promotion

* Add UI Bit

* Add Lang

* Add AppLog View Test coverage

* Add Bathced Vector index querying

* Add Improvements for Vector to be async and also stats to be better handled

* Use Virtual Thread

* Use Virtual Thread

* Fix Tests

* Make reading stats easier

* Fixed Stats to be accurate

* Fix Stats getting null

* Fix partition worker stats

* Fix Reader Stats - final

* Update generated TypeScript types

* Make updates in 1.12.0

* Revert "Use Virtual Thread"

This reverts commit 4eb23374d1.

* Revert "Use Virtual Thread"

This reverts commit efe8d03b5d.

* Reapply "Use Virtual Thread"

This reverts commit d59cde18b2.

* Reapply "Use Virtual Thread"

This reverts commit 769e5710c3.

* Fix Final Update on stat

* - Add atomic alias swap
- remove unnecessary migration

* Fix Sonar test jest

* Fix Final Update on stat

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-29 18:50:39 +05:30
Mohit Yadav
0129f274ed
ReApply changes Fix Stats Issue and Add Tests (#25521)
* Fix Issue and Add Tests

* Update generated TypeScript types

* Fix CI jest failure

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-26 21:10:23 +05:30
Teddy
9e77872972
ISSUE #25482 - rule library validator implementation (#25497)
* feat(rule library): expend safe token

* feat(rule library): added validator class to testDefinition

* chore

* feat(rule library): implement validator logic

* feat(rule library): fix runtime errors

* feat(rule library): implement table level rule library

* feat(rule library): implement integration test for rule library

* feat(rule library): ran python linting

* feat(rule library): fix wrong import

* feat(rule library): added logic to catch template error

* feat(rule library): fix test to handle new validator class behavior

* feat(rule library): fix test to handle new validator class behavior
2026-01-25 16:58:38 +01:00
Sriharsha Chintalapani
b09f4828c4
Learning Resources (#25005)
* Add Learning Resources with-in product

* Translations

* Add Learning Resources in-line with-in product

* Add Learning Resources in-line with-in product

* Potential fix for code scanning alert no. 1844: Incomplete URL substring sanitization

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* Update generated TypeScript types

* Update the design

* Update the design

* Add leanring resources

* Update generated TypeScript types

* Add learning resources

* Update generated TypeScript types

* Address comments

* Address comments

* fixed build issue

* fix java checkstyle

* fixed initital bugs

* fixed less file name

* resolve conflict

* fixed failing unit test

* Address update issues, add more playwright tests

* Address update issues, add more playwright tests

* fixed code quality and updated all the missed pages with leanrning icon

* fixed invalid translation

* Added icon for rules library

* fixed unit tests

* replaced string with constants

* addressed comments

* resolved backend merge conflict

* removed plural label

* fixed header actions position

* fixed git-r comment

* added fixme to a test

* fixed label

* fixed flaky test

* Update generated TypeScript types

* removed playwright config file

* hide column view

* playwright fixes

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Dhruv Parmar <83108871+dhruvjsx@users.noreply.github.com>
Co-authored-by: sonika-shah <58761340+sonika-shah@users.noreply.github.com>
2026-01-25 07:20:14 -08:00
Eugenio
ce007263ef
Improve TagLabel with rich metadata (#25472)
* Ensure columns are retrieved in the right order

This is because since introducing ordering for `getTableColumnsByFQN`, the patches created in `removeTagFromEntity` were open to pointing to different columns if the default order didn't match how they were persisted in db

* Allow exception list to be updated on all feedback

* Apply gitar comments

* Add `metadata` to `tag_usage` table

* Update JSON schema object to include `TagLabel.metadata`

* Apply feedback to selected recognizer

* Add backend integration tests

* Update `ingestion` to return `TagLabel.metadata.recognizer`

* Update generated TypeScript types

* Update generated TypeScript types

* Send recognizer result metadata in feedback approval task (#25485)

* Send `TagLabelRecognizerMetadata` in `TaskDetails`

This is so we can show an explanation behind the classification in the feedback approval card

* Update typescript types

* Run Spotless

* Ensure `applyTagsBatchInternal` works equally for pg and mysql

* Tag metadata fixes

* Fix CI test

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Rohit Jain <60229265+Rohit0301@users.noreply.github.com>
Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
2026-01-24 10:09:06 +01:00
mohitdeuex
c006bdb2b0 Revert "Fix stats and Improve Search with Insights (#25495)"
This reverts commit 19725a7130.
2026-01-24 11:53:51 +05:30
Mohit Yadav
19725a7130
Fix stats and Improve Search with Insights (#25495)
* Fix Stats

* Add Warning logs and reindex failure analysis

* Add Search Insights in Preferences

* Add Label

* Fix Full Error not available

* Add check for reindex run
2026-01-24 10:27:46 +05:30
Pere Miquel Brull
6aa5a7f033
FIX #24374 - Data Contract at Data Product level (#25314)
* FIX #24374 - Data Contract at Data Product level

* Update generated TypeScript types

* FIX #24374 - Data Contract at Data Product level

* fix DP page

* fix: preserve termsOfUse object format in filtered contract

The termsOfUse field was being converted to a string during filtering,
but the form components expect it to be an object with {content: string}.
This was causing test failures where form elements were not visible.

- Keep termsOfUse as object format when not inherited
- Convert old string format to new object format for consistency
- Fixes 21 test failures in DataContracts.spec.ts and DataContractInheritance.spec.ts

* fix: address code review findings - state sync and immutability

Frontend changes:
- Add useEffect to sync formValues with filteredContract changes
- Ensures edit form updates when contract prop changes

Backend changes:
- Create deep copy at start of mergeContracts() to avoid mutating input
- Prevents side effects if contract object is reused elsewhere

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

* Addressing feedback

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

* fix tests

* fix inherited contract delete and status

* fix inherited contract delete and status

* fix inherited contract execution in app

* fix test

* fix: resolve playwright postgresql ci test failure

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

* ci: fix yaml validation and checkstyle failures

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

* fix: correct JSON/YAML validation errors

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

* fix: resolve maven-collate and ui-coverage test failures

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

* gitar feedback

* fix ci

* fix ci

* fix ci

* fix ci

* include .claude

* validate

* fix playwright

* playwright

* fix playwright

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Gitar <gitar@collate.io>
Co-authored-by: Gitar <noreply@gitar.ai>
Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>
Co-authored-by: Karan Hotchandani <33024356+karanh37@users.noreply.github.com>
Co-authored-by: karanh37 <karanh37@gmail.com>
2026-01-23 07:01:53 +01:00
Sriharsha Chintalapani
89f627da81
Distributed Search Indexing with Push Notifications (#24939)
* Add Distributed Indexing in Multi-Server scenarios

* Add Distributed Indexing in Multi-Server scenarios

* Update generated TypeScript types

* Handle Servers leaving and joining

* Update generated TypeScript types

* spotless fix

* Refactor Code for Single Server and Multiple Server

* Add Metrics and Search Index Orphaned Cleanup

* Add Language

* Add Test settings

* Add Test data

* Add Test data

* Update generated TypeScript types

* Add Load Test for more entities

* Add Stats fix

* Add server information

* Fix Staging INdex unavailable to DistributedJobParticipant

* Fix Stats issue

* Align Tests

* Fix Stats and Error Handling

* participant stat fix

* Fix coordinator stats

* Add E2E failure tests

* Fix Stats for Reader and Sink

* Added flush for sinking stats

* Add language label

* Fix Entity Build Errors

* Missing commit

* Update generated TypeScript types

* Change runId to serverId

* Fix test failures

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
Co-authored-by: mohitdeuex <mohit.y@deuexsolutions.com>
2026-01-23 06:12:05 +05:30
Teddy
83143d5748
ISSUE #2032-CLT: Entity History Endpoint (#25410)
* feat: added repository logic to list all versions (including latest) for a specific entity type

* feat: added list all versions for all the entity resources

* feat: moved endpoint to EntityResource

* feat: renamed endpoint to /history and methods to EntityHistory

* feat: ran java linting

* feat: remove v1 implementation left over code

* feat: fix failing tests

* feat: ran klinting

* feat: fix psql query

* feat: address PR comments

* feat: ran klinting

* feat: increase cache duration

* feat: address query edge cases
2026-01-21 06:52:23 +01:00
harshsoni2024
44740ad5c5
Fix: remove overrideLineage config from database service metadata pipeline (#25379)
* remove overrideLineage from db metadata pipeline

* Update generated TypeScript types

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Mayur Singal <39544459+ulixius9@users.noreply.github.com>
2026-01-20 09:08:26 +05:30
Teddy
2aac0b29ad
ISSUE #2652 - Freshness TZ (#25261)
* feat: add freshness tz support

* feat: added localization to handle DST

* style: fix code formatting and variable names

* style: ran python linting

* style: ram python linting

* style: fix linitng errors

* style: fix linting for GX based on version

* Fix: pass a string array to psql migration
2026-01-19 11:46:18 +01:00
Teddy
6cc7c24278
ISSUE #2681 - Add Missing test parameters in PSQL (#25323)
* fix(dq): psql migration for row insert test parameters

* fix(dq): use name and add trailing new line

* Fix description formatting in postDataMigrationSQLScript.sql

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-01-16 12:09:15 +01:00
Sriharsha Chintalapani
69ef1371bc
Rules library (#24748)
* Add DQ Rules Library

* Add DQ Rules Library - Add Tests and enable testDefinitions through APIs to list

* Add DQ Rules Library - Add Tests and enable testDefinitions through APIs to list

* Add DQ Rules Library - Add Tests and enable testDefinitions through APIs to list

* Update generated TypeScript types

* Add DQ Rules Library - Add Tests and enable testDefinitions through APIs to list

* Add DQ Rules Library - Add Tests and enable testDefinitions through APIs to list

* Update generated TypeScript types

* Refactor tests to use toStrictEqual for string comparisons and improve consistency

- Updated various test files to replace `toBe` with `toStrictEqual` for string assertions in ImportStatus, SummaryCard, TabsLabel, and others.
- Enhanced regex tests to ensure accurate validation of entity names and tags.
- Added new translations for test platform warnings in en-us.json.
- Improved utility tests for alerts, authentication, CSV handling, and task messages to use `toEqual` for better clarity.

* Refactor TestDefinitionForm and TestDefinitionList components to use updated API methods and improve SQL expression handling

* Enhance TestDefinitionList component with permission checks for edit and delete actions, and update tests to reflect changes in permission handling

* Remove debug log from handleSubmit in TestDefinitionForm component

* Add permission loading state and enhance permission handling in TestDefinitionList component

* Update generated TypeScript types

* Update generated TypeScript types

* Update generated TypeScript types

* fix build failure

* Revert "Update generated TypeScript types"

This reverts commit 67b062216f.

* Enhance TestDefinitionForm and TestDefinitionList components with improved UI and pagination handling

* fix: update RulesLibrary tests and enhance TestDefinitionForm styling

* fix: Enhance TestDefinitionForm with error handling and improved UX

* fix: Update test definition handling and improve rendering in TestDefinitionList

* fix: Refactor TestDefinitionPermissions tests for improved permission checks and API context handling

* fix: Update system test definition retrieval to use findLast for improved accuracy

* feat: Add end-to-end tests for Rules Library and Test Definition Permissions

* fix: Update edit button visibility check to use beDisabled for better clarity

* fix: Refactor response handling in TestDefinitionPermissions tests for improved reliability

* move migrations execution order

* fix: remove existing columns

* style: remove migration extra line break

* chore: fix migration

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Shailesh Parmar <shailesh.parmar.webdev@gmail.com>
Co-authored-by: TeddyCr <teddy.crepineau@gmail.com>
2026-01-14 08:12:30 +01:00
Pere Miquel Brull
1099379616
AI #200 - Add TRIGGER permission to application bots (#25113)
* AI #200 - Add TRIGGER permission to application bots

* Addressing feedback

Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>

---------

Co-authored-by: Gitar <noreply@gitar.ai>
Co-authored-by: pmbrull <pmbrull@users.noreply.github.com>
2026-01-14 06:50:48 +01:00
Eugenio
c66d9eebf6
Tagging explanation (#24817)
* Added `appliedAt` field to `TagLabel`s

This is to track insertions to `tag_usage` with timestamps

* Capture and format recognition explanations in `TagAnalyzer`

This creates a function to build an explanation to why something was scored as it was.

# Conflicts:
#	ingestion/src/metadata/pii/algorithms/presidio_utils.py

* Refactor `TagProcessor`

* Capture results for the old-style `PIIProcessor`

* Move strings to constants

* Add `TagLabel.appliedBy` field

This change also patches the user's name into the tags declared in `JsonPatch` objects to fill it up

* Update typescript types

* Fix python tests

* Fix java tests

* Simplify setting tag's `appliedBy` using `EntityUpdater.updatingUser`

* Remove unnecessary f-string

* Moar fixes

* Move migrations to 1.11.5
2026-01-08 17:02:40 +01:00
Sriharsha Chintalapani
4c3f6dd1e3
Fix audit logs (#25127)
* Fix Audit Logs Migration; Add Improved UX for audit logs; Fix export async option

* Fix Audit Logs Migration; Add Improved UX for audit logs; Fix export async option

* Change UUID fields to type UUID from String in AuditLogs (#25119)

* Change UUID fields to type UUID from String

* Fix Row Mapper

* fix tests

* Reverted migrations to create and alter

* Revert "Reverted migrations to create and alter"

This reverts commit af71a454d7.

---------

Co-authored-by: Ram Narayan Balaji <81347100+yan-3005@users.noreply.github.com>
Co-authored-by: Ram Narayan Balaji <ramnarayanb3005@gmail.com>
2026-01-08 07:42:30 -08:00
Ajith Prasad
9dd364e207
Saml redirect Uri logic corrected (#24861)
* Saml redirect Uri logic corrected

* Added TCs for Saml AuthHandler

* Sidebar documentation improvement

* remove legacy SAML authenticator and merged it with generic authenticator

* remove saml_callback check

* Removed authority url from saml configuration

* Update generated TypeScript types

* Remove authority url from doc

* Added migration to remove saml authority url

* Added postgres migration fix

---------

Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-01-08 10:04:52 +05:30
Sriharsha Chintalapani
dca6256588
Audit logs (#23733)
* Add Audit Logs UI page

* Add Audit Logs UI page

* Update generated TypeScript types

* Adddress comments; Add more test coverage

* Update generated TypeScript types

* Fix gitar comments

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
2026-01-05 19:58:53 -08:00
Sriharsha Chintalapani
c62395b955
Fix #24578: Datamodels not visible if . in service name (#24779)
* Fix #24578: Datamodels not visible if . in service name

* Add migrations and tests

* Move migrations to 1.12.0
2025-12-27 10:00:26 -08:00
Bhanu Agrawal
71b23f1d24
Fix search percentile rank scoring (#24859)
* Fix search percentile rank scoring

* Added support for generic methods to merge search settings properties

* Added tests for search settings merge util

* Fixed palywright test for Restore default search settings
2025-12-23 18:06:27 +00:00
Teddy
8986523ea6
chore: realign main migration with 1.11.1 branch (#24938) 2025-12-22 09:03:28 +01:00
Teddy
66f2cb4d9c
fix: add lowcardinality support (#24921) 2025-12-20 13:03:17 +00:00
Sriharsha Chintalapani
0d132ada6a
Fix #23853: AI Governance and Compliance Framework for AI Applications (#23854)
* Fix #23853: AI Governance and Compliance Framework for AI Applications

* Update generated TypeScript types

* Update generated TypeScript types

* trigger ci

* Fix #23853: AI Governance and Compliance Framework for AI Applications

* Fix test failures

* Merge origin/main into ai_agents - added pipeline execution features and resolved conflicts

* Update generated TypeScript types

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
2025-12-11 20:54:45 -08:00
Eugenio
c89bc2adac
Allow multiple classifications in TagProcessor (#24545)
* Oh boy, factory-boy

Created a bunch of `factory-boy` factories that help creating mock test data easily

* Update `try_bind` docker utility to ease debugging

* Resolve conflicts between `Classification` tags

* Refactor `TagClassifier` into another entity

This is so:
1. We're not tied to the `ColumnClassifier` interface that forced returning `Mapping[T, float]` (unnecessary since we're returning `List[ScoredTag]`
2. The tag analyzer uses the same `recognizer_factories` registry we used for `PIIProcessor`
3. Create a separate service that abstracts using `TagScorer` and `TagAnalyzer` to return `TagScore`s (makes testing upstream code easier)

* Interface to retrieve available `Tag`s and `Classification`s

* Refactor `TagProcessor` to support multi-classification

- Depends `ClassificationManagerInterface` to retrieve `Tag`s and `Classification`s
- Uses a callable dependency to score tags for a column
- Accepts a classification filter parameter
- Leverages `ConflictResolver` to resolve conflicts between tags of the same `Classification`

* Add an integration test for the `TagProcessor`

* Ensure `PII` classification is configured with migrations

# Conflicts:
#	bootstrap/sql/migrations/native/1.11.1/mysql/postDataMigrationSQLScript.sql
#	bootstrap/sql/migrations/native/1.11.1/postgres/postDataMigrationSQLScript.sql

* Move `FakeClassificationManager` to `_openmetadata_testutils`

This is because importing from `tests` breaks in the CI when running pytests from the root of the repo

* Fix broken mutually exclusive classifications

This is because the implementation did not take into account previous tags when resolving conflicts.

This caused that running the classifier twice for a classification, with a mutually exclusive configuration, would end up breaking the exclusivity
2025-12-10 07:26:12 -08:00
Teddy
d5c6e5b19a
ISSUE #24020: add supportedServcices for relavnt service DQ display (#24706)
* fix: add supportedServcices for relavnt service DQ display

data diff is not supported by all services. We need to only
display it on supported services

* fix: added query param and create filed
2025-12-05 15:40:33 +01:00
Ram Narayan Balaji
1bec15ea39
Feat: #24424 Flowable History Timed Cleanup and Ops Command for cleanup (#24367)
* Flowable History Timed Cleanup and Ops Command for cleanup

* Remove Commented Code

* Update generated TypeScript types

* Fix Migration column name

* Test Cases

* Remove cleanupAll parameter

* cron for default every sunday 12 am

* cron for default every sunday 12 am - 0 0 0 ? * 1

* Move Migrations to 1.11.1

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-12-05 16:35:23 +05:30