adobe / adobe/experience-platform-streaming-connect

JSON issue while creating connector instance

Open
#41 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
25
Forks
25
PR merge metrics
No merged PRs in 30d

Description

### Subject of the issue
Getting **A JSONObject text must begin with '{' at 1 [character 2 line 1] at org.json.JSONTokener.syntaxError(JSONTokener.java:505)**
issue while creating a connector instances.

### Your environment
Confluent Environment

### Steps to reproduce
curl -s -X POST \-H "Content-Type: application/json" \--data '{  "name": "aep-sink-connector",  "config": {    "topics": "connect-test",    "tasks.max": 1,    "aep.flush.interval.seconds": 1,    "aep.flush.bytes.kb": 4,    "connector.class": "com.adobe.platform.streaming.sink.impl.AEPSinkConnector",    "key.converter.schemas.enable": "false",    "value.converter.schemas.enable": "false",    "aep.endpoint": "[https://dcs.adobedc.net/collection/{DATA_INLET_ID}"](https://dcs.adobedc.net/collection/%7BDATA_INLET_ID%7D%22)  }}' http://localhost:8083/connectors

### Expected behaviour
Instance should get created

### Actual behaviour
ERROR [AEP-sink-dev-test|task-0] WorkerSinkTask{id=AEP-sink-dev-test-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted. Error: A JSONObject text must begin with '{' at 1 [character 2 line 1] (org.apache.kafka.connect.runtime.WorkerSinkTask:616)
org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:505)
at org.json.JSONObject.(JSONObject.java:214)
at org.json.JSONObject.(JSONObject.java:357)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at com.adobe.platform.streaming.sink.impl.AEPPublisher.publishData(AEPPublisher.java:66)
at com.adobe.platform.streaming.sink.impl.AEPSinkTask.publishData(AEPSinkTask.java:50)
at com.adobe.platform.streaming.sink.AbstractSinkTask.publishAndLogIfRequired(AbstractSinkTask.java:144)
at com.adobe.platform.streaming.sink.AbstractSinkTask.put(AbstractSinkTask.java:112)
at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:584)
at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:334)
at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:235)
at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:204)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:200)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:255)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
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)
[2023-01-24 21:05:15,670] ERROR [AEP-sink-dev-test|task-0] WorkerSinkTask{id=AEP-sink-dev-test-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted (org.apache.kafka.connect.runtime.WorkerTask:207)
org.apache.kafka.connect.errors.ConnectException: Exiting WorkerSinkTask due to unrecoverable exception.
at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:618)
at org.apache.kafka.connect.runtime.WorkerSinkTask.poll(WorkerSinkTask.java:334)
at org.apache.kafka.connect.runtime.WorkerSinkTask.iteration(WorkerSinkTask.java:235)
at org.apache.kafka.connect.runtime.WorkerSinkTask.execute(WorkerSinkTask.java:204)
at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:200)
at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:255)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
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)
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at 1 [character 2 line 1]
at org.json.JSONTokener.syntaxError(JSONTokener.java:505)
at org.json.JSONObject.(JSONObject.java:214)
at org.json.JSONObject.(JSONObject.java:357)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at com.adobe.platform.streaming.sink.impl.AEPPublisher.publishData(AEPPublisher.java:66)
at com.adobe.platform.streaming.sink.impl.AEPSinkTask.publishData(AEPSinkTask.java:50)
at com.adobe.platform.streaming.sink.AbstractSinkTask.publishAndLogIfRequired(AbstractSinkTask.java:144)
at com.adobe.platform.streaming.sink.AbstractSinkTask.put(AbstractSinkTask.java:112)
at org.apache.kafka.connect.runtime.WorkerSinkTask.deliverMessages(WorkerSinkTask.java:584)

Contributor guide

Open the contributing guide

Research direction

Reproduce the report with the supplied curl request and inspect AEPPublisher.java at publishData line 66, then follow the call from AEPSinkTask.java. Confirm whether the connector instance is created and the task can process the connector payload without the reported JSONObject exception or unrecoverable task failure.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
stream-processing
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.