aws / aws/aws-lambda-java-libs
Bug: JSON serialization ignores fields from child classes (Java 8 Lambda runtime works, Java 11 Lambda runtime fails)
- Lenguaje dominante
- Java
- Estrellas
- 548
- Forks
- 241
- Merge medio
- 2 d 5 min
- PR fusionados (30 d)
- 11
Descripción
I noticed this issue when updating my lambda function from Java 8 to Java 11, and it seems to be related to the code in this repository.
The problematic situation occurs when a lambda function declares that it returns `TestParent`, but actually returns an instance of `TestChild`:
```java
public class TestParent {
public String parentField = "parentField";
}
public class TestChild extends TestParent {
public String childField = "childField";
}
```
To reproduce the issue, please run the attached test case (maven project): [aws-lambda-json-child-field-bug.zip](https://github.com/aws/aws-lambda-java-libs/files/9210528/aws-lambda-json-child-field-bug.zip)
It should fail with an error like below:
```
org.junit.ComparisonFailure:
Expected :{"parentField":"parentField","childField":"childField"}
Actual :{"parentField":"parentField"}
```
You can see that the fields from `TestChild` are missing. This is the issue, and this seems to be new -- in the Java 8 lambda runtime this worked ok.
Thanks for any help!
Guía de contribución
Línea de trabajo
Comienza ejecutando el caso de prueba de Maven aws-lambda-json-child-field-bug.zip adjunto en el runtime de Java 11 Lambda y compáralo con Java 8. Rastrea el punto de entrada de serialización JSON utilizado por la prueba; se considera terminado cuando la instancia serializada de TestChild incluye tanto parentField como childField.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- aws, java
- Área
- cloud
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 42/100