Error during serialization of DynamoDB request
- Dominant language
- Java
- Stars
- 100
- Forks
- 100
- PR merge metrics
- No merged PRs in 30d
Description
We’re seeing the following error in our service that is reading data from S3 and writing them to DynamoDB using [batch-write-item API](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_BatchWriteItem.html). We are using DynamoDB V2 SDK and latest XRay packages.
```
...
Caused by: java.lang.IllegalArgumentException: No serializer found for class software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.amazonaws.xray.entities.SubsegmentImpl["aws"]->java.util.concurrent.ConcurrentHashMap["consumed_capacity"]->java.util.Collections$UnmodifiableRandomAccessList[0])
at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:2978)
at com.amazonaws.xray.entities.SubsegmentImpl.getStreamSerializeObjectNode(SubsegmentImpl.java:93)
at com.amazonaws.xray.entities.SubsegmentImpl.streamSerialize(SubsegmentImpl.java:104)
at com.amazonaws.xray.AWSXRayRecorder.endSubsegment(AWSXRayRecorder.java:477)
at com.amazonaws.xray.interceptors.TracingInterceptor.afterExecution(TracingInterceptor.java:259)
at .... many stacks from software.amazon.awssdk.core.interceptor
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:55)
at software.amazon.awssdk.services.dynamodb.DefaultDynamoDbClient.batchWriteItem(DefaultDynamoDbClient.java:768)
...
Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: No serializer found for class software.amazon.awssdk.services.dynamodb.model.ConsumedCapacity and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.amazonaws.xray.entities.SubsegmentImpl["aws"]->java.util.concurrent.ConcurrentHashMap["consumed_capacity"]->java.util.Collections$UnmodifiableRandomAccessList[0])
at com.fasterxml.jackson.databind.exc.InvalidDefinitionException.from(InvalidDefinitionException.java:77)
at com.fasterxml.jackson.databind.SerializerProvider.reportBadDefinition(SerializerProvider.java:1191)
at com.fasterxml.jackson.databind.DatabindContext.reportBadDefinition(DatabindContext.java:404)
at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:71)
at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.serialize(UnknownSerializer.java:33)
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119)
at com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serializeOptionalFields(MapSerializer.java:782)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:639)
at com.fasterxml.jackson.databind.ser.std.MapSerializer.serialize(MapSerializer.java:33)
at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:727)
at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:722)
at com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:166)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider._serialize(DefaultSerializerProvider.java:480)
at com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:319)
at com.fasterxml.jackson.databind.ObjectMapper.writeValue(ObjectMapper.java:2804)
at com.fasterxml.jackson.databind.ObjectMapper.valueToTree(ObjectMapper.java:2973)
at com.amazonaws.xray.entities.SubsegmentImpl.getStreamSerializeObjectNode(SubsegmentImpl.java:93)
at com.amazonaws.xray.entities.SubsegmentImpl.streamSerialize(SubsegmentImpl.java:104)
at com.amazonaws.xray.emitters.UDPEmitter.sendSubsegment(UDPEmitter.java:73)
at com.amazonaws.xray.AWSXRayRecorder.endSubsegment(AWSXRayRecorder.java:477)
at com.amazonaws.xray.interceptors.TracingInterceptor.afterExecution(TracingInterceptor.java:259)
at ... many stacks from software.amazon.awssdk.core
at software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler.execute(AwsSyncClientHandler.java:55)
at software.amazon.awssdk.services.dynamodb.DefaultDynamoDbClient.batchWriteItem(DefaultDynamoDbClient.java:768)
```
Contributor guide
Assessment
This issue has not been assessed yet.