kafka-connect-transform-xml
kafka-connect-transform-xml copied to clipboard
Errors using books.xml : `Exception thrown while processing: Exception thrown while building field 'book'. BooksForm`
version 0.1.0.18
Using the unit test file books.xml and accompanying books.xsd the SMT throws an error.
Config:
curl -i -X PUT -H "Content-Type:application/json" \
http://localhost:8083/connectors/source-file-01/config \
-d '{
"connector.class": "org.apache.kafka.connect.file.FileStreamSourceConnector",
"tasks.max": "1",
"file": "/data/books.xml",
"topic": "xmltest",
"transforms": "xml",
"transforms.xml.type": "com.github.jcustenborder.kafka.connect.transform.xml.FromXml$Value",
"transforms.xml.schema.path": "file:///data/books.xsd",
"transforms.xml.xjc.options.verbose.enabled":"true"
}'
Error
[2020-10-02 09:42:54,358] TRACE [source-file-01b|task-0] Retrieving loaded class 'com.github.jcustenborder.kafka.connect.transform.xml.FromXml$Value' from 'PluginClassLoader{pluginLocation=file:/usr/share/confluent-hub-components/jcustenborder-kafka-connect-transform-xml/}' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:403)
[2020-10-02 09:42:54,359] TRACE [source-file-01b|task-0] Retrieving loaded class 'com.github.jcustenborder.kafka.connect.transform.xml.FromXml$Value' from 'PluginClassLoader{pluginLocation=file:/usr/share/confluent-hub-components/jcustenborder-kafka-connect-transform-xml/}' (org.apache.kafka.connect.runtime.isolation.DelegatingClassLoader:403)
[2020-10-02 09:42:54,361] INFO [source-file-01b|task-0] EnrichedConnectorConfig values:
config.action.reload = restart
connector.class = org.apache.kafka.connect.file.FileStreamSourceConnector
errors.log.enable = false
errors.log.include.messages = false
errors.retry.delay.max.ms = 60000
errors.retry.timeout = 0
errors.tolerance = none
header.converter = null
key.converter = null
name = source-file-01b
predicates = []
tasks.max = 1
topic.creation.groups = []
transforms = [xml]
transforms.xml.negate = false
transforms.xml.package = com.github.jcustenborder.kafka.connect.transform.xml.model
transforms.xml.predicate =
transforms.xml.schema.path = [file:///data/books.xsd]
transforms.xml.type = class com.github.jcustenborder.kafka.connect.transform.xml.FromXml$Value
transforms.xml.xjc.options.automatic.name.conflict.resolution.enabled = false
transforms.xml.xjc.options.strict.check.enabled = true
transforms.xml.xjc.options.verbose.enabled = true
value.converter = null
(org.apache.kafka.connect.runtime.ConnectorConfig$EnrichedConnectorConfig:354)
[2020-10-02 09:42:54,363] INFO [source-file-01b|task-0] FromXmlConfig values:
package = com.github.jcustenborder.kafka.connect.transform.xml.model
schema.path = [file:///data/books.xsd]
xjc.options.automatic.name.conflict.resolution.enabled = false
xjc.options.strict.check.enabled = true
xjc.options.verbose.enabled = true
(com.github.jcustenborder.kafka.connect.transform.xml.FromXmlConfig:354)
[2020-10-02 09:42:54,364] INFO [source-file-01b|task-0] compileContext() - Generating source for file:/data/books.xsd (com.github.jcustenborder.kafka.connect.transform.xml.XSDCompiler:99)
[2020-10-02 09:42:54,396] TRACE [source-file-01b|task-0] run - BooksForm (com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin:475)
[2020-10-02 09:42:54,396] TRACE [source-file-01b|task-0] field() - processing name = 'book' type = 'List<BookForm>' (com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin:381)
[2020-10-02 09:42:54,397] ERROR [source-file-01b|task-0] Error (com.github.jcustenborder.kafka.connect.transform.xml.XSDCompiler:31)
org.xml.sax.SAXParseException; Exception thrown while processing: Exception thrown while building field 'book'. BooksForm
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.run(KafkaConnectPlugin.java:486)
at com.sun.tools.xjc.model.Model.generateCode(Model.java:292)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:284)
at com.sun.tools.xjc.api.impl.s2j.SchemaCompilerImpl.bind(SchemaCompilerImpl.java:95)
at com.github.jcustenborder.kafka.connect.transform.xml.XSDCompiler.compileContext(XSDCompiler.java:106)
at com.github.jcustenborder.kafka.connect.transform.xml.FromXml.configure(FromXml.java:130)
at org.apache.kafka.connect.runtime.ConnectorConfig.transformations(ConnectorConfig.java:285)
at org.apache.kafka.connect.runtime.Worker.buildWorkerTask(Worker.java:605)
at org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:555)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:1251)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder.access$1700(DistributedHerder.java:127)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder$10.call(DistributedHerder.java:1266)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder$10.call(DistributedHerder.java:1262)
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:834)
Caused by: java.lang.IllegalStateException: Exception thrown while building field 'book'. BooksForm
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.field(KafkaConnectPlugin.java:420)
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.fields(KafkaConnectPlugin.java:452)
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.fields(KafkaConnectPlugin.java:463)
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.run(KafkaConnectPlugin.java:477)
... 16 more
Caused by: java.util.ConcurrentModificationException
at java.base/java.util.HashMap.computeIfAbsent(HashMap.java:1134)
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.type(KafkaConnectPlugin.java:293)
at com.github.jcustenborder.kafka.connect.xml.KafkaConnectPlugin.field(KafkaConnectPlugin.java:401)
... 19 more
[2020-10-02 09:42:54,398] ERROR [source-file-01b|task-0] Failed to start task source-file-01b-0 (org.apache.kafka.connect.runtime.Worker:560)
org.apache.kafka.connect.errors.ConnectException: org.apache.kafka.connect.errors.ConnectException: Schema compiler could not bind schema.
at org.apache.kafka.connect.runtime.ConnectorConfig.transformations(ConnectorConfig.java:296)
at org.apache.kafka.connect.runtime.Worker.buildWorkerTask(Worker.java:605)
at org.apache.kafka.connect.runtime.Worker.startTask(Worker.java:555)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder.startTask(DistributedHerder.java:1251)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder.access$1700(DistributedHerder.java:127)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder$10.call(DistributedHerder.java:1266)
at org.apache.kafka.connect.runtime.distributed.DistributedHerder$10.call(DistributedHerder.java:1262)
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:834)
Caused by: org.apache.kafka.connect.errors.ConnectException: Schema compiler could not bind schema.
at com.github.jcustenborder.kafka.connect.transform.xml.XSDCompiler.compileContext(XSDCompiler.java:109)
at com.github.jcustenborder.kafka.connect.transform.xml.FromXml.configure(FromXml.java:130)
at org.apache.kafka.connect.runtime.ConnectorConfig.transformations(ConnectorConfig.java:285)
... 10 more
I have the same issue while I am running the test case locally with my own xsd and xml. Is there any update on it?