ruchirvaninasdaq opened a new issue #1285: URL: https://github.com/apache/camel-kafka-connector/issues/1285
Hello, I have added a custom class extending CamelAws2S3SourceConnector for some custom work. Now trying to build the project and deploy it. It's giving me the following error I am using 0.7.x branch `https://github.com/apache/camel-kafka-connector/tree/camel-kafka-connector-0.7.x` on Strimzi 0.25.0 cluster. ``` 2021-11-09 16:00:21,642 INFO Creating connector my-connector of type org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector (org.apache.kafka.connect.runtime.Worker) [StartAndStopExecutor-connect-1-1] 2021-11-09 16:00:21,643 ERROR Failed to start connector my-connector (org.apache.kafka.connect.runtime.Worker) [StartAndStopExecutor-connect-1-1] org.apache.kafka.connect.errors.ConnectException: Failed to find any class that implements Connector and which name matches org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector, available connectors are: PluginDesc{klass=class com.nasdaq.ncds.kafkaconnector.common.CamelSinkConnector, name='com.nasdaq.ncds.kafkaconnector.common.CamelSinkConnector', version='null', encodedVersion=null, type=sink, typeName='sink', location='file:/opt/kafka/plugins/my-connector/'}, PluginDesc{klass=class com.nasdaq.ncds.kafkaconnector.common.CamelSourceConnector, name='com.nasdaq.ncds.kafkaconnector.common.CamelSourceConnector', version='null', encodedVersion=null, type=source, typeName='source', location='file:/opt/kafka/plugins/my-connector/'}, PluginDesc{klass=class com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector, name='com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector', version='null', encodedVersion=null, type=source, typeName='source', location='file:/opt/kaf ka/plugins/my-connector/'}, PluginDesc{klass=class org.apache.kafka.connect.file.FileStreamSinkConnector, name='org.apache.kafka.connect.file.FileStreamSinkConnector', version='2.8.0', encodedVersion=2.8.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.file.FileStreamSourceConnector, name='org.apache.kafka.connect.file.FileStreamSourceConnector', version='2.8.0', encodedVersion=2.8.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorCheckpointConnector, name='org.apache.kafka.connect.mirror.MirrorCheckpointConnector', version='1', encodedVersion=1, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorHeartbeatConnector, name='org.apache.kafka.connect.mirror.MirrorHeartbeatConnector', version='1', encodedVersion=1, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.k afka.connect.mirror.MirrorSourceConnector, name='org.apache.kafka.connect.mirror.MirrorSourceConnector', version='1', encodedVersion=1, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockConnector, name='org.apache.kafka.connect.tools.MockConnector', version='2.8.0', encodedVersion=2.8.0, type=connector, typeName='connector', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSinkConnector, name='org.apache.kafka.connect.tools.MockSinkConnector', version='2.8.0', encodedVersion=2.8.0, type=sink, typeName='sink', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSourceConnector, name='org.apache.kafka.connect.tools.MockSourceConnector', version='2.8.0', encodedVersion=2.8.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.SchemaSourceConnector, name='org.apache.kafka.connect.tools.SchemaSourceConnector' , version='2.8.0', encodedVersion=2.8.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSinkConnector, name='org.apache.kafka.connect.tools.VerifiableSinkConnector', version='2.8.0', encodedVersion=2.8.0, type=source, typeName='source', location='classpath'}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSourceConnector, name='org.apache.kafka.connect.tools.VerifiableSourceConnector', version='2.8.0', encodedVersion=2.8.0, type=source, typeName='source', location='classpath'} at org.apache.kafka.connect.runtime.isolation.Plugins.connectorClass(Plugins.java:208) at org.apache.kafka.connect.runtime.isolation.Plugins.newConnector(Plugins.java:180) at org.apache.kafka.connect.runtime.Worker.startConnector(Worker.java:275) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startConnector(DistributedHerder.java:1348) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$getConnectorStartingCallable$22(DistributedHerder.java:1354) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) 2021-11-09 16:00:21,645 ERROR Failed to start task my-connector-0 (org.apache.kafka.connect.runtime.Worker) [StartAndStopExecutor-connect-1-2] org.apache.kafka.common.config.ConfigException: Invalid value org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter for configuration value.converter: Class org.apache.camel.kafkaconnector.aws2s3.converters.S3ObjectConverter could not be found. at org.apache.kafka.common.config.ConfigDef.parseType(ConfigDef.java:744) at org.apache.kafka.common.config.ConfigDef.parseValue(ConfigDef.java:490) at org.apache.kafka.common.config.ConfigDef.parse(ConfigDef.java:483) at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:108) at org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:129) at org.apache.kafka.connect.runtime.ConnectorConfig.<init>(ConnectorConfig.java:230) at org.apache.kafka.connect.runtime.ConnectorConfig.<init>(ConnectorConfig.java:226) at org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:520) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:1287) at org.apache.kafka.connect.runtime.distributed.DistributedHerder.lambda$getTaskStartingCallable$17(DistributedHerder.java:1300) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) ``` I have verified that my configs are applied. kubectl get kafkaconnector my-connector -o yaml ``` apiVersion: kafka.strimzi.io/v1beta2 kind: KafkaConnector metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"kafka.strimzi.io/v1beta2","kind":"KafkaConnector","metadata":{"annotations":{},"labels":{"strimzi.io/cluster":"my-kafka-connect-cluster"},"name":"my-connector","namespace":"myns"},"spec":{"class":"com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector","config":{"camel.component.aws2-s3.autocloseBody":false,"camel.component.aws2-s3.includeBody":true,"camel.component.aws2-s3.useDefaultCredentialsProvider":true,"camel.source.endpoint.destinationBucket":"bucket","camel.source.endpoint.moveAfterRead":true,"camel.source.endpoint.useDefaultCredentialsProvider":true,"camel.source.kafka.topic":"data","camel.source.maxBatchPollSize":1000,"camel.source.maxPollDuration":10,"camel.source.path.bucketNameOrArn":"bucketuinput","client.id":"client","connector.class":"com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector","key.converter":"org.apache.kafka.connect.storage.StringConverter","topics":"data","value.converter":"com.nasdaq.ncds.kafkaconnector.s3.converte rs.S3ObjectConverter"},"tasksMax":1}} creationTimestamp: "2021-11-09T15:55:43Z" generation: 1 labels: strimzi.io/cluster: my-kafka-connect-cluster name: my-connector namespace: ns resourceVersion: "225638895" selfLink: /apis/kafka.strimzi.io/v1beta2/namespaces/ns/kafkaconnectors/my-connector uid: c408cd1c-7985-473f-9f48-7f8addf2fd22 spec: class: com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector config: camel.component.aws2-s3.autocloseBody: false camel.component.aws2-s3.includeBody: true camel.component.aws2-s3.useDefaultCredentialsProvider: true camel.source.endpoint.destinationBucket: bucket camel.source.endpoint.moveAfterRead: true camel.source.endpoint.useDefaultCredentialsProvider: true camel.source.kafka.topic: data camel.source.maxBatchPollSize: 1000 camel.source.maxPollDuration: 10 camel.source.path.bucketNameOrArn: bucket client.id:client connector.class: com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector key.converter: org.apache.kafka.connect.storage.StringConverter topics: data value.converter: com.nasdaq.ncds.kafkaconnector.s3.converters.S3ObjectConverter tasksMax: 1 status: conditions: - lastTransitionTime: "2021-11-09T15:55:59.577283Z" message: 'GET /connectors/my-connector/config returned 500 (Internal Server Error): Failed to find any class that implements Connector and which name matches org.apache.camel.kafkaconnector.aws2s3.CamelAws2s3SourceConnector, available connectors are: PluginDesc{klass=class com.nasdaq.ncds.kafkaconnector.common.CamelSinkConnector, name=''com.nasdaq.ncds.kafkaconnector.common.CamelSinkConnector'', version=''null'', encodedVersion=null, type=sink, typeName=''sink'', location=''file:/opt/kafka/plugins/my-connector/''}, PluginDesc{klass=class com.nasdaq.ncds.kafkaconnector.common.CamelSourceConnector, name=''com.nasdaq.ncds.kafkaconnector.common.CamelSourceConnector'', version=''null'', encodedVersion=null, type=source, typeName=''source'', location=''file:/opt/kafka/plugins/my-connector/''}, PluginDesc{klass=class com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector, name=''com.nasdaq.ncds.kafkaconnector.s3.CamelAws2s3SourceConnector'', version=''null'', encodedVersion=null, type=source, typeName=''source'', location=''file:/opt/kafka/plugins/my-connector/''}, PluginDesc{klass=class org.apache.kafka.connect.file.FileStreamSinkConnector, name=''org.apache.kafka.connect.file.FileStreamSinkConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=sink, typeName=''sink'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.file.FileStreamSourceConnector, name=''org.apache.kafka.connect.file.FileStreamSourceConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorCheckpointConnector, name=''org.apache.kafka.connect.mirror.MirrorCheckpointConnector'', version=''1'', encodedVersion=1, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorHeartbeatConnector, name=''org.apache.kafka.connect.mirror.MirrorHeartbeatConnector'', version=''1'', encodedVersion=1, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.mirror.MirrorSourceConnector, name=''org.apache.kafka.connect.mirror.MirrorSourceConnector'', version=''1'', encodedVersion=1, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockConnector, name=''org.apache.kafka.connect.tools.MockConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=connector, typeName=''connector'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSinkConnector, name=''org.apache.kafka.connect.tools.MockSinkConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=sink, typeName=''sink'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.tools.MockSourceConnector, name=''org.apache.kafka.connect.tools.MockSourceConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.tools.SchemaSourceConnector, name=''org.apache.kafka.connect.tools.SchemaSourceConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSinkConnector, name=''org.apache.kafka.connect.tools.VerifiableSinkConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=source, typeName=''source'', location=''classpath''}, PluginDesc{klass=class org.apache.kafka.connect.tools.VerifiableSourceConnector, name=''org.apache.kafka.connect.tools.VerifiableSourceConnector'', version=''2.8.0'', encodedVersion=2.8.0, type=source, typeName=''source'', location=''classpath''}' reason: ConnectRestException status: "True" type: NotReady observedGeneration: 1 tasksMax: 1 topics: [] ``` Please let me know if you need any more information. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org