Skip to main content

Glassfish Roadmap: Stability vs. Features

13 replies [Last post]
hwellmann
Offline
Joined: 2008-08-16

I can't say I'm happy about the Glassfish roadmap.

Glassfish 3.0.1 still has major bugs and I would not recommend it for production. The trouble is, what are the alternatives for Java EE 6? Milestone builds of JBoss 6? Caucho Resin (Web profile only)?

I find myself spending too much time not working on my application but analyzing and debugging platform problems in Glassfish and its third-party components, mainly in the CDI and JPA 2.0 areas. I have a couple of months left before going live, and I'm seriously considering downgrading my application to Java EE 5.

Clustering and High Availability is nice to have, but what's the point in clustering when even a single node is unstable.

I'd rather see two more bugfix releases 3.0.2 and 3.0.3 before the end of this year than a 3.1 release with new features and new bugs.

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
hwellmann
Offline
Joined: 2008-08-16

Hi Linda,

I'm happy to provide input and feedback on JPA, but I'd prefer to do so in some kind of open forum and not in a closed mailing list.

I wonder why the JPA specification process (or is it JCP in general???) has to be so intransparent.

Can you give us a list of all JPA 2.0 implementations that pass the TCK? I expect the answer is Eclipselink, Hibernate and OpenJPA, though it is surprisingly hard to find official confirmation for this.

Anyway, Hibernate has some rather blatant omissions, e.g. regarding the KEY() and VALUE() operators and the lack of support for some XML mapping data (as opposed to annotations). I also ran into some not-so-trivial bugs with Eclipselink last time I looked at it in March.

So if these JPA implementations indeed pass the TCK, then obviously the TCK coverage is far from complete.

I think it would be a great help for all JPA 2.0 users (and implementors) if the TCK were open source so that users running into problems could easily find related test cases, modify them to reproduce their problems and contribute them back to the JCP. That's the C in JCP, in my understanding...

In fact, both JPA and CDI are JCP specs under the Java EE umbrella, and the CDI TCK is available under an Apache License. So I really don't see why the JPA TCK should not be publicly available as well.

Regards,

Harald

ldemichiel
Offline
Joined: 2003-09-25

Hi Harald,

The JPA expert group has been keeping the community informed through frequent talks, blogs, articles, webinars, etc. by many of its members, and welcomes feedback from and discussion with members of the community.

All of our feedback lists channel directly to the expert group as a whole, and developers who send us feedback frequently engage in a back-and-forth with members of the group on those lists. The JCP also provides an open forum for feedback on each expert group's JSR page, so you can post there as well, although in practice most people chose to send email directly to the expert group.

In terms of the TCK -- the JPA 2.0 implementations that have successfully achieved compliance with the JPA 2.0 specification in passing the TCK are EclipseLink, Hibernate, and OpenJPA.

A Technology Compatibility Kit (TCK) strives to be as complete as possible but will not be able to provide 100% coverage of the all of the testable assertions in a given specification. As new releases of a specification become available, the TCKs continue to expand and improve assertion coverage.

A TCK is also not meant to be a Quality Assurance or unit test suite. It is unfortunate that you have uncovered the bugs that you have, but you can help us in improving the compatibility of those implementations by submitting bugs directly through their bug reporting processes. Our team is now aware of the TCK holes that you have pointed out, so I expect that they will be fixed when we next rev the JPA TCK.

regards,

-Linda

ljnelson
Offline
Joined: 2003-08-04

I've also just posted issue https://glassfish.dev.java.net/issues/show_bug.cgi?id=12663. There is an inconsistency where session beans are passed to a portable extension's processSessionBean(ProcessSessionBean) event handler, but are not then visible to the BeanManager (BeanManager#getBeans(Object.class) does not include any session beans in its results).

Best,
Laird

Sivakumar Thyagarajan

On Tuesday 13 July 2010 12:53 AM, glassfish@javadesktop.org wrote:
> These are the CDI related bugs. The first is a memory leak which makes 3.0.1 completely unusable for us. I've provided a detailed analysis and a test case.
>
> https://glassfish.dev.java.net/issues/show_bug.cgi?id=12368
> https://glassfish.dev.java.net/issues/show_bug.cgi?id=12599

Regarding these CDI issues, I have updated the issues with more
information and further questions. The memory leak issue is a known Weld
issue and is being fixed in Weld 1.1 that would get integrated into 3.1.

Thanks
--Siva.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net

Theodor Richard

@Adam: As the first post already pointed out, our primary concerns are
the core Java EE 6 features (EJB 3.1, JPA 2.0, CDI and JSF 2.0) . Once
these are stable, I would be more than happy to see Clustering and HA.
I'd also love to see more comprehensible exception messages.

Thanks,

Theo

On Monday, July 12, 2010, wrote:
> I'd like to echo John's post. The GlassFish team takes quality very seriously --it is a matter of pride. We believe GlassFish is the most stable, open source Java EE server out there. Please send us the bug numbers and support case numbers so we can follow up and ensure that GlassFish is meeting quality expectations. Are folks finding CDI and JPA 2.0 the two primary problem subsystems? It would be helpful to know so we can review our test coverage. We love test cases too.
>
>
> Adam Leftik
> Oracle GlassFish Product Management
> [Message sent by forum member 'aleftik']
>
> http://forums.java.net/jive/thread.jspa?messageID=477373
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: users-help@glassfish.dev.java.net

aleftik
Offline
Joined: 2006-09-21

I'd like to echo John's post. The GlassFish team takes quality very seriously --it is a matter of pride. We believe GlassFish is the most stable, open source Java EE server out there. Please send us the bug numbers and support case numbers so we can follow up and ensure that GlassFish is meeting quality expectations. Are folks finding CDI and JPA 2.0 the two primary problem subsystems? It would be helpful to know so we can review our test coverage. We love test cases too.

Adam Leftik
Oracle GlassFish Product Management

hwellmann
Offline
Joined: 2008-08-16

These are the CDI related bugs. The first is a memory leak which makes 3.0.1 completely unusable for us. I've provided a detailed analysis and a test case.

https://glassfish.dev.java.net/issues/show_bug.cgi?id=12368
https://glassfish.dev.java.net/issues/show_bug.cgi?id=12599

JPA is a different story. In theory, you should be able to use any JPA 2.0 persistence provider on any Java EE 6 app server. In practice, the spec leaves so many details open to the implementation that it is virtually impossible to switch from Hibernate to Eclipselink or vice versa without breaking your application. In addition, both of these have not fully implemented the spec, so you have to work around the omissions of your provider. On the other hand, important features (like user defined types, custom JDBC types, spatial extensions) are not part of JPA 2.0 so you have to use the proprietary extensions of your provider.

Since we work with Hibernate in our project, there is probably no point in addressing any JPA related bugs to the Glassfish community, except in cases where the container/JPA provider contract is broken.

I'm not too happy about Hibernate either (especially about some RTFM tendencies in the discussion forums and about bugs reports not being responded to or hanging around for years even though users provided patches). But we found it even harder to fit Eclipselink to our needs, so we stick with Hibernate - better the devil you know...

I'm inclined to agree that Glassfish v3 is the best open source Java EE 6 server. That means, it's better than the competitors, but the whole lot does not yet appear to be production ready. And this is what I find rather alarming, more than 6 months after the spec release.

@Laird: Thanks for the hint about 3.1b9 - I'll have a look and see how it works for us.

I'm not in principle opposed to working with stable builds (in fact 3.0.1b21 is the one that works for us currently, while 3.0 and 3.0.1 simply don't, i.e. there has been a regression before the 3.0.1 release). On the other hand, nobody trying to build a Java EE 6 application has the time to upgrade their app server once a week and act as beta testers for the server.

Are there any documented quality gates for "stable" builds? If so, people might be more inclined to give them a try. But then it shouldn't be too much extra effort for Oracle to provide official dot releases 3.0.x every two months or so.

Best regards,

Harald

ldemichiel
Offline
Joined: 2003-09-25

Hi Harald,

With regard to your comments about JPA.... JPA 2.0 provides standardization across persistence provider vendors for the functionality defined by the specification. Persistence providers that claim JPA 2.0 compatibility must pass a suite of certification tests (TCK). When you enter the realm of provider-specific features, of course such portability guarantees cannot apply. As the JPA technology evolves, we will be standardizing on more of these. For example, user-defined types are likely to be added in the next release.

The JPA expert group takes very seriously feedback regarding features that should be added to the spec. You can send such feedback to the expert group at jsr-317-feedback@sun.com

thanks,

Linda[b][/b]

NBW

There's some controversy around access to the TCK - see:

http://bit.ly/disUZm

On Tue, Jul 13, 2010 at 4:57 PM, wrote:

> Hi Harald,
>
> With regard to your comments about JPA.... JPA 2.0 provides standardization
> across persistence provider vendors for the functionality defined by the
> specification. Persistence providers that claim JPA 2.0 compatibility must
> pass a suite of certification tests (TCK). When you enter the realm of
> provider-specific features, of course such portability guarantees cannot
> apply. As the JPA technology evolves, we will be standardizing on more of
> these. For example, user-defined types are likely to be added in the next
> release.
>
> The JPA expert group takes very seriously feedback regarding features that
> should be added to the spec. You can send such feedback to the expert group
> at jsr-317-feedback@sun.com
>
> thanks,
>
> Linda[b][/b]
> [Message sent by forum member 'ldemichiel']
>
> http://forums.java.net/jive/thread.jspa?messageID=477562
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>
[att1.html]

ljnelson
Offline
Joined: 2003-08-04

I am in at least partial agreement.

3.0.1 is essentially unusable for any application that needs Java EE 6 features. I highly recommend that fellow users use the 3.1 promoted builds; they seem much more stable. In particular, 3.1 build 9 is doing much, much better; some sort of core machinery must have been fixed and CDI almost works properly now. :-)

Looking for whatever silver lining I can find here, at least JBoss 6 is even worse. :-)

Best,
Laird

jclingan
Offline
Joined: 2003-06-12

Sorry to hear you are having problems. There are generally two routes to take:

1) Please log the bugs (if you haven't already) and we'll try to get to them for the 3.1 release.
FYI: https://glassfish.dev.java.net/servlets/ProjectIssues (must be logged in to enter bug)

2) Purchase Oracle GlassFish Server and make a support call, where we can possibly deliver a fix to you sooner.

Thanks for the feedback. We'd definitely like to keep you on GlassFish if possible.

pablopina
Offline
Joined: 2008-07-13

I get your point,

we are in a similar situation, by the way, while trying clusterin, please check that clustered cache in eclipselink works happy with glassfish 3.1 (as it did not work with gf 2.1.1)

It is a pain to spend to much time with platform issues when we have enough to worry about... i guess the oracle sun adquisition did probably slowed the roadmap a bit...

Anyways guys, now we are here and better together than against each other... we'll stick ti gf 3 for now and try to submit here as many bugs as we can find...

Come on guys, keep up the work and let's all together make GlassFish what we all want GlassFish to be...

Theodor Richard

I totally agree. I've spent so much time with platform issues. Simple things
that worked on Glassfish v2 don't work on v3. Glassfish 3.0.1 seems to me
like an alpha release. I completely abandoned using CDI. I even downloaded
the beta release of IBM Websphere v8 (which currently supports a subset of
JEE 6) hoping that I could develop and test my application.

Regards,
Theo

On Sat, Jul 10, 2010 at 12:10 PM, wrote:

> I get your point,
>
> we are in a similar situation, by the way, while trying clusterin, please
> check that clustered cache in eclipselink works happy with glassfish 3.1 (as
> it did not work with gf 2.1.1)
>
> It is a pain to spend to much time with platform issues when we have enough
> to worry about... i guess the oracle sun adquisition did probably slowed the
> roadmap a bit...
>
> Anyways guys, now we are here and better together than against each
> other... we'll stick ti gf 3 for now and try to submit here as many bugs as
> we can find...
>
> Come on guys, keep up the work and let's all together make GlassFish what
> we all want GlassFish to be...
> [Message sent by forum member 'pablopina']
>
> http://forums.java.net/jive/thread.jspa?messageID=477250
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@glassfish.dev.java.net
> For additional commands, e-mail: users-help@glassfish.dev.java.net
>
>
[att1.html]