[ 
https://issues.apache.org/jira/browse/KAFKA-3690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15279352#comment-15279352
 ] 

Liquan Pei commented on KAFKA-3690:
-----------------------------------

If JsonConverter is used for {code}internal.key.converter{code} or 
{code}internal.value.converter{code}. To work around this issue, we need to 
make sure that {code}internal.key.converter.schemas.enable{code} or 
{code}internal.value.converter.schemas.enable{code} is set to false in 
connect-standalone.properties or connect-distributed.properties. The example 
configuration is as follows:

{code}
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false
{code}

> Avoid passing null to UnmodifiableMap
> -------------------------------------
>
>                 Key: KAFKA-3690
>                 URL: https://issues.apache.org/jira/browse/KAFKA-3690
>             Project: Kafka
>          Issue Type: Bug
>          Components: KafkaConnect
>    Affects Versions: 0.10.0.0
>            Reporter: Liquan Pei
>            Assignee: Liquan Pei
>             Fix For: 0.10.0.0
>
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> For some version of JDK, if we pass null to UnModifiableMap's constructor, an 
> NullPointerException will be thrown. 
> This is produced by 
> curl -X POST -H "Content-Type: application/json" --data '{"name": 
> "local-conscq!-source", "config": 
> {"connector.class":"org.apache.kafka.connect.file.FileStreamSourceConnector", 
> "tasks.max":"1", "topic":"connect-test" }}' http://localhost:8083/connectors
> 2016-05-09 12:36:03,974] INFO Starting connectors and tasks using config 
> offset -1 (org.apache.kafka.connect.runtime.distributed.DistributedHerder:639)
> [2016-05-09 12:36:03,974] INFO Finished starting connectors and tasks 
> (org.apache.kafka.connect.runtime.distributed.DistributedHerder:659)
> [2016-05-09 12:36:42,691] WARN  (org.eclipse.jetty.servlet.ServletHandler:620)
> javax.servlet.ServletException: java.lang.NullPointerException
>       at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:487)
>       at 
> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>       at 
> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:159)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>       at org.eclipse.jetty.server.Server.handle(Server.java:499)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>       at 
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: java.lang.NullPointerException
>       at java.util.Collections$UnmodifiableMap.<init>(Collections.java:1446)
>       at java.util.Collections.unmodifiableMap(Collections.java:1433)
>       at 
> org.apache.kafka.connect.data.SchemaBuilder.parameters(SchemaBuilder.java:184)
>       at 
> org.apache.kafka.connect.json.JsonConverter.asJsonSchema(JsonConverter.java:415)
>       at 
> org.apache.kafka.connect.json.JsonConverter.asJsonSchema(JsonConverter.java:398)
>       at 
> org.apache.kafka.connect.json.JsonConverter.convertToJsonWithEnvelope(JsonConverter.java:551)
>       at 
> org.apache.kafka.connect.json.JsonConverter.fromConnectData(JsonConverter.java:305)
>       at 
> org.apache.kafka.connect.storage.KafkaConfigStorage.putConnectorConfig(KafkaConfigStorage.java:282)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder$4.call(DistributedHerder.java:428)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder$4.call(DistributedHerder.java:407)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder.tick(DistributedHerder.java:210)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:159)
>       ... 1 more
> [2016-05-09 12:36:42,694] INFO 127.0.0.1 - - [09/May/2016:19:36:42 +0000] 
> "POST /connectors HTTP/1.1" 500 294  133 
> (org.apache.kafka.connect.runtime.rest.RestServer:60)
> [2016-05-09 12:36:42,694] WARN /connectors 
> (org.eclipse.jetty.server.HttpChannel:395)
> javax.servlet.ServletException: javax.servlet.ServletException: 
> java.lang.NullPointerException
>       at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:130)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>       at 
> org.eclipse.jetty.server.handler.StatisticsHandler.handle(StatisticsHandler.java:159)
>       at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
>       at org.eclipse.jetty.server.Server.handle(Server.java:499)
>       at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)
>       at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
>       at 
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
>       at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: javax.servlet.ServletException: java.lang.NullPointerException
>       at 
> org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:487)
>       at 
> org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:425)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:383)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:336)
>       at 
> org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:223)
>       at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
>       at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
>       at 
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
>       at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
>       at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
>       at 
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
>       ... 10 more
> Caused by: java.lang.NullPointerException
>       at java.util.Collections$UnmodifiableMap.<init>(Collections.java:1446)
>       at java.util.Collections.unmodifiableMap(Collections.java:1433)
>       at 
> org.apache.kafka.connect.data.SchemaBuilder.parameters(SchemaBuilder.java:184)
>       at 
> org.apache.kafka.connect.json.JsonConverter.asJsonSchema(JsonConverter.java:415)
>       at 
> org.apache.kafka.connect.json.JsonConverter.asJsonSchema(JsonConverter.java:398)
>       at 
> org.apache.kafka.connect.json.JsonConverter.convertToJsonWithEnvelope(JsonConverter.java:551)
>       at 
> org.apache.kafka.connect.json.JsonConverter.fromConnectData(JsonConverter.java:305)
>       at 
> org.apache.kafka.connect.storage.KafkaConfigStorage.putConnectorConfig(KafkaConfigStorage.java:282)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder$4.call(DistributedHerder.java:428)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder$4.call(DistributedHerder.java:407)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder.tick(DistributedHerder.java:210)
>       at 
> org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:159)
>       ... 1 more
> [2016-05-09 12:36:42,696] WARN Could not send response error 500: 
> javax.servlet.ServletException: javax.servlet.ServletException: 
> java.lang.NullPointerException (org.eclipse.jetty.server.HttpChannel:481) 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to