aws / aws/aws-xray-sdk-java

Error during serialization of DynamoDB request

Open
#259 2 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.