You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you throw an exception from Kafka based micro service message handler it seems that it is supposed to be places in kafka_nest-err message header by assignErrorHeader. However BaseRpcExceptionFilter returns an object that cannot be fed into Buffer.from so we get an error and the exception is never delivered.
Error: Ouch!
at ServerController.getHello (/Users/sergeykuleshov/Projects/nest-ms-kafka-ex/dist/apps/server/main.js:76:15)
at /Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/@nestjs/microservices/context/rpc-context-creator.js:44:33
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at /Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/@nestjs/microservices/context/rpc-proxy.js:11:32
at ServerKafka.handleMessage (/Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/@nestjs/microservices/server/server-kafka.js:112:54)
at Runner.processEachMessage (/Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/kafkajs/src/consumer/runner.js:191:9)
at onBatch (/Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/kafkajs/src/consumer/runner.js:393:9)
at /Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/kafkajs/src/consumer/runner.js:409:9
at /Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/kafkajs/src/consumer/worker.js:29:9
TypeError: The first argument must be of type string or an instance of Buffer, ArrayBuffer, or Array or an Array-like Object. Received an instance of Object
at new NodeError (node:internal/errors:371:5)
at Function.from (node:buffer:322:9)
at ServerKafka.assignErrorHeader (/Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/@nestjs/microservices/server/server-kafka.js:137:73)
at ServerKafka.sendMessage (/Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/@nestjs/microservices/server/server-kafka.js:119:14)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at /Users/sergeykuleshov/Projects/nest-ms-kafka-ex/node_modules/@nestjs/microservices/server/server.js:47:25
Is there an existing issue for this?
Current behavior
When you throw an exception from Kafka based micro service message handler it seems that it is supposed to be places in
kafka_nest-err
message header byassignErrorHeader
. HoweverBaseRpcExceptionFilter
returns an object that cannot be fed intoBuffer.from
so we get an error and the exception is never delivered.nest/packages/microservices/server/server-kafka.ts
Line 231 in 2e3727b
Minimum reproduction code
https://github.com/svyatogor/nest-ms-kafka-ex
Steps to reproduce
Expected behavior
The message should be serialised before being set onto the header.
Package
@nestjs/common
@nestjs/core
@nestjs/microservices
@nestjs/platform-express
@nestjs/platform-fastify
@nestjs/platform-socket.io
@nestjs/platform-ws
@nestjs/testing
@nestjs/websockets
Other package
No response
NestJS version
8.4.5
Packages versions
Node.js version
16.14
In which operating systems have you tested?
Other
No response
The text was updated successfully, but these errors were encountered: