apache / apache/pulsar-client-node
Allow BigInt/Buffer to be used as initialSequenceId and/or sequenceId
- Ngôn ngữ chính
- C++
- Star
- 164
- Fork
- 98
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Mô tả
Hello there,
Right now the producer's sequence ID is limited to 4 bytes here:
- https://github.com/apache/pulsar-client-node/blob/master/src/ProducerConfig.cc#L76
- https://github.com/apache/pulsar-client-node/blob/master/src/Message.cc#L174
However we could allow 8 bytes integers if we allow producer/message to receive a [BigInt](https://nodejs.org/api/n-api.html#n_api_napi_get_value_bigint_int64) and/or a [8 bytes buffer](https://nodejs.org/api/buffer.html#buffer_buf_writebigint64le_value_offset).
I'm trying to match a dataset that uses 8 bytes integers for keys as my sequence ID, that's why I found this limitation :-)
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Hướng nghiên cứu
Bắt đầu bằng cách xem xét việc xử lý sequence ID tại src/ProducerConfig.cc#L76 và src/Message.cc#L174, cùng với các interface producer và message sử dụng những giá trị đó. Xác định cách chấp nhận các đầu vào BigInt và Buffer 8 byte, sau đó xác minh rằng sequence ID 8 byte có thể được truyền qua mà không bị cắt ngắn và hành vi 4 byte hiện có vẫn được hỗ trợ.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cpp, javascript, node.js
- Lĩnh vực
- api, backend, distributed-systems
- Loại issue
- Tính năng
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 43/100