can you help me with this error <@U04S8PLJWMT>? ``...
# replication-ask-ai
a
can you help me with this error @kapa.ai?
Copy code
2026-04-24 18:08:34 error ERROR main i.a.c.AirbyteConnectorRunnable(run):38 Failed connector operation initialization. io.airbyte.cdk.ConfigErrorException: Failed to initialize connector operation
	at io.airbyte.cdk.AirbyteConnectorRunnable.run(AirbyteConnectorRunnable.kt:33) [bulk-cdk-core-base-0.1.82.jar:?]
	at picocli.CommandLine.executeUserObject(CommandLine.java:2030) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine.access$1500(CommandLine.java:148) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2457) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine$RunLast.handle(CommandLine.java:2419) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine$RunLast.execute(CommandLine.java:2421) [picocli-4.7.6.jar:4.7.6]
	at picocli.CommandLine.execute(CommandLine.java:2174) [picocli-4.7.6.jar:4.7.6]
	at io.airbyte.cdk.AirbyteDestinationRunner$Companion.run(AirbyteConnectorRunner.kt:289) [bulk-cdk-core-base-0.1.82.jar:?]
	at io.airbyte.cdk.AirbyteDestinationRunner$Companion.run$default(AirbyteConnectorRunner.kt:75) [bulk-cdk-core-base-0.1.82.jar:?]
	at io.airbyte.integrations.destination.snowflake.SnowflakeDestinationKt.main(SnowflakeDestination.kt:13) [io.airbyte.airbyte-integrations.connectors-destination-snowflake.jar:?]
Caused by: io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type  [io.airbyte.cdk.load.orchestration.db.legacy_typing_deduping.TableCatalog]
k
The error you're seeing is a Dependency Injection (DI) failure when instantiating
TableCatalog
in the Snowflake destination connector. Specifically:
Copy code
Caused by: io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [io.airbyte.cdk.load.orchestration.db.legacy_typing_deduping.TableCatalog]
What This Means
TableCatalog
requires certain name generator beans to be registered as
@Singleton
in the DI context. If any of these are missing, you'll get this instantiation error. [Common DI Errors] The required beans are: •
FinalTableNameGenerator
•
ColumnNameGenerator
•
TempTableNameGenerator
Possible Causes & Fixes 1. Missing application-connector.yml (Docker/Production only) If this error occurs in Docker but not in tests, the most likely cause is a missing
application-connector.yml
file. [Troubleshooting Reference] The fix is to ensure
src/main/resources/application-connector.yml
exists with content like:
Copy code
airbyte:
  destination:
    core:
      data-channel:
        medium: STDIO
        format: JSONL
      mappers:
        namespace-mapping-config-path: ""
2. Missing Name Generator Beans If you're building a custom connector based on the Snowflake connector, ensure the name generators are properly annotated with `@Singleton`:
Copy code
@Singleton
class SnowflakeFinalTableNameGenerator(...) : FinalTableNameGenerator { ... }

@Singleton
class SnowflakeColumnNameGenerator : ColumnNameGenerator { ... }
And register
TempTableNameGenerator
in your `BeanFactory`:
Copy code
@Singleton
fun tempTableNameGenerator(config: SnowflakeConfiguration): TempTableNameGenerator {
    return DefaultTempTableNameGenerator(
        internalNamespace = config.internalSchema
    )
}
Context This type of error has been reported in similar issues with other destination connectors (MSSQL, custom connectors) and is consistently traced back to missing DI beans or missing
application-connector.yml
. [Adding official connector as custom connector; Destination MS SQL connector] Could you share more details about your setup — are you using the official Snowflake connector image, or have you built a custom version? That would help narrow down the root cause further. šŸ‘ 0 button šŸ‘Ž 0 button ā„¹ļø Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.
a
more context:
Copy code
Message: For stream DSM_AIRBYTE.dsm_client_attributes: The cursor does not exist in the schema:
Path Taken: new WriteOperationV2(DestinationLifecycle d) --> new WriteOperationV2([DestinationLifecycle d]) --> new DestinationLifecycle([DestinationWriter destinationInitializer],DestinationCatalog destinationCatalog,PipelineRunner pipeline,StreamCompletionTracker completionTracker,CoroutineDispatcher streamInitDispatcher,CoroutineDispatcher streamFinalizeDispatcher) --> new SnowflakeWriter([TableCatalog names],DatabaseInitialStatusGatherer<DirectLoadInitialStatus InitialStatus> stateGatherer,StreamStateStore<DirectLoadTableExecutionConfig S> streamStateStore,SnowflakeAirbyteClient snowflakeClient,TempTableNameGenerator tempTableNameGenerator,SnowflakeConfiguration snowflakeConfiguration) --> TableCatalogFactory.getTableCatalog([DestinationCatalog catalog],RawTableNameGenerator rawTableNameGenerator,FinalTableNameGenerator finalTableNameGenerator,ColumnNameGenerator finalTableColumnNameGenerator)
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2341) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2296) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2308) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3118) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3020) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2981) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2747) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1745) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2188) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1350) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.airbyte.cdk.load.orchestration.db.legacy_typing_deduping.$TableCatalogFactory$GetTableCatalog0$Definition.instantiate(Unknown Source) ~[bulk-cdk-toolkit-load-db-0.1.82.jar:?]
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2326) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2296) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2308) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3118) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3020) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2981) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2747) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1745) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2188) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1350) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.airbyte.integrations.destination.snowflake.write.$SnowflakeWriter$Definition.instantiate(Unknown Source) ~[io.airbyte.airbyte-integrations.connectors-destination-snowflake.jar:?]
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2326) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2296) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2308) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3118) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3020) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2981) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2747) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1745) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2188) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1350) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.airbyte.cdk.load.dataflow.$DestinationLifecycle$Definition.instantiate(Unknown Source) ~[bulk-cdk-core-load-0.1.82.jar:?]
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2326) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2296) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2308) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3118) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3020) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2981) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2747) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1745) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractBeanResolutionContext.getBean(AbstractBeanResolutionContext.java:89) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.resolveBean(AbstractInitializableBeanDefinition.java:2188) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.AbstractInitializableBeanDefinition.getBeanForConstructorArgument(AbstractInitializableBeanDefinition.java:1350) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.airbyte.integrations.destination.snowflake.cdk.$WriteOperationV2$Definition.instantiate(Unknown Source) ~[io.airbyte.airbyte-integrations.connectors-destination-snowflake.jar:?]
	at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2326) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2296) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.doCreateBean(DefaultBeanContext.java:2308) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:3118) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.SingletonScope.getOrCreate(SingletonScope.java:80) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.findOrCreateSingletonBeanRegistration(DefaultBeanContext.java:3020) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2981) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2747) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.context.DefaultBeanContext.getBean(DefaultBeanContext.java:1745) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.micronaut.inject.provider.JakartaProviderBeanDefinition.lambda$buildProvider$0(JakartaProviderBeanDefinition.java:65) ~[micronaut-inject-4.6.1.jar:4.6.1]
	at io.airbyte.cdk.AirbyteConnectorRunnable.run(AirbyteConnectorRunnable.kt:31) ~[bulk-cdk-core-base-0.1.82.jar:?]
	... 11 more
@kapa.ai
k
The full stack trace makes the root cause clearer. The key message at the top is: > "For stream DSM_AIRBYTE.dsm_client_attributes: The cursor does not exist in the schema" This means the
TableCatalog
is failing to instantiate because one of the streams in your catalog references a cursor field that doesn't exist in the stream's schema. The DI chain fails because
TableCatalogFactory.getTableCatalog(...)
throws an error when processing your catalog, which cascades up through
SnowflakeWriter
→
DestinationLifecycle
→
WriteOperationV2
. The path taken confirms this:
Copy code
TableCatalogFactory.getTableCatalog([DestinationCatalog catalog], RawTableNameGenerator, FinalTableNameGenerator, ColumnNameGenerator)
The
TableCatalog
instantiation itself is failing — not because of missing beans (the name generators are present), but because of invalid catalog configuration for the stream
DSM_AIRBYTE.dsm_client_attributes
. How to Fix 1. Check your connection's stream configuration for
dsm_client_attributes
in the Airbyte UI: ā—¦ Go to the connection → Schema tab ā—¦ Find the stream
dsm_client_attributes
ā—¦ Check the cursor field selected for that stream ā—¦ The cursor field you've selected does not exist in the stream's actual schema 1. Either: ā—¦ Select a cursor field that actually exists in the stream's schema, or ā—¦ Switch the sync mode to one that doesn't require a cursor (e.g., Full Refresh instead of Incremental) 1. After updating, refresh the source schema and re-save the connection to ensure the catalog is up to date. The knowledge sources do not contain explicit documentation about this specific cursor validation error, but the error message itself ("The cursor does not exist in the schema") and the stack trace clearly point to a misconfigured cursor field in your stream's sync settings — not a missing DI bean issue. [Snowflake Connector Issue] šŸ‘ 0 button šŸ‘Ž 0 button ā„¹ļø Tip: Mention @kapa.ai in the thread for follow-ups or DM the app for 1-to-1 help.