[ https://issues.apache.org/jira/browse/TINKERPOP-2033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16614931#comment-16614931 ]
ASF GitHub Bot commented on TINKERPOP-2033: ------------------------------------------- Github user robertdale commented on a diff in the pull request: https://github.com/apache/tinkerpop/pull/932#discussion_r217736025 --- Diff: gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/gryo/GryoSerializersV3d0.java --- @@ -427,7 +428,12 @@ else if (1 == arguments) output.writeString(object.getName()); output.writeDouble(object.getDuration(TimeUnit.NANOSECONDS) / 1000000d); kryo.writeObject(output, object.getCounts()); - kryo.writeObject(output, object.getAnnotations()); + + // annotations is a synchronized LinkedHashMap - get rid of the "synch" for serialization as gryo + // doesn't know how to deserialize that well and LinkedHashMap should work with 3.3.x and previous + final Map<String, Object> annotations = new LinkedHashMap<>(); + object.getAnnotations().forEach(annotations::put); + kryo.writeObject(output, annotations); // kryo might have a problem with LinkedHashMap value collections. can't recreate it independently but --- End diff -- Do we not need to worry about this comment? > Maintain order of profile() annotations > --------------------------------------- > > Key: TINKERPOP-2033 > URL: https://issues.apache.org/jira/browse/TINKERPOP-2033 > Project: TinkerPop > Issue Type: Improvement > Components: process > Affects Versions: 3.4.0 > Reporter: stephen mallette > Assignee: stephen mallette > Priority: Minor > Fix For: 3.4.0 > > > The {{annotations}} of {{ImmutableMetrics}} uses a {{ConcurrentHashMap}} but > that of course loses the insertion order. Convert to a {{synchronizedMap}} > that takes a {{LinkedHashMap}} to maintain that order as well as the ability > to support concurrent access which is an issue for some graphs. > There was some question as to whether or not this change was breaking to the > Gryo format or not ,but it appears that it is not. Gryo 1.0 and 3.0 remain as > intact as they were on previous releases, though it is worth noting that Gryo > 1.0 broke on release on 3.3.0 when it comes to "metrics" serialization so > that break is still intact. Therefore you can't use Gryo 1.0 between 3.2.x > and 3.3.x/3.4.x. Not sure how that happened exactly. -- This message was sent by Atlassian JIRA (v7.6.3#76005)