Resolving Snowflake Adapter: Streaming/Task Failures (Task or Stream Dropped)

Summary

When validating a Snowflake adapter or running a pipeline, you might see either of these errors:

  1. Validation error in Reltio DPH:

    Resource task <task> is not available or not started. Please ensure that adequate privileges were granted to the role.

  2. Snowflake task error:

    Base table <database>.<schema>."dataTable" dropped, cannot read from stream "mergesStream".

This article explains likely causes and the exact steps to resolve each situation.

 

Root Causes

  • A. Task suspended / not started: The Snowflake TASK that the adapter relies on is in a SUSPENDED state or never started due to prior failures/suspension.
  • B. Base table dropped: The Snowflake STREAM (e.g., mergesStream) is tied to a base table (e.g., dataTable). If that table were dropped or replaced, the stream would become invalid, and dependent tasks would fail.

 

Prerequisites & Permissions

  • Snowflake role with sufficient privileges (typically OWNERSHIP on the target TASK/STREAM or OPERATE on TASK and USAGE on the database/schema). Coordinate with your Snowflake admin if needed.
  • Access to the Reltio Data Pipeline Hub and the tenant/adapter you are operating on.
  • Open a Support ticket to assist you in this remediation process immediately.
  • API access token for Reltio (if using the API resolution).

Tip: Use quoted identifiers for case-sensitive object names (e.g., "MyTask").


Resolution A — Resume a Suspended Snowflake Task

Confirm the Task State

Run in Snowflake (Worksheet or CLI):

SHOW TASKS IN SCHEMA <database>.<schema>;

SHOW TASKS LIKE '<task>' IN SCHEMA <database>.<schema>;

Check the state column. If it is SUSPENDED, proceed to resume.

Resume the Task

 
ALTER TASK <database>.<schema>."<task>" RESUME;

Re‑validate the Adapter

Return to Reltio Data Pipeline Hub → Adapter → Validate and confirm the error no longer appears.

 

Resolution B — Stream Invalid Because Base Table Was Dropped

If you see an error like:

Base table <database>.<schema>."dataTable" dropped, cannot read from stream "mergesStream".

…it means the stream’s base table was deleted or replaced. Fix by recreating adapter resources (streams and tasks) in Reltio DPH.

Verify What’s Missing (Optional)

 
SHOW TABLES LIKE 'dataTable' IN SCHEMA <database>.<schema>;


SHOW STREAMS LIKE 'mergesStream' IN SCHEMA <database>.<schema>;
DESCRIBE STREAM <database>.<schema>."mergesStream";

Recreate Adapter Resources via Reltio API

Endpoint

 
POST https://<env>-data-pipeline-hub.reltio.com/api/tenants/<tenant>/adapters/<adapterName>/actions/recreate_resources

Request body

 
{
"types": ["streams", "tasks"],
"force": true
}

What it does

  • types: Which resources to rebuild.
    • "streams" → recreates Snowflake streams used by the adapter.
    • "tasks" → recreates Snowflake tasks (schedules/chains that run SQL like MERGE/INSERT/UPDATE).
  • force: true → drop and recreate even if resources already exist (use with care in non‑prod first).

Caution: force: true will drop and recreate the specified resources. Ensure no critical workloads depend on the existing task/stream definitions before running in production.

Re‑validate the Adapter

After the API completes, go to Reltio Data Pipeline Hub → Adapter → Validate. The prior errors should be resolved.


End‑to‑End Troubleshooting Flow 

  1. See validation error about task not available/not started →
  2. Check task state in Snowflake → If SUSPENDED, run ALTER TASK ... RESUME; → Re‑validate.
  3. If error persists or you see “Base table ... dropped, cannot read from stream ...”
  4. Recreate resources via the Reltio API with types=["streams","tasks"] and force=true → Re‑validate.

Examples

Resume a specific task (example names)

 
ALTER TASK PROD_DB.MDM_SCHEMA."mergesTask" RESUME;

Example cURL for resource recreation

 
curl -X POST \
"https://prod-data-pipeline-hub.reltio.com/api/tenants/12345/adapters/snowflakeAdapter/actions/recreate_resources" \
-H "Authorization: Bearer $RELTIO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"types": ["streams", "tasks"],
"force": true
}'

 

Was this article helpful?
0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.