apache / apache/datasketches-cpp

Theta sketch output doesn't match between Java and CPP

Aperta
#460 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
C++
Stelle
273
Fork
88
Merge medio
2g 2h
PR unite (30g)
8

Descrizione

I have run a simple theta sketch computation as below in Java and CPP

```
Union union = Union.builder().buildUnion();
union.update(1);
union.update(2);
CompactSketch compactSketch = union.getResult();
byte[] bytes = union.getResult().toByteArray()
```

Java output:

02 03 03 00 00 1a cc 93 02 00 00 00 00 00 **80 3f**
15 f9 7d cb bd 86 a1 05 c3 97 fc 12 81 70 9d 1e

CPP :

```
updateThetaSketch update_sketch = updateThetaSketch::builder().build();

update_sketch.update(1);
update_sketch.update(2);
auto bytes = update_sketch.compact().serialize();

```

CPP output:

02 03 03 00 00 1a cc 93 02 00 00 00 00 00 **00 00**
15 f9 7d cb bd 86 a1 05 c3 97 fc 12 81 70 9d 1e

The output seems to not match, as we see in bold at the end of first line, 4 bytes "80 3f" is missing in CPP.

Can anyone share why this is so?

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo gli esempi Java Union e C++ updateThetaSketch mostrati nell’issue, quindi confronta i relativi layout dei byte serializzati intorno ai byte evidenziati. Traccia i punti di ingresso di serializzazione e deserializzazione utilizzati da entrambe le implementazioni; il lavoro è completo quando i byte differenti sono spiegati e viene stabilito un output compatibile o un comportamento del formato documentato.

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

Valutazione

Stack tecnologico
cpp, java
Ambito
data
Tipo di issue
Bug
Difficoltà
3/5
Tempo stimato
1-2 giorni
Stato di attività
Attiva
Chiarezza
Da chiarire
Idoneità per principianti
45/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.