Overview
Wirekite uses two metadata tables to track migration progress and enable operational control:- wirekite_progress - Tracks every file/operation processed, storing position checkpoints for crash recovery
- wirekite_action - Single-row control table for pause/stop/resume operations
Metadata Tables
wirekite_progress
This table tracks the state of every extraction and loading operation, enabling crash recovery and progress monitoring. Schema:The schema name varies by database:
wirekite for PostgreSQL, MySQL, Oracle, SingleStore; public for Snowflake and Firebolt.Primary key component. Identifies the file or resource being processed (e.g.,
0.ckt, schema.table.0.dkt, binlog name).Primary key component. Identifies the destination or operation type.
Two-letter operation code:
DE- Data ExtractDL- Data LoadCE- Change ExtractCL- Change Load
Transfer mode:
F- File-based processingQ- Queue/Kafka-based processing
Progress checkpoint. Meaning depends on operation type:
- Data loaders: Row count successfully committed
- Change extractors: LSN/binlog position/SCN (database-specific position marker)
- Change loaders: Sequence number in .ckt file
Associated table name for multi-table operations.
When this operation started.
NULL while in progress; set to completion time when done. This is the critical recovery indicator.Counter tracking how many times this operation was restarted after a crash.
wirekite_action
This single-row table controls the running state of loaders and extractors. Schema:| Value | Behavior |
|---|---|
RUN | Normal operation - processes data continuously |
PAUSE | Pause operation - component sleeps for 5 seconds between checks |
STOP | Stop operation - component exits gracefully |
Pause, Stop, and Resume
Wirekite components poll thewirekite_action table during processing. This enables non-disruptive control without restarting processes.
Using the Web Interface
The easiest way to control migrations is through the Web Interface:- Navigate to the migration details page
- Click Pause to pause replication
- Click Resume to continue
- Click Stop to gracefully shut down
Using SQL Commands
You can also control migrations directly via SQL on the target database: Pause Replication:Monitoring Progress
Check Migration Status
Querywirekite_progress to see the state of all operations:
Find Incomplete Operations
Identify operations that are still in progress or may be stuck:finish_time IS NULL and an old start_time may indicate a hung process.
Monitor Restart Counts
High values in therestarts column indicate repeated failures:
Crash Recovery
Wirekite automatically recovers from crashes using thewirekite_progress table:
- On startup, components check for records with
finish_time IS NULL - If found, processing resumes from the position stored in
mark - The
restartscounter is incremented
Resetting Migration State
To reset a migration and start fresh: 1. Stop the migration:Safety Guidelines
Never Delete Progress Records
Deleting records from
wirekite_progress can cause duplicate data in the target or missed changes during replication.Monitor Restarts
High restart counts indicate repeated failures. Investigate the root cause before the issue compounds.
Check for Stuck Records
Records with NULL
finish_time and old start_time may indicate hung processes that need investigation.Coordinate Resets
When resetting, always truncate
wirekite_progress AND target tables together to prevent duplicates.