ccaominh commented on a change in pull request #8940: Update jackson to 2.9.10
URL: https://github.com/apache/incubator-druid/pull/8940#discussion_r351068166
##########
File path:
core/src/test/java/org/apache/druid/timeline/SegmentWithOvershadowedStatusTest.java
##########
@@ -74,42 +74,58 @@ public void
testUnwrappedSegmentWithOvershadowedStatusDeserialization() throws E
1
);
- final SegmentWithOvershadowedStatus segment = new
SegmentWithOvershadowedStatus(dataSegment, false);
+ return new SegmentWithOvershadowedStatus(dataSegment, OVERSHADOWED);
+ }
+ @Test
+ public void testUnwrappedSegmentWithOvershadowedStatusDeserialization()
throws Exception
+ {
final Map<String, Object> objectMap = MAPPER.readValue(
- MAPPER.writeValueAsString(segment),
+ MAPPER.writeValueAsString(SEGMENT),
JacksonUtils.TYPE_REFERENCE_MAP_STRING_OBJECT
);
Assert.assertEquals(11, objectMap.size());
Assert.assertEquals("something", objectMap.get("dataSource"));
- Assert.assertEquals(interval.toString(), objectMap.get("interval"));
+ Assert.assertEquals(INTERVAL.toString(), objectMap.get("interval"));
Assert.assertEquals("1", objectMap.get("version"));
- Assert.assertEquals(loadSpec, objectMap.get("loadSpec"));
+ Assert.assertEquals(LOAD_SPEC, objectMap.get("loadSpec"));
Assert.assertEquals("dim1,dim2", objectMap.get("dimensions"));
Assert.assertEquals("met1,met2", objectMap.get("metrics"));
Assert.assertEquals(ImmutableMap.of("type", "none"),
objectMap.get("shardSpec"));
Assert.assertEquals(TEST_VERSION, objectMap.get("binaryVersion"));
Assert.assertEquals(1, objectMap.get("size"));
- Assert.assertEquals(false, objectMap.get("overshadowed"));
+ Assert.assertEquals(OVERSHADOWED, objectMap.get("overshadowed"));
- final String json = MAPPER.writeValueAsString(segment);
+ final String json = MAPPER.writeValueAsString(SEGMENT);
final TestSegmentWithOvershadowedStatus deserializedSegment =
MAPPER.readValue(
json,
TestSegmentWithOvershadowedStatus.class
);
- Assert.assertEquals(segment.getDataSegment().getDataSource(),
deserializedSegment.getDataSource());
- Assert.assertEquals(segment.getDataSegment().getInterval(),
deserializedSegment.getInterval());
- Assert.assertEquals(segment.getDataSegment().getVersion(),
deserializedSegment.getVersion());
- Assert.assertEquals(segment.getDataSegment().getLoadSpec(),
deserializedSegment.getLoadSpec());
- Assert.assertEquals(segment.getDataSegment().getDimensions(),
deserializedSegment.getDimensions());
- Assert.assertEquals(segment.getDataSegment().getMetrics(),
deserializedSegment.getMetrics());
- Assert.assertEquals(segment.getDataSegment().getShardSpec(),
deserializedSegment.getShardSpec());
- Assert.assertEquals(segment.getDataSegment().getSize(),
deserializedSegment.getSize());
- Assert.assertEquals(segment.getDataSegment().getId(),
deserializedSegment.getId());
+ DataSegment dataSegment = SEGMENT.getDataSegment();
+ Assert.assertEquals(dataSegment.getDataSource(),
deserializedSegment.getDataSource());
+ Assert.assertEquals(dataSegment.getInterval(),
deserializedSegment.getInterval());
+ Assert.assertEquals(dataSegment.getVersion(),
deserializedSegment.getVersion());
+ Assert.assertEquals(dataSegment.getLoadSpec(),
deserializedSegment.getLoadSpec());
+ Assert.assertEquals(dataSegment.getDimensions(),
deserializedSegment.getDimensions());
+ Assert.assertEquals(dataSegment.getMetrics(),
deserializedSegment.getMetrics());
+ Assert.assertEquals(dataSegment.getShardSpec(),
deserializedSegment.getShardSpec());
+ Assert.assertEquals(dataSegment.getSize(), deserializedSegment.getSize());
+ Assert.assertEquals(dataSegment.getId(), deserializedSegment.getId());
+ }
+ // Previously, the implementation of SegmentWithOvershadowedStatus had
@JsonCreator/@JsonProperty and @JsonUnwrapped
+ // on the same field (dataSegment), which used to work in Jackson 2.6, but
does not work with Jackson 2.9:
+ //
https://github.com/FasterXML/jackson-databind/issues/265#issuecomment-264344051
Review comment:
Yeah, I can add a TODO. I think it'll work well in the implementation class
as a reminder to remove the constructor I added.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]