Alex,
 Damn wierd - this test case fails everytime for me. This most likely means
it's an environmental issue, a config problem or some really dumb user
error. Do you know of any config issue that could cause my problem? 

 I'm running against the released 3.2.2RC2 Jetty code base. Did you test
against RC2 or the tip of the branch - have there been any post-RC2 checkins
that could possibly affect this behaviour? 

 Also to rule out any JDBC driver weirdness I've tried it with the Sprinta
driver (our in-house default) and also the microsoft MSSQL JDBC driver. The
behaviour is the same for both. Which driver did you use for the test?

 Which version of the JDK are you using (I'm using JDK_1.4.1_01), could it
cause this issue?

 I'd really appreciate any pointers on possible config settings that could
possibly cause the behaviour I'm seeing. For now I'm going to move this
setup to a clean machine and start over (just to rule out any environmental
issues), and I'll let you know how it goes.

thanks,
gavin


> -----Original Message-----
> From: Alexey Loubyansky [mailto:[EMAIL PROTECTED]
> Sent: Wednesday, July 30, 2003 4:35 AM
> To: '[EMAIL PROTECTED]'
> Subject: Re[4]: [JBoss-user] CMR Problem in 3.2.2RC2
> 
> 
> Hello Gavin,
> 
> I had to change only one thing: java:/DefaultDS to java:/MSSQLDS.
> 
> I get the same output for both methods. The difference is only in id
> values:
> ****************************************
> Bar id through foo: 4
> Bar id through bars foos:
>         Number of foos associated with bar: 1
> 
> Foo id: 4
> Bar id: 4
> ****************************************
> 
> alex
> 
> Wednesday, July 30, 2003, 3:20:26 AM, Gavin Matthews wrote:
> 
> GM> Alex,
> GM>  Attached is the standalone case - it exhibits the same 
> behaviour (i.e. the
> GM> cmr problem).
> 
> GM>  It's hacked out of our inhouse environment so the build 
> scripts could be
> GM> cleaner, however they should work fine for you. I believe 
> all you will need
> GM> to modify some of the paths in cmrtest-config.xml: 
> 
> GM> <property name="build.root" location="y:/CmrTest/build" />
> GM> <property name="xdoclet.lib"
> GM> value="y:/External/Java/XDocLet/xdoclet-1.2.0-beta3/lib" />
> GM> <property name="jboss3.home"
> GM> value="y:/External/Java/JBoss/jboss-3.2.2RC2_jetty-4.2.11"/>
> GM> <property name="commons-logging.home"
> GM> value="y:/External/Java/commons-logging/commons-logging-1.0.2"/>
> 
> GM> Just run ant to build it, the build files should go into 
> CmrTest/build. It
> GM> generates 2 files to deploy:
> 
> GM> CmrTest/build/ejb/target/cmrtest-ejb.jar  -  which 
> contains the entities &
> GM> session. 
> GM> 
> CmrTest/build/service/jboss3/target/cmrtest-service-jboss3.sar
>   -  This is a
> GM> mbean service (it was faster than writing a cactus 
> testcase) used to run the
> GM> test case.
> 
> GM> Deploy the ejb jar and then the service. Open up the 
> service in the JMX
> GM> console and start it. You'll see the service has two 
> relevant methods,
> GM> testWithFinder & testWithoutFinder. They both execute the 
> same code the only
> GM> difference is that in the middle of testWithFinder a 
> finder is called which
> GM> causes a db sync. testWithFinder behaves as expected 
> testWithoutFinder is
> GM> the bug I'm seeing.
> 
> GM> Let me know if I can provide anything other info or if 
> you've problems with
> GM> the test case.
> 
> GM> gavin
> 
> 
>  
> 
> >> -----Original Message-----
> >> From: Alexey Loubyansky [mailto:[EMAIL PROTECTED]
> >> Sent: Tuesday, July 29, 2003 12:23 AM
> >> To: '[EMAIL PROTECTED]'
> >> Subject: Re[2]: [JBoss-user] CMR Problem in 3.2.2RC2
> >> 
> >> 
> >> Hello Gavin,
> >> 
> >> can you provide a testcase? Previously, you posted the source files
> >> and I integrated them into a testcase. Can you send me a 
> ready-to-run
> >> testcase so I need just issue 'build run' or like that?
> >> I'll correct it and send it back to you fixed.
> >> 
> >> alex
> >> 
> >> Tuesday, July 29, 2003, 12:20:04 AM, Gavin Matthews wrote:
> >> 
> >> 
> >> GM> Alex,
> >> GM>  I've double checked everything and it definitely does 
> >> not work for me. I'm
> >> GM> not sure what the cause could be unless there's some 
> >> weird config issue (I
> >> GM> fixed the known/unknown config - but that didn't affect 
> >> the behaviour I'm
> >> GM> seeing). I'm using the JBoss-3.2.2RC2_Jetty-4.2.11 
> >> release bundle, commit
> >> GM> option C (tried with B also). 
> >> 
> >> GM>  The fact that this is working for you is a bit 
> >> perplexing and I'm not
> >> GM> really sure where to go from here. Any suggestions on 
> >> what I should look
> >> GM> for? Where in the code should I focus my efforts to 
> >> figure out what's
> >> GM> happening - at a rough high-level guess it looks like 
> >> something is wrong
> >> GM> with the caching of objects at a transaction level, any 
> >> way I can easily
> >> GM> prove/disprove this?
> >> 
> >> GM> thanks,
> >> GM> gavin
> >> 
> >>  
> >> 
> >> 
> >> >> -----Original Message-----
> >> >> From: Alexey Loubyansky [mailto:[EMAIL PROTECTED]
> >> >> Sent: Friday, July 25, 2003 4:30 AM
> >> >> To: Gavin Matthews
> >> >> Subject: Re: [JBoss-user] CMR Problem in 3.2.2RC2
> >> >> 
> >> >> 
> >> >> Hello Gavin,
> >> >> 
> >> >> I am sorry, it works for me! I used your source files, MS 
> >> SQL Server
> >> >> 2000 and your testSchema.sql.
> >> >> 
> >> >> Anyway, I have some remarks. You are using unknown pk 
> with name id,
> >> >> while there is a CMP field id. You should not do it.
> >> >> If you want a "known" pk and use a pk generation 
> command, then just
> >> >> mark the pk field as @jboss.persistence auto-increment="true".
> >> >> 
> >> >> alex
> >> >> 
> >> >> Thursday, July 24, 2003, 11:48:19 PM, Gavin Matthews wrote:
> >> >> 
> >> >> GM> Hi,
> >> >> GM>  I posted this to the group a couple of weeks ago when 
> >> >> trying to get
> >> >> GM> 3.2.2RC1 working. Alex had a look at it and figured it 
> >> >> was fixed for RC2. As
> >> >> GM> RC2 was only a couple of weeks away I decided it'd be 
> >> >> easier for me to wait
> >> >> GM> for RC2 than build it, my mistake, I've just grabbed RC2 
> >> >> - it's still there.
> >> >> GM> (I'll log a bug this time).
> >> >> 
> >> >> GM> gavin
> >> >> 
> >> >> >> -----Original Message-----
> >> >> >> From: Gavin Matthews 
> >> >> >> Sent: Thursday, July 03, 2003 7:05 PM
> >> >> >> To: [EMAIL PROTECTED]
> >> >> >> Cc: '[EMAIL PROTECTED]'
> >> >> >> Subject: CMR Problem in 3.2.2?
> >> >> >> 
> >> >> >> 
> >> >> >> Hi,
> >> >> >>  I posted yesterday and last week about a problem I was 
> >> >> >> having with CMR when I upgraded from 3.2.0 to 3.2.2. I've 
> >> >> >> done more investigation and I don't think my previous mails 
> >> >> >> were entirely accurate (or very clear) so let me start over. 
> >> >> >> 
> >> >> >>  The Problem:
> >> >> >>  I'm experiencing NPE in our app because the CMR 
> >> >> >> relationships are (apparently) not being created. 
> This didn't 
> >> >> >> occur with our app in 3.2.0. 
> >> >> >> 
> >> >> >>  I have a sample case which I believe is representitive of 
> >> >> >> the problem I'm seeing in our app. The beans are Foo & Bar 
> >> >> >> (sorry about the naming). The relationship is N-Foo-1-Bar. 
> >> >> >> The relation is being set in post create:
> >> >> >> 
> >> >> >> public abstract class FooEJB extends AbstractEntityBean {
> >> >> >> ...
> >> >> >>     public void ejbPostCreate(BarLocal bar, String fooValue) 
> >> >> >> throws CreateException {
> >> >> >>         sLog.debug("ejbPostCreate(" + getId() + ")");
> >> >> >>         
> >> >> >>         this.setBar(bar);
> >> >> >>     }
> >> >> >> ...
> >> >> >> }
> >> >> >>  
> >> >> >> And I have a test session which does the following:
> >> >> >> 
> >> >> >> ...
> >> >> >>             BarLocal bar = createBar("This is a bar");
> >> >> >>             FooLocal foo = createFoo(bar, "This is a foo");
> >> >> >>             
> >> >> >>             
> >> sLog.info("****************************************");
> >> >> >>             sLog.info("Bar id through foo: " + 
> >> >> foo.getBar().getId());
> >> >> >>             sLog.info("Bar id through bars foos: ");
> >> >> >> 
> >> >> >>             Collection foos = bar.getFoos();            
> >> >> >>             sLog.info("Number of foos associated with bar: " 
> >> >> >> + foos.size());
> >> >> >> 
> >> >> >>             Iterator fooIter = bar.getFoos().iterator();
> >> >> >>             while (fooIter.hasNext()) {
> >> >> >>                 FooLocal tmpFoo = (FooLocal) fooIter.next();
> >> >> >>                 sLog.info("Foo id: " + tmpFoo.getId());
> >> >> >>                 sLog.info("Bar id: " + 
> tmpFoo.getBar().getId());
> >> >> >>             }
> >> >> >>             
> >> sLog.info("****************************************");
> >> >> >> ...
> >> >> >> 
> >> >> >> I'd expect the output of this test case to be:
> >> >> >> 
> >> >> >> 18:58:38,875 INFO  [FooBarSessionEJB] 
> >> >> >> ****************************************
> >> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through 
> foo: 1011
> >> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through 
> bars foos: 
> >> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Number of foos 
> >> >> >> associated with bar: 1
> >> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] Foo id: 1017
> >> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] Bar id: 1011
> >> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] 
> >> >> >> ****************************************
> >> >> >> 
> >> >> >> What I'm actually seeing is:
> >> >> >> 
> >> >> >> 18:58:38,875 INFO  [FooBarSessionEJB] 
> >> >> >> ****************************************
> >> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through 
> foo: 1011
> >> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Bar id through 
> bars foos: 
> >> >> >> 18:58:38,890 INFO  [FooBarSessionEJB] Number of foos 
> >> >> >> associated with bar: 0
> >> >> >> 18:58:38,906 INFO  [FooBarSessionEJB] 
> >> >> >> *******************************************
> >> >> >> 
> >> >> >> If I add a finder call after the beans are created (which 
> >> >> >> forces the beans to be synchronized to the database) then I 
> >> >> >> get the results I expect. This makes me think that there's a 
> >> >> >> problem with the  caching - the "bar" returned by the 
> >> >> >> create() call is not the same Bar instance as returned by 
> >> >> >> foo.getBar(). Which means that I have 2 instances of 
> the same 
> >> >> >> bean within the same transaction which have 
> different state - 
> >> >> >> seems like a bug to me, I'd have expected the foo.getBar() 
> >> >> >> call to return the same "bar" as was passed to the 
> >> create() call.
> >> >> >> 
> >> >> >> I've attached the source. For the sample, let me know what 
> >> >> you think,
> >> >> >> 
> >> >> >> thanks,
> >> >> >> gavin
> >> >> 
> >> >> 
> >> >> 
> >> >> -------------------------------------------------------
> >> >> This SF.Net email sponsored by: Free pre-built ASP.NET 
> >> sites including
> >> >> Data Reports, E-commerce, Portals, and Forums are available now.
> >> >> Download today and enter to win an XBOX or Visual Studio .NET.
> >> >> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet
> >> GM> _072303_01/01
> >> GM> _______________________________________________
> >> GM> JBoss-user mailing list
> >> GM> [EMAIL PROTECTED]
> >> GM> https://lists.sourceforge.net/lists/listinfo/jboss-user
> >> 
> >> 
> >> 
> >> -------------------------------------------------------
> >> This SF.Net email sponsored by: Free pre-built ASP.NET 
> sites including
> >> Data Reports, E-commerce, Portals, and Forums are available now.
> >> Download today and enter to win an XBOX or Visual Studio .NET.
> >> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet
> GM> _072303_01/01
> GM> _______________________________________________
> GM> JBoss-user mailing list
> GM> [EMAIL PROTECTED]
> GM> https://lists.sourceforge.net/lists/listinfo/jboss-user
> 
> 
> 
> -------------------------------------------------------
> This SF.Net email sponsored by: Free pre-built ASP.NET sites including
> Data Reports, E-commerce, Portals, and Forums are available now.
> Download today and enter to win an XBOX or Visual Studio .NET.
> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet
_072303_01/01
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to