Error Reference
Consolidated lookup for common Streamkap errors, their causes, and resolution steps — organized by category for quick troubleshooting.
This page consolidates known errors from across Streamkap sources, destinations, transforms, and pipelines into a single searchable reference. Each entry includes the error message, its cause, and the steps to resolve it.
For errors specific to a particular source or destination, cross-links point to the relevant connector documentation for additional context.
Schema
Schema errors occur when there is a mismatch between the source data schema and what the destination expects — including type conflicts, evolution failures, and unsupported data types.
Schema mismatch — column type conflict at destination
Error message:
Column is of type double precision but expression is of type character varyingCause: The source column type was altered (e.g., INTEGER changed to TEXT), or the destination column type does not match the incoming data type. This commonly happens after a schema change at the source that was not reflected at the destination.
Resolution:
- Compare the source schema with the destination table schema
- Alter the destination column to match the expected type, or enable schema evolution to handle new columns automatically
- If using transforms, verify the transform output schema aligns with the destination
- Check the DLQ topic for affected messages and confirm new data flows correctly after the fix
Related: Schema Evolution | DLQ Operations
Decimal precision overflow
Error message:
Cannot encode decimal with precision 44 as max precision 38Cause: The source database contains a decimal value whose precision exceeds the maximum precision (38) supported by the destination or the Kafka Connect Decimal logical type.
Resolution:
- Contact Streamkap support to adjust how decimal values are handled on your source connector — Streamkap can configure it to convert decimals to floating-point numbers or represent them as strings, avoiding precision overflow
- Review the source table’s column definitions for excessively large precision values
Schema evolution permission failure (Snowflake)
Error message:
Insufficient privilegesCause: Schema evolution in Snowflake requires the OWNERSHIP privilege on the target tables, not just ALTER. When Snowpipe Streaming detects new columns in incoming data, it must alter the destination table, which Snowflake restricts to the table owner.
Resolution:
- Grant
OWNERSHIPon existing and future tables to the Streamkap role:GRANT OWNERSHIP ON ALL TABLES IN SCHEMA <database>.<schema> TO ROLE STREAMKAP_ROLE COPY CURRENT GRANTS; GRANT OWNERSHIP ON FUTURE TABLES IN SCHEMA <database>.<schema> TO ROLE STREAMKAP_ROLE COPY CURRENT GRANTS; - Alternatively, pre-create destination tables with the expected columns and manage schema changes manually
- Restart the destination connector after applying permission changes
Related: Snowflake Schema Evolution Permissions | Schema Evolution
Null constraint violation at destination
Error message (varies by destination):
null value in column "X" violates not-null constraintCause: The source contains NULL values in a column that the destination defines as NOT NULL, a transform removed or nullified a required field, or schema evolution added a new NOT NULL column at the destination without a default value.
Resolution:
- Identify the column with the null violation from the error message
- Either relax the
NOT NULLconstraint at the destination or add a default value - If the source legitimately contains nulls, add a transform to provide a default value before delivery
- Verify that schema evolution settings are compatible between source and destination
Two capture instances already exist (SQL Server)
Error message:
Two capture instances already exist for source tableCause: SQL Server limits each table to a maximum of 2 CDC capture instances. This error occurs when trying to refresh the change table structure (required after a schema change) while 2 capture instances already exist.
Resolution:
- Identify the oldest capture instance by running:
USE {database}; GO EXEC sys.sp_cdc_help_change_data_capture @source_schema = N'{schema}', @source_name = N'{table}' GO - Disable the oldest capture instance using the
create_datecolumn to identify it:USE {database}; GO EXEC sys.sp_cdc_disable_table @source_schema = N'{source_schema}', @source_name = N'{source_table}', @capture_instance = N'{capture_instance}' GO - Retry the change table refresh script
Related: SQL Server Source FAQ
Table rename not automatically handled
Error message (varies):
Renaming table(s) will report an errorCause: Renaming a source table is not automatically tracked by schema evolution. The renamed table appears as a new table and requires explicit reconfiguration.
Resolution:
- Add the renamed table to your Source Connector and Pipeline configuration
- Trigger a snapshot for the newly added table
- The old table’s destination data remains intact but stops receiving new change events
Related: Schema Evolution | Snapshots
MySQL — Schema isn't known to this connector
Error message:
Schema isn't known to this connectorCause: Affects databases with 1000+ tables when schema history optimization is enabled. The schema history may become incomplete, causing the connector to encounter tables or schemas it cannot resolve.
Resolution:
- Contact Streamkap support for schema history recovery
- Consider enabling Capture Only Captured Tables DDL in the source’s Advanced settings to limit schema history scope
- After recovery, a snapshot of affected tables may be required
Related: MySQL Source FAQ
BigDecimal type conflict in transforms
Error message:
Ambiguous method overloading for BigDecimalCause: A transform function receives a decimal value that causes ambiguous method resolution in the JavaScript transform runtime.
Resolution:
- Use explicit type casting in the transform code to convert the decimal to a specific type (e.g.,
Number()or.toString()) - Contact Streamkap support to check how decimals are handled on the source connector — adjusting the decimal handling can prevent this conflict
- Test the transform with sample data in the Implementation tab before deploying
Related: Streaming Transforms | Transform Filter Records
PostgreSQL — incremental snapshot fails on a generated column
Error message:
Column '<name>' not found in result set ... This might be caused by DBZ-4350Cause: The table has a generated column (GENERATED ALWAYS AS (...) STORED). PostgreSQL does not include generated columns in the replication stream, so an incremental (Filtered or Full) snapshot cannot reconcile them and fails. Blocking and Parallel snapshots are not affected.
Resolution:
- Exclude the generated column from capture: in the Source’s Settings → Advanced section, set Column Selection Mode to Exclusion and add the column to the Column Exclusion List (fully-qualified, e.g.
schema.table.column). - Re-trigger the snapshot. Recompute the value at your destination or in a transform if you need it.
Related: PostgreSQL Source FAQ | Snapshots & Backfilling
Permission
Permission errors occur when the connector’s database user or cloud IAM role lacks the required privileges to perform an operation.
Snowflake Insufficient privileges
Error message:
Insufficient privilegesCause: The Snowflake user or role used by the connector does not have the required privileges on the target object (warehouse, database, schema, or table). This is common during initial setup or when schema evolution requires OWNERSHIP on tables.
Resolution:
- Verify the Snowflake role has the required privileges by running Script #2 from the Snowflake troubleshooting section
- For schema evolution, grant
OWNERSHIPon tables (see Schema Evolution Permissions) - Ensure the role is granted to the user and set as the default role:
GRANT ROLE IDENTIFIER($role_name) TO USER IDENTIFIER($user_name); ALTER USER IDENTIFIER($user_name) SET DEFAULT_ROLE = $role_name;
Related: Snowflake Setup | Snowflake Setup Scripts Failing
AWS IAM AssumeRole access denied
Error message:
AccessDenied when calling AssumeRoleCause: The IAM role trust policy does not include Streamkap’s role ARN, or the IAM role does not have the required permissions for the target AWS service (S3, DynamoDB, etc.).
Resolution:
- Update the IAM role’s trust policy to include Streamkap’s external ID and role ARN
- Verify the IAM role has the required service permissions (e.g.,
s3:PutObject,dynamodb:DescribeStream) - Confirm the role ARN in the Streamkap connector configuration matches the actual IAM role
Source database access denied or missing privileges
Error message (varies by database):
Access denied for user 'X'@'Y' to database 'Z'permission denied for table XCause: The database user configured for the Streamkap source connector lacks the required privileges (e.g., REPLICATION, SELECT, or CDC-specific permissions).
Resolution:
- PostgreSQL: Verify the user has
REPLICATIONprivilege andSELECTon captured tables. Checkpg_hba.confallows the connection. See PostgreSQL Source FAQ — Troubleshooting - MySQL: Ensure the user has
REPLICATION SLAVE,REPLICATION CLIENT, andSELECTprivileges. See MySQL Source FAQ — Troubleshooting - Oracle: Verify LogMiner privileges and
SELECTon captured tables. See Oracle Source FAQ — Troubleshooting - SQL Server: Ensure the user has
db_ownerrole or equivalent CDC privileges. See SQL Server Source FAQ — Troubleshooting
Kafka topic authorization failed
Error message:
Topic authorization failedTOPIC_AUTHORIZATION_FAILEDCause: The Kafka user is missing TOPIC READ or TOPIC WRITE ACL permissions for the target topic.
Resolution:
- Add the appropriate ACL permission:
- Resource Type:
TOPIC - Operation:
READ(for consumers) orWRITE(for producers) - Pattern Type:
LITERALorPREFIXED - Name: Your topic name or prefix
- Resource Type:
Related: Kafka Access
Kafka group authorization failed
Error message:
GROUP_AUTHORIZATION_FAILEDGroup authorization failedCause: The Kafka user is missing GROUP READ ACL permissions for the consumer group.
Resolution:
- Add the following ACL permission:
- Resource Type:
GROUP - Operation:
READ - Pattern Type:
LITERALorPREFIXED - Name: Your consumer group ID (e.g.,
my-consumer-group)
- Resource Type:
Related: Kafka Access
Snapshot fails with insufficient permissions
Error message (varies):
Access deniedInsufficient privileges to perform snapshotCause: The database user lacks SELECT or READ privileges on one or more tables being snapshotted, or the signal table permissions are missing.
Resolution:
- Verify the connector’s database user has
SELECTprivileges on all tables being snapshotted - For MySQL/SQL Server: confirm
SELECT,INSERT,UPDATE, andDELETEprivileges on thestreamkap.streamkap_signaltable - For PostgreSQL: confirm the user has access to the publication and the signal table
- Re-trigger the snapshot after granting the necessary permissions
Related: Snapshots — Insufficient Permissions
Connection
Connection errors arise from network issues, timeouts, SSL/TLS configuration problems, or firewall rules blocking access.
MySQL server has gone away
Error message:
MySQL server has gone awayCause: The MySQL connection timed out, typically due to a long-running snapshot, idle connection exceeding wait_timeout, or network instability.
Resolution:
- Increase
wait_timeouton the MySQL server (e.g.,SET GLOBAL wait_timeout = 28800;) - Check network stability between Streamkap and the MySQL server
- If the error occurs during snapshots, consider using filtered (partial) snapshots to reduce operation time
- Verify firewall rules and security groups allow persistent connections
Related: MySQL Source FAQ — Troubleshooting
PostgreSQL connection failures
Error message (varies):
Connection refusedFATAL: no pg_hba.conf entry for hostCause: The PostgreSQL server is rejecting the connection due to pg_hba.conf rules, firewall restrictions, or SSL configuration.
Resolution:
- Verify
pg_hba.confincludes an entry allowing the Streamkap IP addresses with the correct authentication method - Check firewall rules and security groups allow traffic on the PostgreSQL port (default 5432)
- Ensure SSL is correctly configured if required
- Confirm Streamkap IP addresses are allowlisted
Oracle connection failures — listener or TNS
Error message (varies):
ORA-12541: TNS:no listenerORA-12514: TNS:listener does not currently know of serviceCause: The Oracle listener is not running, the TNS configuration is incorrect, or firewall rules are blocking access on the configured port.
Resolution:
- Check the Oracle listener status on the database server (
lsnrctl status) - Verify the TNS configuration (hostname, port, service name) in the Streamkap connector settings
- Ensure firewall rules allow traffic on the Oracle listener port (default 1521)
- For AWS RDS Oracle, verify the endpoint and port from the RDS console
Related: Oracle Source FAQ — Troubleshooting
SSL certificate verification failed
Error message (varies):
Certificate verify failedSSL handshake failed due to weak encryption algorithmCertificates do not conform to algorithm constraintsCause: The database instance is using an outdated, weak, or expired SSL certificate. The SSL certificate’s encryption algorithm or key size does not meet the minimum requirements.
Resolution:
- Check the database SSL certificate details using the
opensslcommands in the SSL Certificate Management Guide - If the certificate uses RSA 1024-bit or SHA-1, upgrade to RSA 2048-bit+ with SHA-256
- For cloud-managed databases (AWS RDS, Azure, GCP), check if a certificate rotation is needed
- Update the Streamkap connector if the SSL mode or certificate path has changed
Related: SSL Certificate Management Guide
SSL connection closed by peer (Kafka)
Error message:
SSL connection closed by peerCause: SSL certificate verification is failing when connecting to the Streamkap Kafka cluster, or the client’s certificate configuration is incorrect.
Resolution:
- Ensure certificates are properly configured for your client:
- Python:
pip install --upgrade certifiand setssl.ca.locationtocertifi.where() - CLI tools: Try different certificate paths (e.g.,
/etc/ssl/cert.pemor/etc/ssl/certs/ca-certificates.crt)
- Python:
- Test the SSL handshake:
openssl s_client -connect <hostname>:32400 -servername <hostname> - Verify your network does not have a VPN or proxy interfering with SSL
Related: Kafka Access
SASL authentication failed (Kafka)
Error message:
SASL authentication failedCause: Incorrect Kafka username or password, or the SASL mechanism is not configured correctly.
Resolution:
- Verify the username and password are correct
- Ensure
sasl.mechanismis set toPLAINandsecurity.protocolis set toSASL_SSL - Confirm the Kafka user account is active and not disabled
Related: Kafka Access
Network timeout or connectivity loss during snapshot
Error message (varies):
Connection timed outRead timed outCause: Network interruption between Streamkap and your source database during a snapshot — firewall change, VPN drop, or transient cloud networking issue.
Resolution:
- Verify network connectivity to your source database
- Check firewall rules and security group configurations
- Ensure any VPN or SSH tunnel is active and stable
- Once connectivity is restored, re-trigger the snapshot
Related: Snapshots — Failed Snapshot Recovery
MongoDB connection failures
Error message (varies):
Connection refusedAuthentication failedCause: Firewall, SSL configuration, or authentication issues between Streamkap and the MongoDB cluster.
Resolution:
- Verify firewall rules allow Streamkap IPs to connect
- Confirm SSL is enabled and the connection string includes
?ssl=true - Check the authentication credentials and database name
- For MongoDB Atlas, ensure Streamkap IP addresses are in the IP access list
Related: MongoDB Source FAQ — Troubleshooting
DynamoDB ThrottlingException
Error message:
ThrottlingExceptionCause: DynamoDB Streams throughput limit exceeded. This is a transient error that occurs when the connector reads from DynamoDB Streams faster than the service allows.
Resolution:
- No action needed — the connector auto-recovers within 10-30 minutes via exponential backoff
- If the error persists beyond 30 minutes, verify that no other consumers are competing for the same DynamoDB Stream
- Contact Streamkap support if throttling is persistent and impacting data freshness
Related: DynamoDB Source
DocumentDB connection failures
Error message (varies):
Connection refusedVPC security group deniedCause: VPC security group rules, SSL configuration, or IAM authentication issues prevent Streamkap from connecting to the DocumentDB cluster.
Resolution:
- Verify the VPC security group allows inbound traffic from Streamkap IPs on port 27017
- Confirm SSL is enabled and the connection string includes
?ssl=true&replicaSet=rs0 - Check IAM roles and database user credentials
- Ensure the DocumentDB cluster is in an active state
Replication
Replication errors relate to WAL/binlog/redo log/oplog issues, replication slot problems, and CDC configuration failures.
PostgreSQL WAL buildup — disk space growing
Symptoms: Disk usage on the PostgreSQL server is growing rapidly; pg_replication_slots shows large lag values.
Cause: Inactive or slow replication slots prevent WAL files from being recycled. Low-traffic databases without heartbeats can also cause WAL accumulation because the replication slot position is not advancing.
Resolution:
- Enable heartbeats to keep replication slot positions advancing on low-traffic databases
- Monitor replication slots and drop inactive ones:
SELECT slot_name, active, pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn)) AS lag FROM pg_replication_slots; -- Drop an inactive slot SELECT pg_drop_replication_slot('{slot_name}'); - Set WAL retention to 3-5 days
- Ensure
VACUUMandANALYZErun regularly
Related: Monitoring the PostgreSQL WAL Log | PostgreSQL Source FAQ
MySQL binlog buildup or missing events
Symptoms: Binlog files are accumulating and consuming disk space; expected change events are not appearing in the destination.
Cause: Binlog retention is too short (events expire before being consumed), heartbeats are not enabled for low-traffic databases, or the binlog format is not set to ROW.
Resolution:
- Ensure
binlog_format=ROWandbinlog_row_image=FULL - Enable heartbeats for low-traffic databases
- Set binlog retention to 3-5 days
- Verify the connector user has
REPLICATION SLAVEandREPLICATION CLIENTprivileges - Check that the target tables are included in the connector configuration
Related: MySQL Source FAQ — Troubleshooting
Oracle redo log buildup
Symptoms: Archive log destination disk space is growing; LogMiner sessions are consuming resources.
Cause: Heartbeats are not enabled for low-traffic databases, archive log retention is too long, or supplemental logging overhead is high.
Resolution:
- Enable heartbeats for low-traffic databases
- Monitor archive log destination space and adjust retention (3-5 days minimum)
- Verify supplemental logging is enabled at database and table levels:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; ALTER TABLE schema.table ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; - Check LogMiner session resource usage and limit captured tables if needed
Related: Oracle Source FAQ — Troubleshooting
SQL Server CDC not working — SQL Server Agent stopped
Symptoms: No change events are being captured; change tables are not being populated.
Cause: The SQL Server Agent service is stopped. CDC relies on the SQL Server Agent to populate change tables and run cleanup jobs.
Resolution:
- Verify the SQL Server Agent is running:
EXEC master.dbo.xp_servicecontrol N'QUERYSTATE', N'SQLSERVERAGENT' - Start the SQL Server Agent if stopped
- Verify CDC is enabled on the database and tables:
SELECT name, is_cdc_enabled FROM sys.databases WHERE name = '{database}'; EXEC sys.sp_cdc_help_change_data_capture; - Check that the connector user has the required role membership
SQL Server CDC data loss after database restore
Symptoms: CDC stops working after a database restore; no change events captured.
Cause: A database restore operation disables CDC on the database and all tables. CDC must be re-enabled manually after a restore.
Resolution:
- Re-enable CDC on the database:
USE {database}; EXEC sys.sp_cdc_enable_db; - Re-enable CDC on each table that was previously captured
- Trigger a new snapshot to backfill any data lost during the restore
MongoDB resume token expired or invalidated
Symptoms: The connector fails to resume from its last position; logs mention resume token issues.
Cause: The oplog has been rotated past the connector’s last resume token position, typically because the connector was offline for too long or oplog retention is too short.
Resolution:
-
Set oplog retention to at least 3-5 days (7 days recommended for DocumentDB)
-
Enable heartbeats to keep resume tokens fresh
-
If the resume token is invalid, trigger a new snapshot to re-establish position
-
For sharded clusters, verify oplog retention on all shards
-
To have MongoDB sources recover from this without a manual reset, enable Invalid Resume Token Recovery on the connector — see MongoDB resume token recovery. Note that it skips the affected window rather than replaying it.
Related: MongoDB Source FAQ — Troubleshooting | DocumentDB Source FAQ — Troubleshooting
PostgreSQL missing events — publication or REPLICA IDENTITY
Symptoms: Some change events (especially updates and deletes) are not appearing in the destination.
Cause: The PostgreSQL publication does not include the affected tables, or REPLICA IDENTITY is set to DEFAULT (only logs primary key columns for updates/deletes).
Resolution:
- Verify the publication includes the target tables:
SELECT * FROM pg_publication_tables WHERE pubname = 'streamkap_pub'; - Set
REPLICA IDENTITY FULLfor complete before/after images:ALTER TABLE schema.table REPLICA IDENTITY FULL; - Check that the connector’s table inclusion list matches the publication
Related: PostgreSQL Source FAQ
Oracle missing events — supplemental logging
Symptoms: Change events for updates or deletes are incomplete (only primary key values captured); some tables produce no events.
Cause: Supplemental logging is not enabled at the database level or with ALL COLUMNS at the table level.
Resolution:
- Enable supplemental logging at database level:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; - Enable supplemental logging with ALL COLUMNS at table level:
ALTER TABLE schema.table ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS; - Verify LogMiner privileges are granted to the Streamkap user
- Confirm archive log mode is enabled
Related: Oracle Source FAQ
MongoDB ChangeStreamFatalError — resume token expired
Error message:
ChangeStreamFatalError (Error 280)Cause: The MongoDB oplog has been recycled before the connector could process all events. The connector’s resume token points to a position that no longer exists in the oplog.
Resolution:
- Contact Streamkap support for an offset reset
- Increase oplog retention to 48 hours or more to prevent recurrence:
db.adminCommand({ replSetResizeOplog: 1, minRetentionHours: 48 }) - After the offset reset, a snapshot may be required to backfill any missed data
Prevention: Enable Invalid Resume Token Recovery on the connector so it skips to the latest oplog position and keeps streaming instead of failing, with an alert naming the skipped window. See MongoDB resume token recovery.
Related: MongoDB Source FAQ | Snapshots
PostgreSQL — Failed to re-select row (TOAST data timeout)
Error message:
Failed to re-select rowCause: TOAST data reselect connection timeout on tables with large TOAST columns. When PostgreSQL stores large column values in TOAST tables, the connector must re-select them during processing, which can time out on tables with very large values.
Resolution:
- Set Re-select Error Handling to
Warnin the source’s Advanced settings. The connector logs the failure and continues with the value missing, instead of stopping. - Set
REPLICA IDENTITY FULLon affected tables to avoid TOAST re-selection altogether:ALTER TABLE schema.table REPLICA IDENTITY FULL; - Turn the Re-select Post Processor off entirely if you do not need TOAST values. Those columns then arrive as unavailable-value placeholders.
- If the timeouts persist with re-selection enabled, contact Streamkap support.
Related: PostgreSQL Source FAQ
Schema changes during snapshot
Symptoms: Snapshot fails or produces inconsistent data when DDL changes are applied to a table during an active snapshot.
Cause: Schema changes during an active snapshot are not supported. The snapshot process reads data using the schema at the time it started, and a DDL change mid-snapshot causes conflicts.
Resolution:
- Avoid making schema changes to tables that are actively being snapshotted
- If a schema change was applied during a snapshot, cancel the snapshot and re-trigger it after the schema change is complete
- Wait for the DDL change to propagate before triggering a new snapshot
Transform
Transform errors occur during data transformation in Apache Flink, including JavaScript runtime failures, DLQ routing, and job management issues.
Transform status shows RESTARTING continuously
Symptoms: The transform job continuously restarts and never reaches a stable RUNNING state.
Cause: The transform code contains a runtime error, the input topic pattern matches no topics, or the project lacks sufficient resources for the configured parallelism.
Resolution:
- Check transform logs on the Logs page for specific error messages
- Verify the input pattern matches existing topics
- Test the transform logic in the Implementation tab with sample data
- Reduce parallelism to check if it is a resource issue
- Revert recent settings or code changes that may have caused the issue
Transform producing no output records
Symptoms: The transform shows RUNNING status but the written records count is zero.
Cause: The input pattern regex does not match any actual topic names, the transform logic filters out all records, or the input topics are empty.
Resolution:
- Verify the input pattern regex matches actual topic names
- Confirm the transform logic does not filter out all records
- Review input topics to ensure they contain data
- Check the Errors metric and review logs for silent failures
- Test the implementation with sample data in the Implementation tab
Transform high latency
Symptoms: Transform latency is continuously increasing; downstream destinations are falling behind.
Cause: The transform parallelism is too low for the input volume, the JavaScript logic is computationally expensive, or the input topics have excessive consumer lag.
Resolution:
- Increase parallelism in the Settings tab (set to at least the number of input topic partitions)
- Optimize the JavaScript transform logic — reduce unnecessary operations
- Check input topics for excessive consumer lag
- Increase partitions on input topics for better parallelism
Transform DLQ messages — failed processing
Symptoms: The transform’s DLQ topic is receiving messages; errors visible in the DLQ message headers.
Cause: Individual records fail during the transform — type mismatches, null values in required fields, or unexpected data formats.
Resolution:
- Inspect the DLQ topic messages to identify the failing records and error details
- Check headers for
_streamkap_erroror__connect.errors.exception.message - Fix the transform logic to handle edge cases (null values, unexpected types)
- Add error handling in the transform code to prevent job-level failures
Related: DLQ Operations | Streaming Transforms
Resource
Resource errors occur when system resources (memory, disk, compute) are exhausted or when internal timeouts are exceeded.
Could not acquire minimum required resources
Error message:
Could not acquire minimum required resourcesCause: The Kafka Connect cluster has reached its capacity limit and cannot allocate resources for the connector or task.
Resolution:
- Reduce connector parallelism (lower the number of tasks)
- Contact Streamkap support to discuss scaling options
- Review whether other connectors on the same project can be optimized to free resources
Kafka Connect API call timed out
Error message:
Kafka Connect API call timed outCause: An internal API call to the Kafka Connect cluster timed out due to high load, network latency, or resource contention.
Resolution:
- Retry the operation — transient timeouts often resolve on subsequent attempts
- If persistent, check the connector’s resource allocation and reduce parallelism
- Contact Streamkap support if the issue persists after multiple retries
Snowflake 503 / NullPointerException — transient API overload
Error message:
503 Service UnavailableNullPointerExceptionCause: Transient Snowflake Streaming API overload. The Snowflake service is temporarily unable to handle the request volume.
Resolution:
- Do NOT restart the connector. The connector’s built-in retry mechanism with exponential backoff handles recovery automatically
- Recovery typically occurs within 5-30 minutes
- Monitor the pipeline — if the error persists beyond 30 minutes, contact Streamkap support
Related: Snowflake
Snowflake offset misalignment (Append mode)
Symptoms: New data is not appearing in destination tables; lag shows as negative (e.g., -1) or unusually high; Snowflake channels show offset positions that do not match Consumer Group offsets.
Cause: The Consumer Group offsets and Snowflake Channel offsets have become misaligned, typically after topic deletion and recreation.
Resolution:
- Stop the destination connector in Streamkap UI
- Reset Consumer Group offsets via Consumer Groups Reset Procedure
- Reset Snowflake Channel offsets to
-1:SELECT SYSTEM$SNOWPIPE_STREAMING_UPDATE_CHANNEL_OFFSET_TOKEN( '<DATABASE>.<SCHEMA>.<TABLE_NAME>', '<TOPIC_NAME_0>', '-1' ); - Resume the destination connector
- Verify data appears in the destination and lag decreases
Related: Snowflake — Offset Management
Size and limit errors — payload too large
Error message (varies):
Message size exceeds maximumColumn value exceeds maximum lengthCause: A row or column value exceeds the maximum message size supported by the destination, or batch size settings cause aggregated payloads to exceed limits.
Resolution:
- Identify the oversized field in the DLQ message payload
- Increase the column size limit at the destination if possible
- Consider adding a transform to truncate or filter oversized values before they reach the destination
- Review the destination connector’s batch size settings
Source database overload during snapshot
Symptoms: Snapshot fails partway through; source database logs show slow queries or connection pool exhaustion.
Cause: The snapshot’s read queries compete with the production workload, causing timeouts or resource exhaustion on the source database.
Resolution:
- Schedule the snapshot during off-peak hours to reduce contention
- Use filtered (partial) snapshots to process smaller data ranges
- Review the source database’s connection limits and increase if needed
- Check for long-running queries or locks that may block snapshot reads
- Re-trigger the snapshot after the source database has recovered
Related: Snapshots — Failed Snapshot Recovery
Disk space or storage exhaustion
Symptoms: Snapshot or connector fails with errors related to disk space, memory, or storage limits.
Cause: The source database, destination system, or intermediate storage has run out of available disk space or memory during operations.
Resolution:
- Check available disk space on the source database server
- For cloud-managed databases, verify storage auto-scaling is enabled or increase provisioned storage
- Review destination storage capacity
- Clean up unnecessary data, logs, or temporary files
- Re-trigger the operation after freeing sufficient resources
Related: Snapshots — Failed Snapshot Recovery
ClickHouse performance lag
Symptoms: ClickHouse destination lag is continuously growing; records are being written slowly.
Cause: The connector configuration is not optimized for the workload — batch size, parallelism, or topic partitions may be insufficient.
Resolution:
- Increase Maximum poll records in the connector’s Advanced settings (e.g.,
25000,50000, or80000) - Increase topic partitions to at least
5on the Topics page - Increase the Tasks setting to allow more parallel processing
- Adjust settings incrementally and monitor the impact
Database not found during incremental snapshot
Error message:
Database 'X' not foundCause: The database referenced in the incremental snapshot target does not exist, has been renamed, or the connector’s configuration references a stale database name.
Resolution:
- Verify the database name in the source connector configuration matches an existing database
- If the database was renamed, update the connector configuration with the new name
- Re-trigger the snapshot after correcting the configuration
Schema history timeout on large instances
Symptoms: Source connector startup is slow or times out; schema history topic is very large.
Cause: The source connector records schema structures from all databases and tables in the instance, even those not being captured. For large instances, this causes slow startup and excessive topic growth.
Resolution:
- Enable Capture Only Captured Databases DDL in the source’s Advanced settings
- Enable Capture Only Captured Tables DDL to limit schema history to only the tables you capture
- Consider restricting the database user’s access to only the captured databases and tables
Related Resources
- DLQ Operations - Monitor, inspect, and resolve failed messages in your pipelines
- Pipeline Recovery - Troubleshoot and recover broken pipelines
- Schema Evolution - How Streamkap handles schema changes between source and destination
- Logs - View detailed connector and pipeline logs