[ https://issues.apache.org/jira/browse/OAK-3440?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14904609#comment-14904609 ]
Michael Dürig commented on OAK-3440: ------------------------------------ I think functionally the patch is fine. However I find the code clearer and cleaner without the patch as * incrementing {{rootHead.revision}} is encapsulated in {{ConnectedHead}}. * The code in {{UnconnectedHead.getMutableNodeState()}} somewhat resembles that in {{UnconnectedHead.update()}}. As {{MemoryNodeBuilder}} is a complex beast that took several refactorings to get it right and balance readability and performance, I'd prefer to leave it as is unless we have a convincing reason otherwise. AFAIC modern JVMs are quite good at handling 'throw away' instance. In this case it will probably even get 'hotspotted away'. > MemoryNodeBuilder creates superfluous instances of ConnectedHead > ---------------------------------------------------------------- > > Key: OAK-3440 > URL: https://issues.apache.org/jira/browse/OAK-3440 > Project: Jackrabbit Oak > Issue Type: Improvement > Components: core > Reporter: Francesco Mari > Priority: Minor > Attachments: OAK-3440-01.patch > > > MemoryNodeBuilder creates a throw-away instance of ConnectedHead when a > MutableNodeState is requested to an UnconnectedHead. The throw-away > ConnectedHead could be spared by simplifying > UnconnectedHead.getMutableNodeState(). -- This message was sent by Atlassian JIRA (v6.3.4#6332)