apache / apache/pulsar-client-node
Allow BigInt/Buffer to be used as initialSequenceId and/or sequenceId
- Lenguaje dominante
- C++
- Estrellas
- 164
- Forks
- 98
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
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 :-)
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Comienza revisando el manejo de los ID de secuencia en src/ProducerConfig.cc#L76 y src/Message.cc#L174, junto con las interfaces de producer y message que utilizan esos valores. Determina cómo deben aceptarse las entradas BigInt y Buffer de 8 bytes y, a continuación, verifica que los ID de secuencia de 8 bytes puedan pasarse sin truncamiento y que el comportamiento existente de 4 bytes siga siendo compatible.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- cpp, javascript, node.js
- Área
- api, backend, distributed-systems
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 43/100