* fix: memory hardening to prevent OOMKill under concurrent ingestion load
Convert Guava caches from count-based to weight-based eviction to cap
total heap consumed. Bound unbounded queues and thread pools that could
grow without limit under load. Cap per-request entity cache, strip full
entity data from ChangeEvents, add LIMIT to unbounded SQL queries, and
set a 50MB JSON input size constraint.
Key changes:
- EntityRepository CACHE_WITH_ID/NAME: maximumSize(20K) -> maximumWeight(200MB)
- GuavaLineageGraphCache: maximumSize(100) -> maximumWeight(100MB)
- SubjectCache, SettingsCache, RBAC cache: weight-based eviction
- EntityLifecycleEventDispatcher: bounded queue (5000) + CallerRunsPolicy
- EventPubSub: bounded ThreadPoolExecutor(4-32) replacing unbounded CachedThreadPool
- RequestEntityCache: LRU cap at 50 entries per thread
- ChangeEvent: lightweight entity ref instead of full entity embedding
- CollectionDAO.listUnprocessedEvents: added LIMIT 1000
- JsonUtils: maxStringLength capped at 50MB (was Integer.MAX_VALUE)
- WebSocketManager: cleanup empty user maps on disconnect
- BULK_JOBS: reduced retention from 1h to 5min, capped at 100 concurrent
- Default heap bumped from 1G to 2G with G1GC and HeapDumpOnOOM
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* revert: remove createLightweightEntityRef — preserve entity type safety in ChangeEvents
The Map-based lightweight ref broke type safety and downstream code
expecting typed entities. Reverted all .withEntity() calls back to
passing the original entity. The ChangeEvent already carries entityId,
entityType, and entityFullyQualifiedName as separate fields, so the
full entity embedding can be addressed separately with a proper
withEntityRef() approach.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address code review — TOCTOU race, weigher accuracy, serialization cost, event pagination
- BULK_JOBS: synchronized check-then-put to eliminate TOCTOU race
- CacheWeighers.stringWeigher: account for UTF-16 (2 bytes/char + 40B overhead)
- Replace jsonSerializationWeigher with toStringWeigher to avoid full JSON
serialization on every cache put (was hitting SubjectCache and SettingsCache)
- Revert LIMIT 1000 on listUnprocessedEvents(offset) — the sole caller uses
it for counting unprocessed events and doesn't paginate, so the LIMIT would
silently undercount. The paginated overload already exists for bounded fetching.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: use weight-based 100MB cap for entity caches, delete CacheWeighers, add memory tests
The two entity JSON caches (CACHE_WITH_ID, CACHE_WITH_NAME) are the only
caches storing arbitrarily large values (1KB to 2MB+). A count-based
maximumSize can never be safe — 1000 × 2MB = 2GB, 20K × 2MB = 40GB.
For String values, `length() * 2 + 40` is the exact Java heap cost
(UTF-16 encoding + object header). This is a single field read, zero
allocation, and mathematically precise — not an estimate.
Changes:
- CACHE_WITH_ID/NAME: maximumWeight(100MB) with inline string weigher
- Delete CacheWeighers utility — weigher is now inlined, no indirection
- Other caches: keep maximumSize with conservative counts (values are
small fixed-size objects where count-based eviction is appropriate)
- Add EntityCacheMemoryTest proving:
* Count-based cache with 500 × 500KB entities consumes 249MB
* Weight-based cache correctly evicts to stay within 100MB cap
* Mixed sizes: 2MB entities correctly evict smaller entries
* String weigher formula is mathematically exact
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: add integration test proving entity cache memory behavior under load
EntityCacheMemoryIT runs against a real server to validate:
1. concurrentLargeTableFetches_heapStaysBounded: Creates 30 tables with
300 columns each (~100-500KB JSON per entity), then 5 concurrent
clients hammer GET /api/v1/tables by ID and FQN repeatedly. Asserts
that >95% of fetches succeed (server stays alive) and heap growth is
bounded under 500MB (proves cache cap works).
2. largeTableJsonSize_isSignificant: Creates a 300-column table, fetches
it, serializes to JSON, and measures the size. Asserts JSON > 50KB,
then projects that 20K entries at this size would consume >500MB —
proving the old maximumSize(20000) config is dangerous.
Heap measurement uses the /prometheus endpoint (jvm_memory_used_bytes
with area="heap") for real server-side metrics, not client-side Runtime.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: make cache sizes configurable via openmetadata.yaml
Add CacheConfiguration with env-var-overridable settings for all cache
groups. Caches that don't have a specific override fall back to defaults.
Configuration in openmetadata.yaml:
cache:
defaultMaxSizeBytes: 50MB # fallback for unspecified caches
defaultTTLSeconds: 300
entityCacheMaxSizeBytes: 100MB # CACHE_WITH_ID, CACHE_WITH_NAME
entityCacheTTLSeconds: 30
lineageCacheMaxEntries: 50 # lineage graph cache
lineageCacheTTLSeconds: 300
authCacheMaxEntries: 5000 # SubjectCache (user context + policies)
authCacheTTLSeconds: 120
Entity caches and auth caches are rebuilt at startup via initCaches()
once the configuration is loaded. Fields are volatile to ensure
visibility across threads during the swap.
Customers with large heap (e.g., Myntra with 12GB) can tune:
ENTITY_CACHE_MAX_SIZE_BYTES=500000000 # 500MB for better hit rates
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: resolve Jackson property name conflict for cache configuration
Rename field/getter from cacheConfiguration/getCacheConfiguration() to
cacheMemoryConfiguration/getCacheMemoryConfiguration() to avoid
conflicting with the existing getCacheConfig() (Redis cache provider).
Jackson infers property name from getter, so both resolved to "cache".
YAML key is now "cacheMemory:" to match.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: restore SubjectCache TTLs to prevent UserResourceIT flaky failure
The testUserContextCachePerformance test asserts >30% cache hit
improvement. Our initCaches() was replacing the USER_CONTEXT_CACHE TTL
from 15 minutes to 2 minutes (the policies TTL), making cache entries
expire too fast for the test's sub-millisecond timing to detect a
difference.
Fix: keep original TTLs hardcoded (2 min for policies, 15 min for user
context) since they serve different freshness needs. Only max entries
is configurable via authCacheMaxEntries. Restore USER_CONTEXT_CACHE
default to 10000 (User objects are small, original was fine).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address all PR review comments
Review fixes:
- WebSocketManager: use computeIfPresent for atomic disconnect cleanup
- BULK_JOBS: move capacity check before async scheduling, throw
WebApplicationException(429) instead of RuntimeException(500)
- Entity cache comments: "exact" → "conservative upper-bound" (Java 21
compact strings may use fewer bytes)
- EntityCacheMemoryTest: @Tag("benchmark") to exclude from CI, replace
flaky heap assertions with deterministic payload accounting
- EntityCacheMemoryIT: @Isolated + @Tag("benchmark"), sum all heap pool
samples from Prometheus, remove Runtime fallback, handle unavailable
metrics gracefully
- JsonUtils: clarify comment as "~50M chars" not "50 MB"
- Remove dead config fields (defaultMaxSizeBytes, defaultTTLSeconds,
lineageCacheMaxEntries, lineageCacheTTLSeconds) — not wired to code
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: restore GuavaLineageGraphCache to use config.getMaxCachedGraphs()
The hardcoded maximumSize(50) was silently ignoring the
LineageGraphConfiguration setting while the log still reported the
config value — misleading. Restored to config.getMaxCachedGraphs()
(default 100) which is already safe since put() rejects graphs above
the mediumGraphThreshold.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address @pmbrull review — named constants, RBAC cache via config
Pere's review comments:
1. EntityRepository:312 "shouldnt this be part of the config too?"
→ Default values now reference CacheConfiguration.DEFAULT_* constants
instead of inline magic numbers. initCaches() overrides at startup.
2. CacheConfiguration:37 "how did we come up with this default?"
→ Added Javadoc on each constant explaining the rationale (100MB safe
for 2-8GB heap, 30s TTL matches original, 5000 entries for small objects).
3. OpenSearchSearchManager:113 "why is this not managed via config?"
→ RBAC cache now configurable via cacheMemory.rbacCacheMaxEntries
env var RBAC_CACHE_MAX_ENTRIES (default 5000). Added initRbacCache()
called from app startup.
4. RequestEntityCache:28 "what are the magic numbers?"
→ Extracted INITIAL_CAPACITY, LOAD_FACTOR, ACCESS_ORDER as named
constants. Added Javadoc on MAX_ENTRIES_PER_REQUEST explaining the
50-entry cap rationale.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address Copilot review — Semaphore for bulk jobs, plain Cache for RBAC, @Valid config
1. BULK_JOBS: Replace synchronized+ConcurrentHashMap with Semaphore for
thread-safe concurrency limiting. tryAcquire() is atomic, release()
in whenComplete ensures permits are always returned.
2. RBAC cache: Switch from LoadingCache with null-returning CacheLoader
to plain Cache<String, Query>. The CacheLoader was dead code — all
callers use get(key, Callable). Null returns from CacheLoader would
throw InvalidCacheLoadException.
3. CacheConfiguration: Add @Valid to the cacheMemory field in
OpenMetadataApplicationConfig and initialize inline so @Min
constraints are enforced by Bean Validation at startup.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: rewrite EntityCacheMemoryIT as diagnostic with per-phase heap breakdown
The previous 500MB hard assertion was too tight — total heap growth
includes non-cache overhead (change events, search indexing, request
buffers, thread stacks, GC pressure). 744MB growth for 30 large tables
with concurrent fetching is expected server-wide, not just cache.
New test structure:
- Takes heap snapshots at each phase (baseline, schema setup, table
creation, sequential fetches, concurrent storm, 5s settle)
- Logs a full diagnostic report with per-phase growth breakdown
- Dumps JVM memory pool details from Prometheus (per-pool used/max,
buffer memory, GC live data, thread count)
- Asserts only on what matters: >95% fetch success rate (server alive)
- Heap growth is logged for analysis, not hard-asserted
This lets us see WHERE the 744MB goes — is it table creation (change
events), sequential fetches (cache fill), or the concurrent storm
(request amplification)?
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* perf: eliminate deepCopy in RequestEntityCache — store JSON strings instead
RequestEntityCache previously called JsonUtils.deepCopy() on both put()
and get(), creating ~990KB of allocation per 247KB entity interaction
(deepCopy on put + deepCopy on get). This was the largest contributor
to the 12.7x memory amplification per entity in the createOrUpdate path.
Fix: store JSON strings (immutable, safe to share) instead of entity
objects. put() serializes once to JSON, get() deserializes back. No
defensive copying needed since strings are immutable.
Measured improvement (30 tables × 300 columns, 5 concurrent fetchers):
Before (deepCopy): 702MB retained after settle, +407MB total growth
After (JSON cache): 434MB retained after settle, +325MB total growth
GC live data: 232MB (vs 200MB cache budget — only 32MB overhead)
Improvement: 268MB less retained heap (38% reduction)
The table creation phase went from +340MB to -88MB (GC could reclaim
during creation since RequestEntityCache no longer holds deepCopy'd
objects).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: add per-entity allocation budget to memory diagnostic report
The diagnostic test now reports exactly where memory goes for each
entity creation and fetch, based on code path tracing:
Per-table create (247KB entity, 300 columns):
DB storage (serializeForStorage): ~247KB
Search indexing (buildSearchIndexDoc): ~1394KB
├─ getMap(entity) full entity→Map: ~494KB
├─ pojoToJson(searchDoc) Map→JSON: ~247KB
└─ indexTableColumns (300 cols × 3KB): ~900KB
ChangeEvent (entity embedded + serialized): ~494KB
Redis write-through (dao.findById): ~247KB
RequestEntityCache (pojoToJson): ~247KB
Other (relations, inheritance): ~150KB
TOTAL PER TABLE: ~2.7MB (~11x amplification)
Per-fetch (GET /api/v1/tables):
Guava cache hit → readValue(JSON): ~495KB
setFieldsInternal (10+ DB queries): ~50KB
RequestEntityCache put (pojoToJson): ~247KB
HTTP response serialization: ~247KB
TOTAL PER FETCH: ~1MB
30 creates + 900 fetches = ~81MB creates + ~913MB transient fetch allocs.
GC live data after settle: 247MB (only 47MB above 200MB cache budget).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: RBAC cache null handling and semaphore permit leak on submission failure
1. RBAC cache: Guava Cache forbids null values — Cache.get(key, Callable)
throws InvalidCacheLoadException if Callable returns null. The RBAC
evaluator returns null when no RBAC query is needed. Fixed by using
getIfPresent() + manual put() instead of get(key, Callable), and
skipping the filter when the query is null.
2. Bulk job semaphore: permit was acquired before supplyAsync() but if
the executor rejects the task (AbortPolicy + full queue), the permit
was never released because whenComplete was never registered. Wrapped
task submission in try/catch to release on failure.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* Update docker/docker-compose-openmetadata/env-mysql
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Update docker/docker-compose-openmetadata/env-postgres
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
* Limits
* Limits
* - Mismatched Types
* Update Limits config response
* Update Limits feature response
* Limits
* Limits
* - Mismatched Types
* Update Limits config response
* Update Limits feature response
* Limits: add entity resource enforcer
* Limits: fix rebase
* update limits enforcement
* Add OperationContext to limits
* chore: Bump versions to `1.4.0`
* chore: Bump Ingestion Versions to `1.4.0.1` for Release
* chore: Bump Ingestion Versions to `1.4.0.1` in Dockerfiles for Release
* Remove Retry From Abstract Event Consumer (#16405)
(cherry picked from commit f8ed079731)
* Fix Migrations: Add postgres migrations (#16403)
(cherry picked from commit 9416a7ac5f)
* Add Null Check for isAdmin (#16407)
* Remove Retry From Abstract Event Consumer
* - Add Check for null Or Empty in isAdmin
* - Fix Test
(cherry picked from commit fe2db2d63c)
* Fix OpenLineage ingestor (#16416)
* Fix OpenLineage ingestor
* py format
---------
Co-authored-by: ulixius9 <mayursingal9@gmail.com>
* Minor: added whats new for 1.4.1 (#16420)
* Minor: added whats new for 1.4.1
* added note in to whats new
* Fix SSL issue (#16412)
* chore: Bump Versions for `1.4.1` Release
* chore(release): Prepare Branch for `1.4.2`
* [MINOR] partition migration issue with redshift servics (#16452)
* fix: partition migration issue with redshift servics
* chore: typo in sql comment
(cherry picked from commit 451d73593e)
* minor(ui): update what's new for 1.4.2 (#16457)
(cherry picked from commit d55981adfd)
* fix: ingestion for dbt > 1.8.0 resource_type is not an enum (#16415)
* fix: resource_type is not an enum
* feat: add log to display finis
* improve readability
* use getattr to be compatible
* format
* Add Cache Query Param for Limits
* Only Parse view query (#16470)
* add limit check during user creation via PUT
* add limit check during user creation via PUT
* MINOR: Kafka Setup SSL Arg Fix (#16469)
* Fix#16404 - Show Node level lineage by default (#16445)
* default to node layer
* update cypress
* code cleanup
* fix cypress
(cherry picked from commit f0cda8464f)
* Invalidate count of data asset after hard delete. add limit exception to ingestion client
* - Remove Change Description from Lineage (#16488)
(cherry picked from commit 9e5c5529a8)
* - Non Indexable fields should be remvoed at the end (#16499)
(cherry picked from commit f0b0f7a942)
* fix announcement not redirect from landing page (#16506)
* fix announcement not redirect from landing page
* minor changes
* change in cypress test
(cherry picked from commit ee7cddd169)
* Fix Schema Field Null Issue (#16510)
(cherry picked from commit 022772943f)
* feat(ui): limits integration with application (#16206)
* feat(ui): limits integration with application
* support pipelineSchedules via limit api
* enforce limit to all the modules
* update banner styling
* update
* support disable option for ManageButton
* limit version
* fix spotlight
* update tests
* Add name and version history to resource limits
Refactor the getEntityIcon function and add new icon mappings
* limit version
* hide access token tab
* fix version for all the entity
* fix tests
* fix DQ tests
* Add fallback for the icon
* Revert the fallback icon changes
* Apply the limit to the add ingestion button in the service details page
* Fix the data quality tab add test button not working
* fix banner styling
* minor fix
* Fix ingestion component unit test
* Add InlineAlert component
* update entityNameLabels mapping object
* Fix the incorrect link in LimitBanner
* update pricing page url
* Create the GlobalSettingsClassBase
* Update URLs for pricing page and upgrade options
* fix global settings uncaught error
* add parameters to the resource limit API
* implement inline alerts for service and alert creation form
* update PRIVILEGES for docker
* fix layout issues
* fix tests
---------
Co-authored-by: Aniket Katkar <aniketkatkar97@gmail.com>
* Add token limitations
* Add token limitations
* Add appType as part of schema in ingestion pipeline (#16519)
* #16489: fix the redirect issue to new tab for tags and glossary (#16512)
* fix the redirect issue to new tab for tags and glossary
* fix the redirect on cancel icon and unit test issue
* changes as per comments
(cherry picked from commit 8d312f0853)
* Fix #16229 - Tag and Service filters for test cases (#16484)
* fix: added test case support for tags (inherit from table/column)]"
* feat: add tag and service filter for test cases
* feat: add tier query param
* fix: tests
(cherry picked from commit 6b00dde902)
* fix: None type is not iterable (#16496)
(cherry picked from commit 656da03b14)
* minor(ui): refresh token for OIDC SSO (#16483)
* minor(ui): refresh token for OIDC SSO
* remove frame window timeout issue
* increase iFrame timeout for oidc
(cherry picked from commit 1a6c4c9720)
* feat(ui): support tag & tier filter for test case (#16502)
* feat(ui): support tag & tier filter for test case
* fix tag filter
* allow single select for tier
* added service name filter
* update cypress for tags, tier & service
* add specific add for filters
* fix tier api call
(cherry picked from commit 5b71d79e8a)
* minor: sanitize activity feed editor content (#16533)
* Add appType as part of schema in ingestion pipeline (#16519)
* Fixed quicksight conn (#16537)
* fix: saml auth for new user not created (#16543)
* fix: saml auth for new user not created
* doc: add comment
* Fix#16491 - fix lineage edge description update (#16538)
* fix lineage edge description update
* fix tests
(cherry picked from commit dff0aa8dbe)
* CYPRESS: fix announcement cypress (#16536)
* fix announcement cypress
* changes as per comments
* fix the cypress failure
(cherry picked from commit fcb87b5866)
* [MINOR] Fix Test Failure for EventRegistration
* [MINOR] Fix Test Failure for EventRegistration
* [MINOR] Fix Test Failure for EventRegistration
[MINOR] Fix Test Failure for EventRegistration
* Fix Event Handlers registration Issue (#16544)
* Fix Event Handlers Issue
* Review Comments
(cherry picked from commit d374e48b79)
* [MINOR] Fix Test Failure for EventRegistration
(cherry picked from commit 4563ad4fd1)
* Fix Topic Schema missing messageSchema (#16545)
(cherry picked from commit b612dd90c0)
* Add limits exception cache in rest client
* MINOR: Ignore Cluster Information from columns (#16495)
* minor: improve the block editor initial content history (#16540)
* Minor: fixed data quality page type issue (#16556)
* #16521: fix issue in userProfilePage for roles. teams and displayName (#16527)
* fix update on roles and backlink them in user profile page
* fix teams, displayName and profile pic issue
* sonar fix
* fix cypress issue
* minor changes
(cherry picked from commit 98945cb2db)
* Empty quick filters (#16402)
* initial commit for empty quick filters
* update progress
* fix field title
* cleanup
* add tests
* unit tests
* fix encoding of search query
* add cypress tests
* add cypress
* fix flaky cypress
* fix review comments
* revert tooltip changes
* fix tests
* fix tests
(cherry picked from commit 5930cd7a7a)
* Fix#16278 : Search to display Draft glossaryTerms on Explore page (#16462)
* Fix#16278 : Search to display Draft glossaryTerms as well on Explore page
* add term status quick filter
* change aggregation key for status field
* change aggregation key for status field
* add lowercase_normalizer in status filed for aggregate api
* add cypress tests
* fix cypress
---------
Co-authored-by: karanh37 <karanh37@gmail.com>
Co-authored-by: Karan Hotchandani <33024356+karanh37@users.noreply.github.com>
(cherry picked from commit ae5e9d61cc)
* [FIX] GlossaryTerm reviewers should be user or team only (#16372)
* add teams as reviewer
* Check Users to be reviewers
* Reviewers can be a team or user
* Fix check by id or name
* Review can be team or user both
* Validate Reviewers
* add multi select control
* - Fix Reviewers
* - Centralize Reviewer Relationship to EntityRepository
* - Sort
* add team as reviewer for glossary terms
* locales
* cleanup
* - Update Reviewer should remove existing reviewers
* fix selectable owner control
* fix code smells
* fix reviewer issue
* add glossary cypress
* fix patch issue on reviewers set to null
* update cypress tests
* fix cypress
* fix cypress
* fix reviewers in glossary task and supported cypress
* fix pytest
* Fix
* fix cypress
* fix code smells
* Inherited Reviewers need to be present always
* filter out inherited users
* fix cypress
* fix backend tests failure
* fix backend tests failure -checkstyle
* restrict owner to accept task in case of reviewer present
* fix pytest
---------
Co-authored-by: karanh37 <karanh37@gmail.com>
Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
Co-authored-by: Karan Hotchandani <33024356+karanh37@users.noreply.github.com>
Co-authored-by: Ashish Gupta <ashish@getcollate.io>
Co-authored-by: ulixius9 <mayursingal9@gmail.com>
Co-authored-by: sonikashah <sonikashah94@gmail.com>
(cherry picked from commit 9ec3d94e3b)
* Add testSuite tags, domain field and check for TestCase limits
* fix owner not showing after refersh in teams page (#16567)
(cherry picked from commit 119fcf8959)
* [ISSUE-16503] Fix createUser to use EntityResource (#16549)
* Fix createUser to use EntityResource
* fix broken tests
* Fix Tests - 3
(cherry picked from commit aeb020ae3b)
* what's new for 1.4.2 (#16568)
(cherry picked from commit c86468d992)
* address feedbacks
* fix error for bots page
* update banner text
* allow force fetch limit
* fix ingestion schedule
* Revert "Merge branch '1.4.2' into limits"
This reverts commit 8e965207a2, reversing
changes made to 4d16531965.
* Merge 1.4.2 (#16578)
* fix explore page conflicts
* fix tests
---------
Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Co-authored-by: Chira Madlani <chirag@getcollate.io>
* fix subheader
* Updating glossary reviewers should propagate reviewers in glossary term (#16580)
* highlight inherited reviewer in glossary
* locales
* use glossary name for search query
* fix glossary version cypress
* add union datatype for subfields
* Adding reviewer to glossary also adds them as an assignee to the task
* add glossary approval cypress
---------
Co-authored-by: sonikashah <sonikashah94@gmail.com>
(cherry picked from commit 4c8bf1cac1)
* Update documentation for Search Index apis (#16539)
(cherry picked from commit d3123c4914)
* cypress: fixed flakiness and announcment cypress (#16579)
* fetch latest limit for create / delete operations
* guard datAsset limit got topic, dashboard, mlmodel etc
* Fix: Ensure correct index mapping in Elasticsearch for clusterAlias (#16589)
* Fix: Ensure correct index mapping in Elasticsearch for clusterAlias
* Fix: Ensure correct index mapping in Elasticsearch for clusterAlias
(cherry picked from commit 8723b8c36a)
* cypress: fixed cypress AUT for mysql (#16446)
* cypress: fixed cypress AUT for mysql
* minor fix
* skip announcment redirection cypress
* Minor: Ensure correct index mapping in Elasticsearch for clusterAlias (#16598)
(cherry picked from commit 04543722a6)
* Fix Postgres Application listing (#16600)
* Fix Postgres Application listing
* Fix Listing
(cherry picked from commit 77dfe1f6af)
* fix limit related issue
* Fix Automations limits invalidation during the uninstall
* cypress: fixed 1.4.2 AUT cypress (#16602)
* cypress: fixed 1.4.2 AUT cypress
* fix cypress around announcement,user,glossary, lineage and mydata
* searchIndexApplication fix and minor changes
---------
Co-authored-by: Ashish Gupta <ashish@getcollate.io>
* test: add updateJWTTokenExpiryTime util (#16606)
(cherry picked from commit 8c173bed6a)
* OSS changes for adding automator cypress tests (#16611)
* Fix Test Suite Filter (#16615)
Co-authored-by: Sriharsha Chintalapani <harshach@users.noreply.github.com>
(cherry picked from commit 3db41f08e2)
* MINOR: Fix Profiler for SSL Enabled Source (#16613)
* Add Test Suite SSL (#16619)
* MINOR: Fix ssl connection in usage & lineage (#16625)
* Fix owner notification (#16629)
* - Fix Task notification not getting sent to owners
* - Fix Task notification not getting sent to owners
(cherry picked from commit cc2d581eb0)
* chore(release): Prepare Branch for `1.4.3`
* - Fix User Signup (#16667)
(cherry picked from commit b4cba8a850)
* - Fix User Signup - p2
(cherry picked from commit d9ae6f6db9)
* - Update What's new (#16669)
- fix vulnerability
(cherry picked from commit 1dcb1bd46f)
* Minor: Fix incorrect alert on signup page (#16666)
* Fix Application enforceLimits during install
* Wrap the add test button with limits wrapper for column profile tab
* fix errors
* fix tests
* fix pylint
* fix tests
* fix limits
* pylint
* fix schedule options
* fix glossary spec failure
* Add domain & tags to testSuite
* Update airflow-apis-tests-3_9.yml
---------
Co-authored-by: mohitdeuex <mohit.y@deuexsolutions.com>
Co-authored-by: Chira Madlani <chirag@getcollate.io>
Co-authored-by: Pablo Takara <pjt1991@gmail.com>
Co-authored-by: Akash-Jain <15995028+akash-jain-10@users.noreply.github.com>
Co-authored-by: Mohit Yadav <105265192+mohityadav766@users.noreply.github.com>
Co-authored-by: Ayush Shah <ayush@getcollate.io>
Co-authored-by: Maxim Martynov <martinov_m_s_@mail.ru>
Co-authored-by: ulixius9 <mayursingal9@gmail.com>
Co-authored-by: Shailesh Parmar <shailesh.parmar.webdev@gmail.com>
Co-authored-by: Teddy <teddy.crepineau@gmail.com>
Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Co-authored-by: Antoine Balliet <antoine.balliet@gorgias.com>
Co-authored-by: Suman Maharana <sumanmaharana786@gmail.com>
Co-authored-by: Karan Hotchandani <33024356+karanh37@users.noreply.github.com>
Co-authored-by: Ashish Gupta <ashish@getcollate.io>
Co-authored-by: Aniket Katkar <aniketkatkar97@gmail.com>
Co-authored-by: Sachin Chaurasiya <sachinchaurasiyachotey87@gmail.com>
Co-authored-by: Onkar Ravgan <onkar.10r@gmail.com>
Co-authored-by: Pere Miquel Brull <peremiquelbrull@gmail.com>
Co-authored-by: Mayur Singal <39544459+ulixius9@users.noreply.github.com>
Co-authored-by: sonika-shah <58761340+sonika-shah@users.noreply.github.com>
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
* Fix supported characters in SM
* Update SM
* Fixes
* Fixes
* Improve class conversion exceptions
* Comments
* Rename noop to db secrets manager providee
* Update sm
* Fix
* db SM
* db SM
* Fix test
* UI
* Update openmetadata-ui/src/main/resources/ui/src/mocks/IngestionListTable.mock.ts
* update default
* - Removed Logi Configuration from the openmetadata.yaml
- Migrated Login Configuration to the UI
* Removed ApplicationConfig from tests
* Added Custom Header Logo Url
* Update field to favicon
* support login conifguration
* chore(ui): update logo and login config md files
* fix validation issue
* add cypress
* restructure folders and set default fallback for favicon
* autofocus to first field of edit form
---------
Co-authored-by: Chirag Madlani <12962843+chirag-madlani@users.noreply.github.com>
Co-authored-by: Sachin Chaurasiya <sachinchaurasiyachotey87@gmail.com>
* Updating Dockerfile with multistage
* Updating reviewed changes
* Docker Development changes
* Docker workflow changes
* Arguments update
* Script path update
* Arguments update
* Resolving the reviewed suggestions
* Preparing for next release and updating docker sort value changes
* Adding .dev0 in the python related release version
* Adding .dev0 in the python related release version
* Add Pipeline Service Status Job to publish to Prometheus
* Add Pipeline Service Status Job to publish to Prometheus
* Add config for health check interval
* Adding the different docker-compose file openmetadata and ingestion
* Added two different env files for mysql and postgres
* Updated the docker file path
* Updated the path of docker folder structure
* Fix docker
* Updating the PR with necessary changes required
---------
Co-authored-by: “Vijay” <“vijay.l@deuexsolutions.com”>
Co-authored-by: Akash-Jain <Akash.J@deuexsolutions.com>