[
https://issues.apache.org/jira/browse/OAK-8071?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16777761#comment-16777761
]
Michael Dürig commented on OAK-8071:
------------------------------------
Thanks [~ahanikel] for the feedback. I applied it with some modifications. Most
prominently I avoided to resolve the gc generation from JMX calls as this could
cause loading of segments. Instead I memoise the gc generation in
{{Commit#gcGeneration}} setting its value when the underlying segment needs to
be loaded anyway. I think this approach is especially important wrt.
{{SegmentNodeStoreStatsMBean#getQueuedWriters}}, which request the GC
generation of as many commits as are currently waiting. This means that for
queued commits the gc generation will usually show as N/A. I don't consider
this a problem as only the gc generation of the current commit in progress is
interesting for determining whether the current commit crossed a gc boundary
and might thus be susceptible for OAK-8014.
I cleaned up the commit history and grouped related changes in separate
commits. Please have a look at
https://github.com/mduerig/jackrabbit-oak/commits/OAK-8071-2
> Logging to detect commits carrying over from previous GC generation can block
> other threads from committing
> -----------------------------------------------------------------------------------------------------------
>
> Key: OAK-8071
> URL: https://issues.apache.org/jira/browse/OAK-8071
> Project: Jackrabbit Oak
> Issue Type: Technical task
> Components: segment-tar
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Priority: Blocker
> Fix For: 1.12, 1.11.0, 1.8.12, 1.10.2
>
>
> Add logging / monitoring to detect the situation from OAK-8014.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)