apache / apache/pulsar-client-node

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

Aperta
#124 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
triage/week-40 type/feature
Lingua principale
C++
Stelle
164
Fork
98
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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 :-)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia esaminando la gestione degli ID di sequenza in src/ProducerConfig.cc#L76 e src/Message.cc#L174, insieme alle interfacce di producer e message che utilizzano questi valori. Determina come devono essere accettati gli input BigInt e Buffer da 8 byte, quindi verifica che gli ID di sequenza da 8 byte possano essere passati senza troncamento e che il comportamento esistente da 4 byte rimanga supportato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cpp, javascript, node.js
Ambito
api, backend, distributed-systems
Tipo di issue
Funzionalità
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
43/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.