admin@glassfish.java.net

Re: Code Review: Bug fix for: 6505045 ...

From: Kedar Mhaswade <Kedar.Mhaswade_at_Sun.COM>
Date: Fri, 21 Sep 2007 13:57:45 -0700

Mark A. Basler wrote:
> Hi Kedar,
>
> For the people who don't utilize this mechanism, shouldn't we also add a
> check of the disk space before domain.xml is flushed? If there isn't
> enough disk space to write domain.xml out, then don't allow an update.

That will affect every write operation, which, I am not sure is desirable.
If this is a reasonable overhead that is required to have even when
we have ample disk space, we can do it.

Also, do you know an API in Java that tells us if one has disk space of a given
size?

Another problem is, even if such API returns "true", by the time actual flush
occurs, the disk might be occupied, as you have no control over what threads
use the disk for what purposes and which write succeeds.

So, a "reactionary" approach where we attempt to protect the domain.xml only
when we fail to do write it sounds reasonable.

Again, this technique does have flaws and it is not fool-proof. But it is better
than nothing, given the constraints. The only other technique that can help is
using RandomAccessFile, but I have to explore it.

Please let me know if this needs to be ported to UR1 and if yes, kindly add
the hook that allows me do that.

Thanks,
Kedar

>
> This way you always have the current running domain.xml on disk.
>
> My 2 cents...
>
> Thanks - Mark
>
>
> Kedar Mhaswade wrote:
>> Finally, I have been able to fix this problem (reasonably).
>>
>> All about it can be found at:
>> http://wiki.glassfish.java.net/attach/GlassFishAdminReferences/6505045.html
>>
>>
>> Please go through the background and code changes if you have time and
>> let me
>> know if you have any comments, by tomorrow 12.00 noon, pacific.
>>
>> I am planning to check this in then, on GlassFish trunk.
>>
>> Mark Basler: I leave it up to you to approve the fix for 9.1 UR1. If
>> you do
>> want to do that, let me know and I can port the changes there.
>>
>> I have run the tests on my 128M Zip-drive on Mac OS X by observing
>> domain.xml go
>> to zero-bytes and domain.xml.protect coming to rescue, making every
>> attempt
>> to persist the domain.xml.
>>
>> Regards,
>> Kedar
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: admin-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: admin-help_at_glassfish.dev.java.net
>