[ https://issues.apache.org/jira/browse/TINKERPOP-2033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
stephen mallette updated TINKERPOP-2033: ---------------------------------------- Description: 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. This is a breaking change on Gryo 1.0 because {{synchronizedMap}} has to be added as a type to Gryo and older versions of the driver will not support that - therefore a user utilizing a driver prior to 3.4.0 won't be able to return the result of {{profile()}} from a server running 3.4.0. The user would have to use 3.4.0 for the driver OR upgrade to Gryo 3.0 - as Gryo 3.0 is the default for 3.4.0, this problem seems somewhat mitigated. was: 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. This is a breaking change because {{synchronizedMap}} has to be added as a type to Gryo and older versions of the driver will not support that. > 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 > Labels: breaking > 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. > This is a breaking change on Gryo 1.0 because {{synchronizedMap}} has to be > added as a type to Gryo and older versions of the driver will not support > that - therefore a user utilizing a driver prior to 3.4.0 won't be able to > return the result of {{profile()}} from a server running 3.4.0. The user > would have to use 3.4.0 for the driver OR upgrade to Gryo 3.0 - as Gryo 3.0 > is the default for 3.4.0, this problem seems somewhat mitigated. -- This message was sent by Atlassian JIRA (v7.6.3#76005)