I've never seen it before, but it seems more and more likely that that's simply 
because my disk is filling up with stuff! {grin}

I will start taking a look at subclassing JUnit's TemporaryFolder and inserting 
a block in the "after-test" portion to wait until the files are really gone. 
That might or might not work, but it's pretty easy to try.

---
A. Soroka
The University of Virginia Library

> On Jun 6, 2016, at 5:03 AM, Rob Vesse <[email protected]> wrote:
> 
> I’ve always seen this issue running on mac , these days it is not an issue 
> for me because I got a new machine with more disk space
> 
> It did always seem like there was a delay between the test deleting folder 
> and the disk space actually being freed up. I did on one occasion try 
> inserting a sleep before each test which made things better but drastically 
> increased the time to run the tests.
> 
> On 05/06/2016 16:58, "Andy Seaborne" <[email protected]> wrote:
> 
>> 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