users@jaxb.java.net

Re: Threading issue with big instance documents

From: Marc Giger <gigerstyle_at_gmx.ch>
Date: Thu, 2 Aug 2007 20:27:48 +0200

Hi Kohsuke

On Mon, 30 Jul 2007 14:57:42 -0700
Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM> wrote:

> Marc Giger wrote:
> > On Mon, 30 Jul 2007 12:42:49 -0700
> > Kohsuke Kawaguchi <Kohsuke.Kawaguchi_at_Sun.COM> wrote:
> >
> >>
> >> Is there anyway to isolate the problem between XSLT engine vs JAXB
> >> marshaller?
> >>
> >> From what it sounds like, it's not clear to me which is at fault.
> >
> > I'm also not sure which is at fault here. ATM I have no good idea
> > how to debug this further. What I will try is to code a testcase
> > where I can do xslt in parallel with different input sources. I
> > will try to repeat the error without involving JAXB.
> >
> > Perhaps you have another idea how to debug this further in an
> > efficient way?
>
> I wish I had. Let me ask around...
>
> --
> Kohsuke Kawaguchi
> Sun Microsystems kohsuke.kawaguchi_at_sun.com

I've spent the whole day to debug and narrow it down.

The following testcases don't show the problem (there is always a
possiblility that the bug is just hidden):

- Xlst processing in parallel with input from DOMSource instead of
JAXBSource. In this case the instance document was never
unmarshalled/marshalled to JAXB.

- Simply marshall a JAXB-Tree in parallel to DOM and validate the
result.

As you can image, it's not that easy to debug such a problem which
isn't 100% repeatable and the fact that the problem mostly occurs with
documents > 20 MBytes doesn't make it easier.

Has the JAXB Team implemented test-classes to test single parts, like
JAXBSource, which I could use?

Is there a document which describes how the marshalling in JAXB
works? I didn't understand it completely by just reading the sources.

Thanks

Marc