apache / apache/pulsar-client-node

Allow BigInt/Buffer to be used as initialSequenceId and/or sequenceId

Abierto
#124 0 comentarios 0 reacciones 0 asignados Ver en GitHub
triage/week-40 type/feature
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.