Skip to main content
Version: v3.4 print this page

Default Amorphic Datasource

The Default Amorphic Datasource is the built-in catalog datasource for your current Amorphic environment. It holds searchable metadata for platform resources created in this deployment-datasets, jobs, pipelines, glossaries, domains, tenants, and more so they appear under Data Discovery → Catalog.

Unlike JDBC, S3, Streams, Email, or ArcGIS datasources, you do not create this datasource yourself. Amorphic provisions it automatically during platform deployment and keeps it available on subsequent platform updates.

With this datasource you can:

  • Discover local Amorphic resources in Catalog search
  • Keep catalog metadata continuously up to date as resources change
  • Run a Catalog Sync Job when you need to reconcile Catalog with the resources in this environment
  • Browse assets scoped to this environment via the datasource detail page
Metadata only - not an ingestion source

This datasource indexes metadata about resources that already live in this environment. It does not pull files from S3/JDBC or load data into datasets.

Not the same as External Amorphic

External Amorphic is user-created and copies catalog metadata from another Amorphic environment. The default datasource always represents local resources only.


How to find it

  1. Go to Data Workflows → Datasources.
  2. Locate the system entry named Amorphic-{PROJECT_SHORT_NAME} (for example, Amorphic-ADP).
Short name casing

The project short name is always uppercased in the default datasource name, whatever casing the deployment uses for it. A project short name of adp, Adp, or ADP all produce the same datasource name, Amorphic-ADP.

Default Amorphic Datasource

AttributeDescription
Datasource NameAmorphic-{PROJECT_SHORT_NAME} - reserved name for this environment, with the short name uppercased
Datasource TypeAmorphic
Ingestion Typedefault-amorphic (internal / Default Amorphic)
DescriptionInternal Amorphic catalog metadata data source that serves as a dynamic repository for organizational resources within the current Amorphic deployment
Created BySystem
Datasource ConfigContains the deployment Account ID only
AccessEveryone in the environment receives Editor access so catalog operations remain available

When it is created

During initial stack deployment (and again on platform Update), Amorphic:

  1. Creates the default datasource record if one does not already exist.
  2. Updates OpenSearch index field mappings when required.
  3. Provisions the Catalog Sync Glue job used for full catalog reconciliation.
Reserved datasource

Users cannot create another datasource with this reserved name, and they cannot delete or update the default datasource like a normal connection.


How it works

Catalog for local resources

When you create or change Amorphic resources (for example, a dataset, job, or glossary), the platform registers a catalog asset under this datasource. That metadata powers:

  • Catalog search - keyword and semantic (when AI services are enabled)
  • Asset detail pages - schema, dependencies, glossary links, custom metadata
  • Access-aware discovery - owners, editors, and viewers reflected on the asset

Real-time indexing

For most local resource types, catalog updates happen continuously as resources change. Stream processing:

  • Prepares asset records under the default datasource
  • Indexes them into OpenSearch
  • Preserves existing Custom Metadata and Glossary Details on updates where applicable
  • Removes catalog entries when the underlying resource is deleted

This is the primary day-to-day path that keeps Catalog in sync.

Full catalog sync

The Catalog Sync Job reconciles Catalog against the Amorphic resource tables. It is the fallback for anything real-time indexing has not kept up with — after a major upgrade, after bulk changes, or when assets are missing, stale, or left behind by deleted resources.

See Catalog Sync Job for how to run it, what changed recently, and when to run it instead of a reindex.

First sync after upgrade

The first catalog sync after a major upgrade or migration may take longer and can incur higher cost. See Catalog for initial setup guidance.


Supported catalog resources

When the Catalog Sync Job runs against the default datasource, it can index:

Resource typeCatalog asset typeNotes
datasetsdatasetIncludes views; schema and dependencies attached where available
glossariesglossaryGlossary-level catalog entries
datasourcesdatasourceUser-created datasource metadata also appears in Catalog
datalabsdatalab
datalabs-lifecycle-configurationsshared-resource
data-pipelinesdatapipeline
jobsjob
jobslibsshared-resourceJob libraries
dashboardsdashboard
code-repositoriesshared-resource
domainsdomain
tenantstenant
filesfileDataset file metadata
Shared resources

Libraries, lifecycle configurations, and code repositories are stored with asset type shared-resource and will be available in the catalog search UI under the Shared Resources tab.


Catalog Sync Job

The Catalog Sync Job reads Amorphic's resource tables, builds catalog asset metadata from them, and indexes that metadata for search. It is the reconciliation path that backs up real-time indexing.

For non-file resources, a run processes only what has changed since the last successful sync rather than re-scanning everything, so routine runs stay short. Use force sync (see Triggering sync through the API) when you need a complete re-scan regardless of last sync time.

Resource-scoped sync

A sync job can be limited to specific resource types instead of covering the entire Catalog. When only one area has changed — jobs, or datasets, or pipelines — scoping the run keeps it short and avoids touching unrelated assets.

Pick the scope in the Sync Jobs panel: each resource type under Asset Type has its own checkbox, so you can tick just the ones you need. Select All covers every supported type, which is also what a run with no selection does.

tip

Scope the run whenever you know what changed. A datasets-only sync finishes far sooner than a full-Catalog run, and leaves every other asset type untouched.

Orphan cleanup

Orphan detection — finding catalog assets whose backing resource no longer exists — runs as part of the sync job itself, so removing stale entries no longer needs a separate cleanup pass.

Turn on Cleanup Orphaned Resources in the Sync Jobs panel to include it in the run. It removes resources that no longer exist in the source but are still linked to this datasource.

Cleanup is per run and off by default, so a routine sync never deletes anything unless you ask it to. The run's metrics report how many orphans were deleted and how many failed.

How to run a catalog sync job

  1. Open Data Workflows → Datasources.
  2. Select the default datasource (Amorphic-{PROJECT_SHORT_NAME}).
  3. Open the Sync Jobs section and click Sync.
  4. In the Sync Jobs panel, choose what the run should cover:
    • Turn on Cleanup Orphaned Resources to remove catalog assets whose backing resource no longer exists.
    • Under Asset Type, tick the resource types to sync, or use Select All.
  5. Click Sync Now to start the run.

You need at least Editor access on the datasource (granted to everyone by default); Owners qualify too, read-only users do not. Only one sync job may run per datasource at a time.

Perform Sync Operation

How long a sync takes

Sync runtime is driven by the number of items being indexed, not just by the number of resource types selected. High-cardinality types such as files and datasets dominate the run; low-count types finish in a couple of seconds each. Scoping the run under Asset Type is therefore only worth doing when it lets you skip one of the large types.

Scale testing metrics

A full sync (all resource types, force sync and orphan cleanup on) in one of our test environments indexed roughly 380,000 items totalling 461 MB of metadata. The OpenSearch cluster for this environment was configured with 3 nodes of t3.medium.search instance type. Time was concentrated almost entirely in two resource types:

Resource typeItemsSync duration
files314,331~71 minutes
datasets118,033~21 minutes
retry of previously failed items52,331~30 seconds
domains415~3 seconds
every remaining type1-63 eachunder 2 seconds each

The run reported an Execution Time of about 1 hour 17 minutes.

Treat these as rough orders of magnitude, not guarantees. Indexing throughput depends heavily on the search cluster's instance type and node count, so a larger or smaller cluster will shift these numbers, as will environment size, resource mix, and load.

Stopping and resuming a sync job

A running sync job can be stopped from the Sync Jobs section without waiting for it to finish — useful when a run was started by mistake, was scoped more broadly than intended, or needs to give up the datasource so a more targeted sync can run instead.

Stopping is paired with resume: a STOPPED or FAILED job can be picked up again from where it left off. The resumed run continues against the same saved progress for that execution instead of starting the scan over, so work already completed is not repeated.

Stop or Resume Sync Job

Attempts

Because stop and resume operate on the same sync job rather than creating new ones, the job details page shows an Attempts table recording every run that has contributed to it:

ColumnDescription
Typeinitial for the original run, resume for each subsequent resume
Started AtWhen that attempt began
Triggered ByThe user who started or resumed the run
Glue Job Run IDIdentifier of the underlying run, for log correlation

A job that was never stopped shows a single initial attempt. Each stop-and-resume cycle appends another resume row, so the table reads as the stop/resume timeline for that sync job.

tip

Use the Glue Job Run ID from the relevant attempt when correlating logs — each attempt has its own run, so logs for a resumed job are split across the runs listed here.

Note

Resume continues an existing run rather than creating a new one, so its metrics and history stay on the same job record. To sync from a clean slate instead, start a new sync job.

Sync job statuses

StatusMeaning
STARTINGRun has been claimed and is being handed to the underlying job; transient
RUNNINGCatalog sync job is in progress
STOPPINGA stop has been requested and the run is winding down; transient
STOPPEDRun stopped; can be resumed
SUCCEEDEDSync completed; job metrics populated
FAILEDSync failed; check job logs and metrics — can be resumed
STOPPING is transient

Stopping a run is not instantaneous. The job moves to STOPPING while the underlying run winds down, and flips to STOPPED on its own once the run has actually terminated and its end time is recorded. Wait for STOPPED before resuming — a run can only be resumed from STOPPED or FAILED.

Job metrics

Every sync job run records execution metrics. Open a run from the Sync Jobs list and open the Job Insights panel, which presents them in three sections.

Sync Job Metrics

1. Summary

Headline totals for the run as a whole, shown as stat cards:

CardMeaning
Indexing SuccessfulAssets successfully written to the search index across every resource type
Indexing FailedAssets that could not be indexed; a non-zero value is the cue to check the run's logs
Orphans DeletedCatalog assets removed because their backing resource no longer exists. Only non-zero when the run had Cleanup Orphaned Resources turned on
Size IndexedTotal volume of asset metadata written during the run
Execution TimeHow long the latest attempt ran. For a job that was stopped and resumed, see the note below
Execution Time on resumed jobs

Execution Time covers the latest attempt only, so it is not a running total.

Each resume starts a new run on the same sync job, and when that run finishes it replaces the old Execution Time with its own. Earlier attempts and the time the job spent STOPPED are not counted.

A job that was never stopped has just one attempt, so its Execution Time is the whole run.

To findUse
Duration of the latest attemptExecution Time on the summary card
Total sync durationThe job's start and end times — the start time stays at the original trigger, and a resume does not reset it
When each attempt beganThe Attempts table

2. Resource Breakdown

A doughnut chart showing how the indexed items were distributed across resource types, so you can see at a glance which types dominated the run. Each slice is one resource type, sized by the number of items successfully indexed for it.

The legend beside the chart lists every resource type covered by the run with its status, indexed item count, and indexed size — useful for spotting a type that finished with zero items when you expected data.

3. Resource Details

One card per resource type, breaking the run down type by type. Each card carries a status badge and the following metrics:

MetricMeaning
Statusin_progress while that resource type is still being synced, completed once its loop has finished
Total CountTotal number of items of this type present in the system, counted at the start of the sync. This is the size of the population, not the number processed — on an incremental run most of them are legitimately left alone
Indexing SuccessfulItems of this type successfully written to the search index
Indexing FailedItems of this type that could not be indexed
SkippedItems that could not be turned into a catalog asset, so they never reached the indexing step.
Size IndexedVolume of metadata indexed for this resource type
DurationElapsed time since this resource type started syncing
Reading the numbers

Total Count is the denominator, not a target. On an incremental run it is normal to see a large Total Count next to a small Indexing Successful — unchanged items are filtered out before processing and are counted in neither Skipped nor Indexing Failed.

A non-zero value in either is worth checking in the run's logs, which record the affected asset IDs and the reason.

Alongside the real resource types, the breakdown may include entries for the run's other phases — such as the deletion pass and the retry of items that failed to index on an earlier run — so their outcome is visible in the same place.

Live updates

Per-resource metrics are flushed periodically while the job runs, not only at the end. Opening Job Insights on a RUNNING job shows progress so far, with the resource type currently being processed marked in_progress.

Triggering sync through the API

Sync can also be triggered programmatically. Force sync is available only through the API; the other options map to the controls in the Sync Jobs panel.

POST /datasources/{datasource_id}/sync-jobs

ParameterLocationDescriptionIn the UI
ResourcesRequest bodyOptional list of resource types to sync (subset of the supported catalog resources above)Asset Type checkboxes
enable_orphan_cleanupQueryWhen True, remove catalog assets whose source resource no longer existsCleanup Orphaned Resources toggle
force_syncQueryWhen True, re-index all resources in scope regardless of last sync timeAPI only
Sample — sync datasets and jobs only
{
"Resources": [
"datasets",
"jobs"
]
}

If Resources is omitted, the job syncs all supported resource types.

Editor access required

Triggering sync through the API requires at least Editor access on the datasource, the same as the UI. Stopping and resuming a run require the same level; only the read endpoints accept read-only access.

Sync job vs. Reindexing

Catalog is built in two stages, and the two operations act on different stages. That is why picking the wrong one usually means waiting through a long run that changes nothing.

Read it as a chain: a resource becomes findable only once it has been turned into an asset (①) and that asset has been indexed (②).

  • Something wrong at — the asset is missing, or its values are out of date — is a sync job problem. A reindex will faithfully rebuild the same wrong picture.
  • Something wrong at — the asset is correct but search cannot find it — is a reindex problem. A sync job will re-write assets that were already fine.
Catalog Sync JobRepair Catalog Metadata (Reindex)
Reads fromAmorphic resource tables — datasets, jobs, pipelines, and so onExisting catalog asset metadata
ProducesCatalog assets, which are then indexed for searchA freshly rebuilt search index
Effect on the indexAdds and updates entries in placeDeletes the index, then rebuilds it
ScopeOne datasource at a time; can be narrowed to selected resource typesThe whole catalog index for the environment
Who can run itAny user with Editor access or higher on the datasourceAdministrators only
WhereData Workflows → Datasources → Sync JobsAdministration → Catalog Engine
RuntimeMinutes; shorter still on incremental runsLonger — everything is rebuilt from scratch

Which one should you run?

What you are seeingRun this
A recently created resource is missing from CatalogSync job — it has not been turned into an asset yet
Assets look stale after a bulk change or an upgradeSync job; add force sync if values still look old
Deleted resources still show up as assetsSync job with orphan cleanup enabled
Only one area changed, such as jobs or pipelinesSync job scoped to those resource types
Assets open fine individually, but search returns nothing or errors outReindex — the search index itself is the problem
Search behaves oddly right after an index mapping changeReindex
Catalog is completely empty across every asset typeReindex first, then run a sync job
Start with the sync job

When the symptom is ambiguous, run the sync job first. It is scoped to one datasource, can be further narrowed down to a few resource types, needs only Editor access (or higher), and leaves the index in place while it works. Reindexing is the heavier, administrator-level fallback — it tears down the whole environment's index before rebuilding it, so Catalog search is degraded until the rebuild finishes.


How to view catalog assets

  1. Go to Data Discovery → Catalog.
  2. Search or browse assets.
  3. Use the Datasource Name filter and select Amorphic-{PROJECT_SHORT_NAME} to show local catalog entries only.

From the datasource detail page you can also list assets for that datasource.

View Catalog Assets

For asset-level features (schema, AI suggestions, dependencies, access requests), see Catalog Assets.


What you can and cannot do

ActionAllowed
View datasource and assetsYes
Search assets in CatalogYes
Trigger catalog sync jobs (Editor access or higher)Yes
Create a datasource with the reserved nameNo
Delete the default datasourceNo
Update connection settings (URL, token, schedule)No
Use for data ingestion (S3 / JDBC / Streams)No

Administration and repair

Repair Catalog Metadata

If OpenSearch index corruption or mapping drift occurs, administrators can run Repair Catalog Metadata from Administration → Catalog Engine (OpenSearch Management). This rebuilds the search index from asset metadata tables.

See Open Search Management.

After platform upgrades

Release notes may instruct you to run the Catalog Sync Job once after upgrading (for example, when domains or tenants migrate into Catalog). Trigger sync from the default datasource’s Sync Jobs page.


Best practices

Recommended approach
  • Run a full catalog sync once after initial deployment or major upgrades if Catalog search returns incomplete results.
  • Use Datasource Name filters in Catalog to separate local assets from federated (External Amorphic) assets.
  • Scope the sync under Asset Type when only one area changed, to shorten job runtime.
  • Turn on Cleanup Orphaned Resources during maintenance windows when resources were deleted outside normal stream processing.
  • Use force_sync=True (API) when assets look stale after bulk changes — routine runs are incremental and skip unchanged resources.
  • Stop a long-running sync when you need to free the datasource for a different run, and resume it later; the run continues from where it stopped.
  • Check the per-resource-type metrics on a run before re-triggering, to see which resource type actually failed.
  • Reach for Repair Catalog Metadata only when search itself is broken — see Sync job vs. reindexing.
  • Do not attempt to recreate the default datasource manually - use sync or repair tools instead.