Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug Report] Issue with Space in Topic Name in kafkajs Library #1652

Open
zakhaev26 opened this issue Dec 18, 2023 · 1 comment
Open

[Bug Report] Issue with Space in Topic Name in kafkajs Library #1652

zakhaev26 opened this issue Dec 18, 2023 · 1 comment

Comments

@zakhaev26
Copy link

zakhaev26 commented Dec 18, 2023

Describe the bug
When attempting to create a topic using the kafkajs library, I encountered an issue related to topic names containing spaces. The library documentation specifies the use of the ITopicConfig structure for creating a topic, where the topic field is expected to be a string.

However, it seems that the library does not handle topic names with spaces correctly, leading to application errors.

To Reproduce

    
 //Attempt to create a topic using kafkajs with a name containing spaces, for example: "badminton score-updates".

const { Kafka } = require('kafkajs');

const kafka = new Kafka({
  clientId: 'my-app',
  brokers: ['localhost:9092']
});

const admin = kafka.admin();
admin.connect()
  .then(() => admin.createTopics({
    topics: [{
      topic: 'badminton score-updates',
      numPartitions: 2,
      replicationFactor: 1,
    }]
  }))
  .then(() => console.log('Topic created successfully!'))
  .catch(error => console.error('Error:', error))
  .finally(() => admin.disconnect());

Expected behavior
The kafkajs library should provide clear guidance on valid topic name formats + Throw useful errors if done.

Observed behavior

{"level":"ERROR","timestamp":"2023-12-18T17:23:57.106Z","logger":"kafkajs","message":"[Connection] Response CreateTopics(key: 19, version: 3)","broker":"192.168.1.7:9092","clientId":"gc","error":"Topic creation errors","correlationId":2,"size":170}
KafkaJSAggregateError: Topic creation errors
    at Object.parse (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/protocol/requests/createTopics/v0/response.js:29:11)
    at Connection.send (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/network/connection.js:433:35)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async [private:Broker:sendRequest] (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/broker/index.js:904:14)
    at async Broker.createTopics (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/broker/index.js:555:12)
    at async /home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/admin/index.js:171:9
    at async runAdmin (/home/soubhik/codes/hypernotifs/kafka-files/admin.js:12:9) {
  errors: [
    KafkaJSCreateTopicError: The request attempted to perform an operation on an invalid topic
        at /home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/protocol/requests/createTopics/v0/response.js:32:18
        at Array.map (<anonymous>)
        at Object.parse (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/protocol/requests/createTopics/v0/response.js:31:23)
        at Connection.send (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/network/connection.js:433:35)
        at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
        at async [private:Broker:sendRequest] (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/broker/index.js:904:14)
        at async Broker.createTopics (/home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/broker/index.js:555:12)
        at async /home/soubhik/codes/hypernotifs/kafka-files/node_modules/kafkajs/src/admin/index.js:171:9
        at async runAdmin (/home/soubhik/codes/hypernotifs/kafka-files/admin.js:12:9) {
      retriable: false,
      helpUrl: undefined,
      type: 'INVALID_TOPIC_EXCEPTION',
      code: 17,
      topic: 'badminton score-updates',
      [cause]: undefined
    }
  ]
}

Environment:

  • OS: Linux thinkpad 6.2.0-37-generic 38~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Nov 2 18:01:13 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
  • KafkaJS version 2.2.4
  • Kafka version 7.4.0 [confluentinc/kafka docker image]
  • NodeJS version 20.10.0
@zakhaev26
Copy link
Author

I am up for taking up this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant