All skills

USE FOR: Drasi continuous-query solutions - real-time queries, change detection, reactive events, data-trigger pipelines on Drasi Server, Drasi for Kubernetes, or drasi-lib. Router: load bundle guides as needed. DO NOT USE for non-Drasi messaging (event-driven-messaging) or pure AKS/ACA hosting (aks-cluster-architecture, azure-container-apps).

Use this Skill: https://skilld.dev/gh/lukemurraynz/hve-agent-skills/drasi

This session only. Nothing lands on disk.

referencesschema-evolution-and-failure-patterns.md

≈1k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Drasi Schema Evolution and Production Failure Patterns

Purpose

Reference for handling source schema changes in Drasi and common production failure patterns that arise from organizational (not just technical) issues.

Schema evolution

What happens when a Source schema changes

Change type Impact on continuous queries Mitigation
Column added Query unaffected if not referenced No action needed
Column removed Query fails if referencing removed column Update query, redeploy
Column type changed Query may produce errors or wrong results Verify query compatibility, update
Table renamed Source stops producing events for old name Update Source config and query
New table added Not visible to existing queries Add to Source config, create new query
Table dropped Source may error Remove from Source config

Best practices

  1. Version Source schemas. Track table/column definitions alongside Source YAML.
  2. Test queries against staging before production. Apply schema changes to a staging Source first.
  3. Use query defensive patterns. Avoid hardcoding column names that might change; use optional fields where possible.
  4. Monitor Source logs after schema changes. Look for deserialization errors or missing events.
  5. Coordinate schema changes with query owners. Schema changes are a cross-team concern.

PostgreSQL schema evolution

PostgreSQL Sources use logical replication. Schema changes (ADD COLUMN, ALTER COLUMN) are generally safe for the replication slot, but:

  • Dropped columns may cause the Source to emit events with missing fields
  • Type changes may cause deserialization failures in the query engine
  • New tables require explicit addition to the Source's tables list

Production failure patterns

Query sprawl

Symptom: Dozens of unused queries consuming resources, nobody knows which are active.

Prevention:

  • Tag queries with owner, department, and last-used date
  • Review query inventory quarterly
  • Delete unused queries (they still consume Source change-tracking resources)
  • Use naming conventions: {domain}-{purpose}-{owner}

Zombie queries

Symptom: Queries that are "running" but never produce results. Sources are connected but no changes flow.

Causes:

  • Source CDC not configured (replication slot exists but no publication)
  • Source pointing to wrong database/schema
  • Query filters excluding all data

Detection: Query shows "Running" but result count stays at 0 for >24 hours.

Reaction storms

Symptom: A single data change triggers hundreds of reaction executions.

Causes:

  • Query result flapping (result toggles between two states rapidly)
  • Reaction retry loop (downstream 500 → retry → same 500 → retry)
  • Bootstrap re-triggering after Source restart

Prevention:

  • Implement idempotent reactions
  • Add rate limiting on reaction endpoints
  • Monitor reaction fire rate per query, alert on >10x baseline
  • Use skipControlSignals: true on PostDaprPubSub to suppress bootstrap messages

Source lag accumulation

Symptom: Events arriving minutes/hours late, queries processing stale data.

Causes:

  • Under-provisioned query containers
  • Large batch of historical changes overwhelming the pipeline
  • Source connection throttling

Detection: Compare Source event timestamp with query processing timestamp. Alert on >30s drift.

Capacity exhaustion

Symptom: Queries become slow, reactions timeout, Source events queue up.

Causes:

  • Too many concurrent queries on one query container
  • Complex queries with expensive joins
  • Large result sets overwhelming reaction throughput

Prevention:

  • Distribute queries across multiple query containers (see scaling-and-capacity bundle)
  • Set resource limits per query container
  • Monitor CPU/memory utilization, alert on >70% sustained

References

Source: SKILL.md on GitHub

1 warning8d3 checks · Risk SAFE
  • Gen Agent Trust Hub8d

    The Drasi skill package is a highly structured and security-conscious set of instructions for managing data change detection pipelines. It includes extensive documentation on threat modeling, workload identity setup on AKS, and specific guidance for preventing prompt injection when source data is fed into AI agents. All documented commands and scripts are legitimate operational tools for the Drasi platform, and no malicious patterns such as obfuscation, persistence, or data exfiltration were found.

  • Socket8d

    No alerts

  • Snyk8d

    Risk: MEDIUM · 1 issue

Signed by skilld at 2cc2455. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub last month.

Steadyupdated last month
metadata
{
  "last_verified": "2026-08-25"
}

README badge

README badge for lukemurraynz/hve-agent-skills/drasi