kafka-connect-transform-xml icon indicating copy to clipboard operation
kafka-connect-transform-xml copied to clipboard

Errors using books.xml : `Exception thrown while processing: Exception thrown while building field 'book'. BooksForm`

Open rmoff opened this issue 4 years ago • 1 comments

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

rmoff avatar Oct 02 '20 09:10 rmoff

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?

rnsmurthy avatar Nov 17 '20 13:11 rnsmurthy