Sure. Unfortunately there are a lot of dependencies, but if you give
me some time I could try to remove as much as possible and then send a
copy.
Philip
On 5/11/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
> Allright, gotcha. I could try to reproduce the problem you had using
> your code and maybe find bugs related to it!
>
>
> 2008/5/11 Philip Jägenstedt <[EMAIL PROTECTED]>:
> > No, that part of the code isn't the problem. It's there because I left
> > it when moving the transaction outside the loop to reproduce the
> > error, it wasn't even there when the problem first occured.
> >
> > On 5/11/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
> >> Also with some irrelevant parts taken out:
> >>
> >> for ( UUID id : artistIds ) {
> >> ...
> >>
> >> try {
> >> artist.updateWikipediaBlurb();
> >> } catch (WikipediaException e) {
> >> // FIXME: log this error!
> >> tx.failure();
> >> continue;
> >> }
> >>
> >> ...
> >>
> >> }
> >>
> >> 2008/5/11 Philip Jägenstedt <[EMAIL PROTECTED]>:
> >> > With some irrelevant parts taken out:
> >> >
> >> > Transaction tx = Transaction.begin();
> >> > try {
> >> > for (UUID id : artistIds) {
> >> > MushArtist artist = maf.getArtistById(id);
> >> > if (artist == null) {
> >> > // replicate data from MusicBrainz WebService
> >> > try {
> >> > Query q = new Query();
> >> > Includes inc = new Includes();
> >> > inc.include("url-rels");
> >> > Artist mbArtist = q.getArtistById(id, inc);
> >> > artist = maf.copyArtist(mbArtist);
> >> > } catch (WebServiceException e) {
> >> > throw new ServletException(e);
> >> > }
> >> > }
> >> > }
> >> > tx.success();
> >> > } finally {
> >> > tx.finish();
> >> > }
> >> >
> >> > Philip
> >> >
> >> > On 5/11/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
> >> >> 2008/5/11 Philip Jägenstedt <[EMAIL PROTECTED]>:
> >> >>
> >> >> > On 5/11/08, Mattias Persson <[EMAIL PROTECTED]> wrote:
> >> >> >> Allright, I'm pretty sure that it's all about the usage of
> >> >> >> tx.failure() (which is very seldom needed btw). In the first code
> >> >> >> snippet you call tx.failure() inside the for-loop and continues.
> >> >> >
> >> >> > No, I throw an Exception. updateWikipediaBlurb() isn't failing,
> it's
> >> >> > the musicbrainz webservice that fails with a WebServiceException.
> >> >> > After throwing a ServletException the finally block with
> tx.finish()
> >> >> > ought to be run, after which the webserver returns HTTP 500 or
> >> >> > similar.
> >> >>
> >> >> Well, somewhere inside that for-loop is a tx.failure(); followed by a
> >> >> continue; statement. I was refering to that piece of code.
> >> >>
> >> >> >
> >> >> >> LuceneIndexService seems to ignore that fact. Then you continue
> to
> >> >> >
> >> >> > But I'm using NeoIndexService, how does that change matters?
> >> >>
> >> >> Since NeoIndexService only uses neo it should react properly to the
> >> >> transaction failure/success, weird that it didn't in your case.
> >> >>
> >> >> >
> >> >> > Philip
> >> >> > _______________________________________________
> >> >> > Neo mailing list
> >> >> > [email protected]
> >> >> > https://lists.neo4j.org/mailman/listinfo/user
> >> >> >
> >> >>
> >> >> _______________________________________________
> >> >> Neo mailing list
> >> >> [email protected]
> >> >> https://lists.neo4j.org/mailman/listinfo/user
> >> >>
> >> >>
> >> > _______________________________________________
> >> > Neo mailing list
> >> > [email protected]
> >> > https://lists.neo4j.org/mailman/listinfo/user
> >> >
> >>
> >> _______________________________________________
> >> Neo mailing list
> >> [email protected]
> >> https://lists.neo4j.org/mailman/listinfo/user
> >>
> >>
> > _______________________________________________
> > Neo mailing list
> > [email protected]
> > https://lists.neo4j.org/mailman/listinfo/user
> >
>
> _______________________________________________
> Neo mailing list
> [email protected]
> https://lists.neo4j.org/mailman/listinfo/user
>
>
_______________________________________________
Neo mailing list
[email protected]
https://lists.neo4j.org/mailman/listinfo/user