surekhasaharan commented on a change in pull request #8940: Update jackson to
2.9.10
URL: https://github.com/apache/incubator-druid/pull/8940#discussion_r351014754
##########
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:
that's a bummer :(, should we add a TODO note here to undo the workaround
once https://github.com/FasterXML/jackson-databind/issues/1467 is fixed or
when/if move to Jackson 3.x ?
----------------------------------------------------------------
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]