jena-jdbc-driver-tdb has 99 disk tests in TestTdbDiskConnection and 221 TestTdbDiskResultSets - so that's what I have looked.

The test work by:

@Rule
    public TemporaryFolder tempDir = new TemporaryFolder();

and

 @After
 public void cleanupTest() {
      ...
      StoreConnection.expel(...) ;
 }

The @After happens before the @Rule cleanup (tick) so it really should be that nothign is folding on to the space.

The temporary folder is of the form in (Eclipse) /tmp/junitNNNNNNNN or (maven) target/junitNNNNNNNN.

Idea (no evidence; no Mac) - even if unlinked, maybe the file space is not immediately freed up.

We have the same with TCP ports - the tests used to saturate a machine and it ran out of ports because they were not being recycled - the OS didn't seem to get time to run the final part of TCP clearing up immediately.

And one other thing - we know Mac OS reports very large empty databases. I has assumed this was an accounting thing - they are sparse files so while they have a length of 8M, they are in fact 8K of used space. Maybe on OS/X a real 8M of disk space is allocated or at least reserved (which would be so mainframe-y!)

    Andy



On 03/06/16 18:22, A. Soroka wrote:
Just a further note: I've started sticking in logging statements and this turns out to be 
rooted in "java.io.IOException: No space left on device" exceptions getting 
thrown up at BlockAccessMapped::allocSegment line 223. This is with builds starting with 
about 25GB free on disk. And I am sometimes (but not always) seeing messages from the OS 
about disks being nearly full during the build.

So maybe there _is_ something weird about Mac OS X and memory mapping in Java? 
I suppose I have to start tracking resources.

Is anyone else out there using Mac OS X (10.10.5)? Are you seeing the same 
problem? I really hope I'm not the only one! {grin}

---
A. Soroka
The University of Virginia Library

On Jun 1, 2016, at 3:43 PM, Andy Seaborne <[email protected]> wrote:

On 01/06/16 19:25, A. Soroka wrote:
It's Mac. I took a look at the issue you mentioned, just to be sure, and checked the test 
code there-- Mac doesn't seem to have the "can't let go of mmapped files" 
problem, at least.

I'll start digging deeper.

Is this with -Pdev or full build? jena-jdbc-driver-tdb is not in -Pdev, 
jena-tdb is.

In jena-tdb, the setup is via ConfigTest and System.getProperty("os.name")

In "jena-tdb/target/tdb-testing" is there one directory "DB" or many "D-..."

        Andy


Reply via email to