Hello Gavin,

my setup:

OS: Win2000
JDK: Sun 1.3.1_05/1.4.1_02
JBoss: 3.2.2RC2/RC3
JDBC:
     Microsoft SQL Server 2000 Driver for JDBC
     Service Pack 1
     Version 2.2.0029
     December 2002

Don't give up, I believe, we'll fix it.

alex

Wednesday, July 30, 2003, 9:57:17 PM, Gavin Matthews wrote:

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

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

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

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

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

GM> thanks,
GM> 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
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

Reply via email to