Aerospike outbound source connector 2.2.0

I am using
com.aerospike aerospike-connect-outbound-sdk 2.2.0 provided

with custom formatter, recordTransformer and Routing config provided in /etc/aerospike-kafka-outbound/aerospike-kafka-outbound.yml file

When I start aerospike connector I get mentioned exception

2023-12-13 14:12:04.160 IST ERROR ErrorRegistry - Error stack trace java.lang.ClassNotFoundException: com.aerospike.connect.outbound.format.FormatterInput at java.net.URLClassLoader.findClass(URLClassLoader.java:387) at java.lang.ClassLoader.loadClass(ClassLoader.java:418) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.getDeclaredMethods(Class.java:1975) at com.google.inject.internal.DeclaredMembers.getDeclaredMethods(DeclaredMembers.java:48) at com.google.inject.spi.InjectionPoint.getDeclaredMethods(InjectionPoint.java:811)

Sharing complete log trace

023-12-14 06:17:07.887 UTC TRACE OrderXdrAcks - /127.0.0.1:48166 record-id:426 sending to ack channel

2023-12-14 06:17:07.887 UTC TRACE OrderXdrAcks - /127.0.0.1:48166 record-id:426 sending to ack channel success

2023-12-14 06:17:07.887 UTC TRACE XdrAckWriter - /127.0.0.1:48132 record-id:407 writing ack:TEMPORARY_ERROR

2023-12-14 06:17:07.887 UTC TRACE XdrAckWriter - /127.0.0.1:48166 record-id:426 writing ack:TEMPORARY_ERROR

2023-12-14 06:17:07.887 UTC ERROR ErrorRegistry - Error stack trace

java.lang.ClassNotFoundException: com.aerospike.connect.outbound.format.FormatterInput

at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)

at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)

at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525)

at java.base/java.lang.Class.getDeclaredMethods0(Native Method)

at java.base/java.lang.Class.privateGetDeclaredMethods(Class.java:3402)

at java.base/java.lang.Class.getDeclaredMethods(Class.java:2504)

at com.google.inject.internal.DeclaredMembers.getDeclaredMethods(DeclaredMembers.java:48)

at com.google.inject.spi.InjectionPoint.getDeclaredMethods(InjectionPoint.java:811)

at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:730)

at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:430)

at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:177)

at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:670)

at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:627)

at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:613)

at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:943)

at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:863)

at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:842)

at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:842)

at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:300)

at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:223)

at com.google.inject.internal.InjectorImpl.getInternalFactory(InjectorImpl.java:949)

at com.google.inject.internal.FactoryProxy.notify(FactoryProxy.java:48)

at com.google.inject.internal.ProcessedBindingData.runCreationListeners(ProcessedBindingData.java:60)

at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:137)

at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)

at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:238)

at com.google.inject.internal.InjectorImpl.createChildInjector(InjectorImpl.java:243)

at com.aerospike.connect.outbound.inject.RecordInjectorProvider.createInjector(RecordInjectorProvider.kt:108)

at com.aerospike.connect.outbound.inject.RecordInjectorProvider.dispatchConfigToInjectorCache$lambda-0(RecordInjectorProvider.kt:64)

at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:145)

at com.github.benmanes.caffeine.cache.UnboundedLocalCache.lambda$computeIfAbsent$2(UnboundedLocalCache.java:239)

at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)

at com.github.benmanes.caffeine.cache.UnboundedLocalCache.computeIfAbsent(UnboundedLocalCache.java:235)

at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)

at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:56)

at com.aerospike.connect.outbound.inject.RecordInjectorProvider.injectorCache$lambda-2(RecordInjectorProvider.kt:80)

at com.github.benmanes.caffeine.cache.LocalLoadingCache.lambda$newMappingFunction$2(LocalLoadingCache.java:145)

at com.github.benmanes.caffeine.cache.UnboundedLocalCache.lambda$computeIfAbsent$2(UnboundedLocalCache.java:239)

at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1708)

at com.github.benmanes.caffeine.cache.UnboundedLocalCache.computeIfAbsent(UnboundedLocalCache.java:235)

at com.github.benmanes.caffeine.cache.LocalCache.computeIfAbsent(LocalCache.java:108)

at com.github.benmanes.caffeine.cache.LocalLoadingCache.get(LocalLoadingCache.java:56)

at com.aerospike.connect.outbound.inject.RecordInjectorProvider.getInjectors(RecordInjectorProvider.kt:92)

at com.aerospike.connect.outbound.converter.XdrExchangeConverter.getInjectors(XdrExchangeConverter.kt:140)

at com.aerospike.connect.outbound.converter.XdrExchangeConverter.parse(XdrExchangeConverter.kt:133)

at com.aerospike.connect.outbound.OutboundBridge$processAsync$1.invokeSuspend(OutboundBridge.kt:182)

at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)

at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)

at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)

at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)

at java.base/java.lang.Thread.run(Thread.java:840)

2023-12-14 06:17:07.887 UTC TRACE XdrAckWriter - /127.0.0.1:48116 record-id:396 received for ack:TEMPORARY_ERROR processing

Hi Neha,

I see you are using custom jars. You might want to double check your configuration is pointing at a valid location for them.

A support ticket would help us get all of the necessary logs and information. We would at least be wanting the full connector logs (especially the config)