4 Replies Latest reply on Oct 17, 2012 3:09 PM by rhauch

    ModeShape 3.0 and JBoss AS 7.2

    rhauch

      One of our goals for ModeShape 3 is to have integrated support for deploying and managoing repositories within JBoss AS 7. During the 3.0 development period, we've started out by creating a kit for installing ModeShape into AS 7.1.1.Final, but there are a number of pretty big issues with Infinispan in AS 7.1.1.Final. One issue is that it uses a slightly older version of Infinispan (5.1.2.FINAL) than the much improved and lastest stable release (5.1.6.FINAL). A second issue is that the Infinispan subsystem (the component that integrates Infinispan into the AS7 ecosystem) is immature and incomplete.

       

      Because of these issues (and probably other AS7.1.1 issues), several users started using AS 7.2, which is still under very active development. Enough changed in AS 7.2 that ModeShape's kit for AS 7.1 doesn't install cleanly into AS 7.2, so we created a separate kit for AS 7.2 to make it easier for them and to help prepare ModeShape for when AS 7.2 is released. Keeping that kit for AS 7.2 up-to-date has been fairly difficult, since the AS 7.2 codebase has been changing quite frequently - the kits for AS 7.2 that we included in our Beta and CR releases do not last very long and (sometimes within days) no longer work with AS 7.2 built a few days later. Simply put, it's very time consuming and error prone to write software that must integrate with a rapidly changing system. And to cap things off, the AS 7.2 codebase just switched from using Infinispan 5.1.x to 5.2.0.Beta1, which is not 100% backward compatible with the Infinispan version we're using.

       

      We're now ready to release ModeShape 3.0.0.Final, but still have yet to see the first AS 7.2.0.Alpha1 release. We simply cannot include the ModeShape kit for AS 7.2 in our release. Firstly, if we did include such a kit, it would only work with out-of-date snapshots of AS 7.2 (which nobody would want to use nor should be using). Secondly, even community support would be reallly difficult, since we could never be sure that users are using the same AS 7.2 snapshot version that we tested with. Believe me, we're just as disappointed as you.

       

      What does this mean for 3.1, which we want to release in roughly 6 weeks? We had hoped that in 3.1 we could simply move to one of the latest stable releases of Infinispan 5.1, allowing us to focus more on our features and enhancements and less on integration. We'll add a kit for installing ModeShape into EAP 6.0.0, which includes fixes for all of the issues we have with JBoss 7.1.1.Final and is also fully-supported. However, we don't think Infinispan 5.2 or AS 7.2 will be stable enough for us to support them.

       

      Back when we first started on the 3.0 effort and considering relying more heavily on Infinispan (and even JBoss AS), we knew that doing so would be more limiting and that we'd have to live within the constraints of their release cycles. Even with these challenges, we still think we made the right decision. Both Infinispan and AS 7 offer a tremendous amount of functionality - reinventing all of that is simply not an option. Plus, reusing those libraries means that we benefit from the many, many people that are using, integrating, testing, and improving Infinispan and JBoss AS7, while we focus on building and improving the fastest, most scalable hierarchical database technology.

        • 1. Re: ModeShape 3.0 and JBoss AS 7.2
          bwallis42

          Unfortunatly I don't think EAP6 is going to work any better as it has infinispan 5.1.4.Final (https://access.redhat.com/knowledge/articles/112673#EAP_6) and the work around for the transaction issue is in 5.1.5.Final (https://jira.jboss.org/browse/ISPN-604 and https://issues.jboss.org/browse/ISPN-2040 for the fix I think)

          • 2. Re: ModeShape 3.0 and JBoss AS 7.2
            rhauch

            It is true that EAP 6.0.0 uses Infinispan 5.1.4.Final, but EAP 6.0.1 uses Infinispan 5.1.7.Final. Hopefully that will be available soon.

             

            Also, the inability for Infinispan's JDBC cache stores to participate in the XA transaction will remain an issue, but that's slated to be fixed no earlier than Infinispan 6. But there are two good things: 1) this is not an problem for a distributed cache configuration (and the cache itself is able to participate in XA transactions), and 2) the workaround (ISPN-2040) appears to have been fixed in 5.1.5.CR1, which means it should be fixed in EAP 6.0.1.

             

            None of this is ideal, but we have to live with the state of JBoss AS, Infinispan, and EAP that are released.

            • 3. Re: ModeShape 3.0 and JBoss AS 7.2
              kbachl

              Hi Randall,

               

              a short question: why do you all the work and hassles just to publish an JBoss AS Kit? Is it really worth it? - I mean look at how many deployments are out there without an AS Kit.

              IMHO, stop publishing the kit till JBoss AS is in a better state and wont rely on too old versions. Why force the majority of the userbase on using old, performance and error-prone infinispan versions just because of the AS kit?

              • 4. Re: ModeShape 3.0 and JBoss AS 7.2
                rhauch

                K. Bachl wrote:

                 

                Hi Randall,

                 

                a short question: why do you all the work and hassles just to publish an JBoss AS Kit? Is it really worth it? - I mean look at how many deployments are out there without an AS Kit.

                IMHO, stop publishing the kit till JBoss AS is in a better state and wont rely on too old versions. Why force the majority of the userbase on using old, performance and error-prone infinispan versions just because of the AS kit?

                 

                That's a good question.

                 

                Well, we do want to have great integration between ModeShape and JBoss AS 7 (and EAP 6). Obviously not everyone uses AS7, and for them it doesn't matter whether or not we provide the kit (see below). But proper AS7/EAP integration is absolutely important to Red Hat products and our customers, and we're going to spend time working on that integration. (Red Hat sponsors ModeShape and pays the salaries of a few of us because they know ModeShape is important to Red Hat's products and customers.)

                 

                Granted, having an AS7 kit does affect all ModeShape users because it restricts the versions of some of our dependencies. In reality, though, users can always upgrade/override the Infinispan version to use 5.1.6 which we test with (and probably 5.1.7 which we don't yet test with). Again, this will be less of an issue in 3.1, since we'll upgrade to Infinispan 3.1.7.Final. Note that we can't and won't move to Infinispan 5.2 in 3.1, since 5.2 will likely not be stable enough for us (though we're looking forward to the features and improvements.)

                 

                I would agree, however, that trying to work with AS7.2 was a complete waste of time for us, and I very regret going down that route. At the time it seemed low risk because we expected an AS 7.2 release shortly thereafter. That release obviously didn't happen, and we were bitten by it. C'est la vie.