apache / apache/datasketches-cpp

Theta sketch output doesn't match between Java and CPP

Abierto
#460 6 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
C++
Estrellas
273
Forks
88
Merge medio
2 d 2 h
PR fusionados (30 d)
8

Descripción

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?

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza reproduciendo los ejemplos de Java Union y C++ updateThetaSketch mostrados en el issue y, después, compara sus disposiciones de bytes serializadas alrededor de los bytes resaltados. Rastrea los puntos de entrada de serialización y deserialización utilizados por ambas implementaciones; se considera terminado cuando se hayan explicado los bytes diferentes y se haya establecido una salida compatible o un comportamiento de formato documentado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
cpp, java
Área
data
Tipo de issue
Error
Dificultad
3/5
Tiempo estimado
1-2 días
Estado de actividad
Activo
Claridad
Necesita aclaración
Aptitud para principiantes
45/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.