harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Zhang" <zhanghuang...@gmail.com>
Subject Re: [classlib][logging] A non bug difference from RI?
Date Fri, 01 Sep 2006 01:30:45 GMT
On 9/1/06, Stepan Mishura <stepan.mishura@gmail.com> wrote:
>
> On 8/31/06, Stepan Mishura wrote:
> >
> >  On 8/30/06, Andrew Zhang  wrote:
> >
> > > <SNIP>
> >
> >
> > > > > If I understoond correctly, new FileHandler() creates temporary
> file
> > > for
> > > > > logging (its name is defined by default configuration properties).
> > > That
> > > > is
> > > > > true for Harmony and RI. Right?
> > > >
> > > >
> > > > Stepan, you missed something here. :)
> > > > Both Harmony and RI creates a file (not temporary) for logging, and
> RI
> > > > created one more file(temporary) for locking.
> > > > RI tries to delete the temporary .lck file when fileHandler.close ()
> > is
> > > > invoked. Harmony has nothing to be deleted. :)
> > >
> > >
> > > IOW, Harmony uses different locking approach for log-files and the
> test
> > > above demonstrate side-effect of different approaches. Right?
> >
> >
> > Yes, exatcly.
> >
> > IMO, we should add a note to the documentation: why we chose different
> > > locking approach.
> >
> >
> > Rather than adding a note to source code, I think it's more helpful to
> > document the difference on the test.
> >
> > Yes, documenting our implementation design is helpful, but I think
> there's
> > no need to document the design differences between Harmony and RI.
> >
> > We don't care the design and implementation of RI, do we? So I suggest
> > document some words on the test case, like "RI fails here because ....".
> >
> > Comments/objections? Thanks!
> >
> >
> > BTW, if two VMs tries to open the same file for logging how this
> conflict
> > is resolved by Harmony if there is not lock file?
> >
> >
>
> It seems that nobody understood the question.


No. Your description is very clear, but I was on vacation yesterday.

OK, I'll try to put the
> question in other words: if there is 2 VM running on the same machine and
> on
> both VMs new FileHandler() is invoked then there is a files conflict. And
> it
> is possible to resolve such kind of conflict only by creating lock-file.


RI output:
a a.1 a.lck a.1.lck

Harmony output
a a.1

The test case is simple if you'd like to try, just run two times, and check
the log file in your disk.
  public void test_FileHandler() throws Exception {
        FileHandler handler = new FileHandler("a");
        handler.publish(new LogRecord(Level.SEVERE, "msg"));
        int count = 0;
        while (count++ < 60) {
            Thread.sleep(1000);
        }
        handler.close();
    }

Right?
>
> Thanks,
> Stepan.
>
>
> >
> >
> > > >
> > > > > RI tries to delete the created file if FileHandler.close() is
> > > invoked.
> > > > And
> > > > > > Harmony doesn't. Why?
> > > > > >
> > > > > > Thanks,
> > > > > > Stepan.
> > > > > >
> > > > > > If we revise the MockSecurityManager a little, to allow .lck
> file
> > > > > > > permission,
> > > > > > >
> > > > > > >    public void checkPermission(Permission perm) {
> > > > > > >            if (perm instanceof FilePermission) {
> > > > > > >                if (perm.getName().indexOf(".lck") == -1)
{
> > > > > > >                    System.out.println("check " + perm.getName
> > > ());
> > > > > > >                    throw new SecurityException();
> > > > > > >                }
> > > > > > >            }
> > > > > > >        }
> > > > > > >
> > > > > > > The test will pass both against RI and Harmony.
> > > > > > >
> > > > > > > So I'd suggest to leave it as "non-bug difference from
RI".
> > > > > > >
> > > > > > > Any comments? Thank you!
> > > > > > >
> > > > > > >
> > > > > > >
> > > > > > > --
> > > > > > > Andrew Zhang
> > > > > > > China Software Development Lab, IBM
> > >
> > >
> ------------------------------------------------------
> Terms of use : http://incubator.apache.org/harmony/mailing.html
> To unsubscribe, e-mail: harmony-dev-unsubscribe@incubator.apache.org
> For additional commands, e-mail: harmony-dev-help@incubator.apache.org
>
>


-- 
Andrew Zhang
China Software Development Lab, IBM

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message