question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Cannot deploy topologies - no proper log

See original GitHub issue

Hi - I am using the topology-manager to deploy a basic set of topologies:

---
team: "team"
source: "source"
projects:
  - name: "bar"
    zookeepers: []
    consumers: []
    streams: []
    connectors: []
    topics:
      - dataType: "json"
        name: "events"
        config:
          replication.factor: "1"
          num.partitions: "1"
      - dataType: "avro"
        name: "events"
        config:
          replication.factor: "1"
          num.partitions: "1"

I am using the following config:

bootstrap.servers=localhost:9093
sasl.mechanism=PLAIN
security.protocol=SASL_PLAINTEXT
sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required \
   username="admin" \
   password="admin-secret";

I can succesfully use the exact same file-Config in a kafka-topics command:

kafka-topics --command-config topology.properties --bootstrap-server localhost:9093 --list

However the topology-manager won’t work and I get the following log output:

# kafka-topology-builder.sh --broker localhost:9093 --clientConfig topology.properties --topology topology.yaml 

log4j:WARN No appenders could be found for logger (org.apache.kafka.clients.admin.AdminClientConfig).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NullPointerException
        at com.purbon.kafka.topology.serdes.JsonSerdesUtils.parseApplicationUser(JsonSerdesUtils.java:17)
        at com.purbon.kafka.topology.serdes.ProjectCustomDeserializer.deserialize(ProjectCustomDeserializer.java:58)
        at com.purbon.kafka.topology.serdes.ProjectCustomDeserializer.deserialize(ProjectCustomDeserializer.java:21)
        at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:4189)
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2476)
        at com.fasterxml.jackson.databind.ObjectMapper.treeToValue(ObjectMapper.java:2929)
        at com.purbon.kafka.topology.serdes.JsonSerdesUtils.parseApplicationUser(JsonSerdesUtils.java:19)
        at com.purbon.kafka.topology.serdes.JsonSerdesUtils.addProject2Topology(JsonSerdesUtils.java:28)
        at com.purbon.kafka.topology.serdes.TopologyCustomDeserializer.deserialize(TopologyCustomDeserializer.java:44)
        at com.purbon.kafka.topology.serdes.TopologyCustomDeserializer.deserialize(TopologyCustomDeserializer.java:18)
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4218)
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3079)
        at com.purbon.kafka.topology.serdes.TopologySerdes.deserialise(TopologySerdes.java:30)
        at com.purbon.kafka.topology.KafkaTopologyBuilder.parseListOfTopologies(KafkaTopologyBuilder.java:126)
        at com.purbon.kafka.topology.KafkaTopologyBuilder.buildTopology(KafkaTopologyBuilder.java:95)
        at com.purbon.kafka.topology.KafkaTopologyBuilder.run(KafkaTopologyBuilder.java:77)
        at com.purbon.kafka.topology.BuilderCLI.processTopology(BuilderCLI.java:153)
        at com.purbon.kafka.topology.BuilderCLI.main(BuilderCLI.java:118)

Are there any means to get a proper log - or is there any other error in my usage?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:6 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
purboncommented, Jun 26, 2020

Glad it help, I always had everything, so never raised this small verification issue! any how, I will add a feature to verify and handle cases when fields are not present.

– Pere

Missatge de Fobhep notifications@github.com del dia dv., 26 de juny 2020 a les 16:55:

tested this quickly - seems to work. Thanks for the quick reply! 😃

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/purbon/kafka-topology-builder/issues/35#issuecomment-650223735, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAQXPDXV6UDTVUZUGJGIITRYSZHLANCNFSM4OJIN23A .

– Pere Urbon-Bayes Software Architect https://twitter.com/purbon https://www.linkedin.com/in/purbon/

1reaction
purboncommented, Jun 26, 2020

Hi @Fobhep , I took a quick look at the error. Right now there is no validation parsing the topology, the error is shown because you are missing the producers section in the topology. Add something like _ producers: []_ at the same level of consumers and others, this will make the error go away.

I will add a feature to validate the required fields, and handle them better. Thanks for your finding. is much appreciate it! @Fobhep !

Read more comments on GitHub >

github_iconTop Results From Across the Web

Cannot publish the topology, have no right to login SQL
I've a problem when publish the topology: cannot open database xds ... I had to login to SQL instances (RTC, RTCLOCAL, and LYNCLOCAL)...
Read more >
Troubleshooting topology – SiteScope integration
To check this: Open SiteScope directly (that is, not through the topology integration) using the following URL: http://<SiteScope server>:8080/ ...
Read more >
Troubleshooting Topology - MicroStrategy
Troubleshooting Topology. This section covers issues that may occur in Workstation and how to correct them. How to enable debug logging.
Read more >
Deploy Storm topology remotely using "storm jar" command ...
Running a topology via storm jar does only work on Linux (but not on Windows). The "storm" command is a Python script that...
Read more >
Deployment topologies - Splunk Documentation
All Splunk Enterprise deployment topologies are variants on distributed search. The variants relate to whether the topology incorporates ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found