FasterXML / FasterXML/jackson-dataformats-binary

[protobuf] ObjectWriter fails to serialize depends on the order of messages

Aberta
#88 1 comentário 0 reações 0 responsáveis Ver no GitHub
protobuf
Linguagem predominante
Java
Estrelas
347
Forks
156
Merge médio
3d 3h
PRs com merge (30d)
22

Descrição

ObjectWriter fails to serialize depends on the order of messages defined in a proto file.

proto1 below works fine.
```
// proto1
message Main {
required Other o = 1;
}
message Other {
required int32 f = 1;
}
```

proto2 below fails. The only difference is the order of message types.
```
// proto2
message Other {
required int32 f = 1;
}
message Main {
required Other o = 1;
}
```

Stack trace
```
com.fasterxml.jackson.core.JsonGenerationException: Unrecognized field 'o' (in Message of type Other); known fields are: [Field 'f', tag=8, wireType=0, fieldType=VINT32_STD]

at com.fasterxml.jackson.core.JsonGenerator._reportError(JsonGenerator.java:1914)
at com.fasterxml.jackson.dataformat.protobuf.ProtobufGenerator.writeFieldName(ProtobufGenerator.java:299)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:725)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:716)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:155)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:481)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:401)
at com.fasterxml.jackson.databind.ObjectWriter$Prefetch.serialize(ObjectWriter.java:1392)
at com.fasterxml.jackson.databind.ObjectWriter._configAndWriteValue(ObjectWriter.java:1120)
at com.fasterxml.jackson.databind.ObjectWriter.writeValueAsBytes(ObjectWriter.java:1017)
at com.fasterxml.jackson.dataformat.protobuf.schema.MessageResolutionTest.serializeTest(MessageResolutionTest.java:85)
```

Here is the [test case](https://gist.github.com/knoguchi/1ac2c621f27beeb3711fa397d06c31b1).

Guia de contribuição

Nenhum guia de contribuição indexado para este repositório

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.