[
https://issues.apache.org/jira/browse/OAK-4236?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vikas Saurabh updated OAK-4236:
---
Attachment: unit-tests.log
Attaching [^unit-tests.log]. There are few observations:
* File store gets closed timely
* Delete fails even if I pause execution atTempFolder.delete
Making second SegmentNodeStore's as to have non-mmap access allows to clean up
nicely. So, both the following diffs get the cleanup through:
{code}
//which first wait for nodeStoreLatch and then on NodeStoreTracker lock
createConfig([
'org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService': [
-cache: 200
+cache: 200,
+"tarmk.mode": 32
]
])
{code}
OR
{code}
//1. Get NodeStore created
createConfig([
'org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService': [
-cache: 256
+cache: 256,
+"tarmk.mode": 32
]
])
getServiceWithWait(NodeStore.class)
//which first wait for nodeStoreLatch and then on NodeStoreTracker lock
createConfig([
'org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService': [
-cache: 200
+cache: 200,
+"tarmk.mode": 32
]
])
{code}
BTW, have file access for first config and mmap access for second _doesn't_
work:
{code}
//1. Get NodeStore created
createConfig([
'org.apache.jackrabbit.oak.plugins.segment.SegmentNodeStoreService': [
-cache: 256
+cache: 256,
+"tarmk.mode": 32
]
])
getServiceWithWait(NodeStore.class)
{code}
That indicated that quite possibly the issues is with locked mmapped file
access. I tried 2 System.gc() at the end of method to force clean-up of weak
refs if any... but that didn't work as well
{code}
assertNull("Deadlock detected",
ManagementFactory.getThreadMXBean().findDeadlockedThreads())
allWellLatch.await()
tracker.close()
+
+System.gc();
+System.gc();
}
@Override
{code}
> SegmentNodeStoreConfigTest#testDeadlock in oak-pojosr leaves out tmp file
> -
>
> Key: OAK-4236
> URL: https://issues.apache.org/jira/browse/OAK-4236
> Project: Jackrabbit Oak
> Issue Type: Technical task
>Reporter: Vikas Saurabh
>Assignee: Chetan Mehrotra
>Priority: Minor
> Attachments: unit-tests.log
>
>
> Leftover temp folder contains {{repository/segmentstore/data0a.tar}}...
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)