You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@roller.apache.org by Jeff Blattman <Je...@Sun.COM> on 2006/01/25 18:41:38 UTC

roller + jdo/jpox

i see some work going on to port from hibernate to jdo. sorry, i am new 
here and i don't know the status / rational for that, but i'd like to 
add my comments.

i have experience using jdo, and jpox in particular, with a commercial 
product. first, you probably already know this, but jdo is dead (from a 
spec perspective anyway). it will be phased out in favor of ejb3 
persistence. maybe that transition will be graceful, maybe not. i see 
jpox has ejb3 on their roadmap, but not sure what that means.

second, jpox has really, very atrocious performance issues. the jpox 
folks admit that performance is a low priority, as they are an ri. if 
someone wants the details on this, i can dig them up.

Re: roller + jdo/jpox

Posted by Aaron Anderson <ni...@yahoo.com>.
Something to look into is EJB 3/JSR-220 support. This
new persistence framework does not require an EJB
container. 

https://glassfish.dev.java.net/javaee5/persistence/persistence-example.html#Using_in_Java_SE

Aaron



--- David M Johnson <Da...@Sun.COM> wrote:

> 
> On Jan 25, 2006, at 12:41 PM, Jeff Blattman wrote:
> > i see some work going on to port from hibernate to
> jdo. sorry, i am  
> > new here and i don't know the status / rational
> for that, but i'd  
> > like to add my comments.
> >
> > i have experience using jdo, and jpox in
> particular, with a  
> > commercial product. first, you probably already
> know this, but jdo  
> > is dead (from a spec perspective anyway). it will
> be phased out in  
> > favor of ejb3 persistence. maybe that transition
> will be graceful,  
> > maybe not. i see jpox has ejb3 on their roadmap,
> but not sure what  
> > that means.
> >
> > second, jpox has really, very atrocious
> performance issues. the  
> > jpox folks admit that performance is a low
> priority, as they are an  
> > ri. if someone wants the details on this, i can
> dig them up.
> 
> We have not committed to JDO or JPOX. If it's got
> atrocious  
> performance issues, then we won't use it. If it
> works well, then  
> that's a different story. We're looking at it
> because it appears that  
> Apache will not allow us to have any LGPL
> dependencies. We may have  
> to look at EJB3 or stick with Hibernate (and
> therefore abort  
> incubation), it's up to the Roller project members
> to decide.
> 
> - Dave
> 
> 
> 


Re: roller + jdo/jpox

Posted by David M Johnson <Da...@Sun.COM>.
On Jan 25, 2006, at 12:41 PM, Jeff Blattman wrote:
> i see some work going on to port from hibernate to jdo. sorry, i am  
> new here and i don't know the status / rational for that, but i'd  
> like to add my comments.
>
> i have experience using jdo, and jpox in particular, with a  
> commercial product. first, you probably already know this, but jdo  
> is dead (from a spec perspective anyway). it will be phased out in  
> favor of ejb3 persistence. maybe that transition will be graceful,  
> maybe not. i see jpox has ejb3 on their roadmap, but not sure what  
> that means.
>
> second, jpox has really, very atrocious performance issues. the  
> jpox folks admit that performance is a low priority, as they are an  
> ri. if someone wants the details on this, i can dig them up.

We have not committed to JDO or JPOX. If it's got atrocious  
performance issues, then we won't use it. If it works well, then  
that's a different story. We're looking at it because it appears that  
Apache will not allow us to have any LGPL dependencies. We may have  
to look at EJB3 or stick with Hibernate (and therefore abort  
incubation), it's up to the Roller project members to decide.

- Dave



Re: roller + jdo/jpox

Posted by "Andy Jefferson (sent by Nabble.com)" <li...@nabble.com>.
Hi Jeff,

> yes, i use a pseudonym on the jpox forum: farble1670. my real name is on my profile. 
> why is this "sad"?

It's only sad in the respect that I couldn't find your name in the forum when I originally looked and posted here, nothing more.

> as for nothing about perf,
> 1. http://www.jpox.org/servlet/forum/viewthread?thread=2435#13175
> i quote eric: "This is a known issue with low priority now"

These were from "jain_maneesha". I had no idea he was your colleague did I ? ( I do now though :-))
Things did change some time back on this issue to allow for caching of PreparedStatements. The overall JIRA issue for that item is left open since every possible situation isn't fully checked yet. Revisit it.

> 3. http://www.jpox.org/servlet/forum/viewthread?thread=2436#13144

No idea on that one. Many things have changed since these were raised. They probably predate our use of JIRA so unless your colleague raised a JIRA it wont be registered. If the problem still exists (please check this with beta-6 - since many things have changed), then please raise a JIRA. That way you have something monitorable and can come back to, rather than just saying there are problems and that no one has responded to a forum post raised some 6 months ago.

> i did not comment on jpox vs. hibernate. i don't know about that. my 
> comment referred to the fact that jpox is unoptimized in several areas 
> that prevent it from being used in applications with truly high 
> scalability requirements. maybe roller doesn't fit into that category, i am not sure.

Well I read "really very attrocious". That is certainly stronger than it deserved IMHO and the part of your post I object to.
There are actually several people using it in highly scalable situations, but it comes down to your definition of "highly scalable" and what particular data structures you have. Many queries/fetches are optimised and maybe you've just happened across some that we haven't been near ?
The benchmark highlights the general performance for handling large numbers of objects, and in the context of Roller is of use (even though certain people representing "other O/R persistence solutions" don't think so :-) ).
There are some areas that deserve optimisation certainly, and we've been open about that haven't we ?
The way for you to move that forward is to define the *precise* situations that you require optimised queries and they get worked on (certainly now JDO2 is not far from release).

>> 3. Yes, JPOX does have "Java Persistence 1.0" on the roadmap.
> is it a superset at the functionality or api level? if it's the latter, great. 
> if it's the former, there's not a lot of point in coding to the JDO2 API if it will
> have to be ported to JP 1.0 in the near future.

Look at the "Java Persistence 1.0" spec. API methods are in general a 1-1 mapping to an equivalent in JDO2, except that there are more methods in JDO2, and more metadata tags in JDO2. The idea here is that people should design their DAO layer to handle such a change - hiding the persistence technology specific stuff in a layer
--
View this message in context: http://www.nabble.com/roller-%2B-jdo-jpox-t996892c12275.html#a2666633
Sent from the Roller - Dev forum at Nabble.com.

Re: roller + jdo/jpox

Posted by "Andy Jefferson (sent by Nabble.com)" <li...@nabble.com>.
> 1. http://www.jpox.org/servlet/forum/viewthread?thread=2435#13175
> 3. http://www.jpox.org/servlet/forum/viewthread?thread=2436#13144

These are issues
http://www.jpox.org/servlet/jira/browse/CORE-2330
http://www.jpox.org/servlet/jira/browse/CORE-2671
and you'll see that they are both fixed in JPOX CVS.
--
View this message in context: http://www.nabble.com/roller-%2B-jdo-jpox-t996892c12275.html#a2765494
Sent from the Roller - Dev forum at Nabble.com.

Re: roller + jdo/jpox

Posted by Jeff Blattman <Je...@Sun.COM>.
hi andy, see inline.

Andy Jefferson (sent by Nabble.com) wrote:

> 4. You've never been seen or heard from on the JPOX forum so perhaps if you have issues about a piece of software you could actually consult the people who support its use rather than coming out with this rather uneducated viewpoint in a blog that the developers of that software are hardly likely to see unless they just happen to come across it in a web trawl.
> --
>   
actually i have about 30 posts there, and have been involved with many 
other issues indirectly through my colleagues posts. yes, i use a 
pseudonym on the jpox forum: farble1670. my real name is on my profile. 
why is this "sad"?

as for nothing about perf,

1. http://www.jpox.org/servlet/forum/viewthread?thread=2435#13175

i quote eric: "This is a known issue with low priority now"

2. http://www.jpox.org/servlet/forum/viewthread?thread=2435#13175

no final reply from jpox developers on this one.

3. http://www.jpox.org/servlet/forum/viewthread?thread=2436#13144

here, eric admits to the problem. no mention of it being fixed, or when 
it will be fixed, or workaround.
> 1. "atrocious performance problems".
> Not really quite sure what you're referring to there. You can always consult the independent benchmark PolePosition (available in the JPOX docs) that clearly shows JPOX **outperforming** Hibernate on virtually all tests. JPOX completes the test suite in a *sixth* of the time that Hibernate needs. I'm sorry if that's considered atrocious to you. Just wait til we get the time to really optimise its performance.
>   
i did not comment on jpox vs. hibernate. i don't know about that. my 
comment referred to the fact that jpox is unoptimized in several areas 
that prevent it from being used in applications with truly high 
scalability requirements. maybe roller doesn't fit into that category, i 
am not sure.
> 2. "JDO is dead". Heard it all before. There are many people wanting JDO since it gives things that "Java Persistence 1.0" doesnt. Datastore agnostic. Provides more complete O/R mapping. 
>   
i agree with you. nobody could have been more upset than i was after i 
spent so much time building a system based on JDO. however, it doesn't 
change things from the directions of the specifications. my comments 
reflect the sentiment of the jdo spec lead.
> 3. Yes, JPOX does have "Java Persistence 1.0" on the roadmap. That means what it says it means. The plan is to provide that interface for people who want to use it. JDO2 is a superset of Java Persistence 1.0 after all.
>   
is it a superset at the functionality or api level? if it's the latter, 
great. if it's the former, there's not a lot of point in coding to the 
JDO2 API if it will have to be ported to JP 1.0 in the near future.


Re: roller + jdo/jpox

Posted by "Andy Jefferson (sent by Nabble.com)" <li...@nabble.com>.
Thanks for the correction Dave, I corrected the "blog" reference after typing it but not in time for your reply :-)
And a self-correction on my point 4, Jeff has seemingly been on the JPOX forum, but sadly he used a pseudonym :-) but no, there's no references to performance there in any postings.
--
View this message in context: http://www.nabble.com/roller-%2B-jdo-jpox-t996892c12275.html#a2637516
Sent from the Roller - Dev forum at Nabble.com.

Re: roller + jdo/jpox

Posted by David M Johnson <Da...@Sun.COM>.
On Jan 28, 2006, at 11:22 AM, Andy Jefferson (sent by Nabble.com) wrote:
> 1. "atrocious performance problems".
> Not really quite sure what you're referring to there. You can  
> always consult the independent benchmark PolePosition (available in  
> the JPOX docs) that clearly shows JPOX **outperforming** Hibernate  
> on virtually all tests. JPOX completes the test suite in a *sixth*  
> of the time that Hibernate needs. I'm sorry if that's considered  
> atrocious to you. Just wait til we get the time to really optimise  
> its performance.
> 2. "JDO is dead". Heard it all before. There are many people  
> wanting JDO since it gives things that "Java Persistence 1.0"  
> doesnt. Datastore agnostic. Provides more complete O/R mapping.
> 3. Yes, JPOX does have "Java Persistence 1.0" on the roadmap. That  
> means what it says it means. The plan is to provide that interface  
> for people who want to use it. JDO2 is a superset of Java  
> Persistence 1.0 after all.
> 4. You've never been seen or heard from on the JPOX forum so  
> perhaps if you have issues about a piece of software you could  
> actually consult the people who support its use rather than coming  
> out with this rather uneducated viewpoint in a blog that the  
> developers of that software are hardly likely to see unless they  
> just happen to come across it in a web trawl.

Thanks Andy.

In all fairness, Jeff did not post his message in a blog. He posted  
his concerns here on the Roller dev list and then Matt Raible and I  
blogged about it. So blame us hit-seeking bloggers for stirring  
things up.

I've heard other people express the similar questions/concerns about  
JDO (but not specifically JPOX) and so I'm glad to hear that you are  
aware of them and have good answers for them.

- Dave


Re: roller + jdo/jpox

Posted by "Andy Jefferson (sent by Nabble.com)" <li...@nabble.com>.
1. "atrocious performance problems".
Not really quite sure what you're referring to there. You can always consult the independent benchmark PolePosition (available in the JPOX docs) that clearly shows JPOX **outperforming** Hibernate on virtually all tests. JPOX completes the test suite in a *sixth* of the time that Hibernate needs. I'm sorry if that's considered atrocious to you. Just wait til we get the time to really optimise its performance.
2. "JDO is dead". Heard it all before. There are many people wanting JDO since it gives things that "Java Persistence 1.0" doesnt. Datastore agnostic. Provides more complete O/R mapping. 
3. Yes, JPOX does have "Java Persistence 1.0" on the roadmap. That means what it says it means. The plan is to provide that interface for people who want to use it. JDO2 is a superset of Java Persistence 1.0 after all.
4. You've never been seen or heard from on the JPOX forum so perhaps if you have issues about a piece of software you could actually consult the people who support its use rather than coming out with this rather uneducated viewpoint in a blog that the developers of that software are hardly likely to see unless they just happen to come across it in a web trawl.
--
View this message in context: http://www.nabble.com/roller-%2B-jdo-jpox-t996892c12275.html#a2635688
Sent from the Roller - Dev forum at Nabble.com.