[Building Sakai] [sakai2-tcc] Spring 3.2 and Hibernate 3.6 upgrades (KNL-515 / KNL-517)

Noah Botimer botimer at umich.edu
Fri May 31 08:56:02 PDT 2013


Thanks, Earle. And thanks for the links. I hope folks will take some time to see what's new and check out some of the cleaner patterns available.

The annotation support has gotten quite refined for cutting down on XML config and the REST/MVC stuff is pretty nice. This is core stuff, not mentioning options like Roo and Play.

Under the covers, there are lots of improvements and things we can learn from, too. See, for examples, the new cache abstraction and their transition to Gradle / GitHub to make it easier to maintain and build a wide, modular codebase.

I'm also curious how people find the performance. In my informal testing, it seems to have improved some, especially during warmup.

Thanks,
-Noah

On May 31, 2013, at 9:46 AM, Earle Nietzel wrote:

> Congratz Noah and all who helped with these important library upgrades.
> 
> There were some important bugs that were fixed by upgrading hibernate for example 
> https://jira.sakaiproject.org/browse/STAT-252
> 
> Not to mention all the new goodies in Spring here is a quick recap from Spring 2.5 to Spring 3.2 (Its a quick read)
> 
> Whats new in 3.0 (prev was 2.5)
> http://static.springsource.org/spring/docs/3.2.3.RELEASE/spring-framework-reference/html/new-in-3.0.html
> 
> Whats new in 3.1
> http://static.springsource.org/spring/docs/3.2.3.RELEASE/spring-framework-reference/html/new-in-3.1.html
> 
> Whats new in 3.2
> http://static.springsource.org/spring/docs/3.2.3.RELEASE/spring-framework-reference/html/new-in-3.2.html
> 
> Earle
> 
> 
> On Fri, May 31, 2013 at 8:03 AM, Noah Botimer <botimer at umich.edu> wrote:
> Hello, again.
> 
> I am pleased to note that this work has finally been merged to trunk with good results. All tests are passing and, after resolving one bug, do not yet see any regressions.
> 
> This does mean that you should update your trunk working copies fully and rebuild because most modules received some update or other.
> 
> Since the original message, Spring has made two releases, so the version in trunk is now 3.2.3.RELEASE, which means we are fully up to date.
> 
> The Hibernate version is 3.6.10.Final, which is the most recent 3.6 release. We are not yet able to use Hibernate 4.x because of our usage of the Spring HibernateTemplate, which is specific to Hibernate 3.x and not compatible with 4.x. These uses could be ported to the native Hibernate API to allow us to upgrade further, though this will take some care.
> 
> The bug encountered couldn't have been timed better. There was an issue in Lesson Builder with CLOB columns on Oracle, and some attributes were changed to use the "text" type (LSNBLDR-231). For Hibernate 3.5+, the new "materialized_clob" type should be used (LSNBLDR-236), so on day one, we have a perfect example of the problem and solution to what is likely to catch some tool developers. The new pattern is simple and actually much more predictable than the older pattern (and consistent on both MySQL and Oracle).
> 
> https://jira.sakaiproject.org/browse/LSNBLDR-231
> https://jira.sakaiproject.org/browse/LSNBLDR-236
> 
> Please test and watch for issues and record them in JIRA as linked to KNL-515 or KNL-517, depending on which components seem involved.
> 
> Thanks again to those who helped in this work, especially Zach, who came through with a nice fix for a few things I missed.
> 
> Thanks,
> -Noah
> 
> On Mar 11, 2013, at 5:20 PM, Noah Botimer wrote:
> 
>> Hello all,
>> 
>> I'm pleased to note the completion of upgrades to Spring 3.2.1.RELEASE and Hibernate 3.6.10.Final, and that preliminary testing has gone very well.
>> 
>> But don't panic! This isn't in trunk yet; just standing by to be merged.
>> 
>> 
>> There are lots of details on the tickets [1][2], but the most important thing is that there is very good backward compatibility. Most of the things you would have done in code are unchanged.
>> 
>> Two obvious exceptions (config, not really code) to these are the dependencies declared (both libraries are now modular) and the universal use of the "materialized_clob" datatype for long text data (a consistency improvement, which maps a Java String to a CLOB / TEXT field, as was previously accomplished with string types and length limits). All known changes have been applied to all of the core, so you shouldn't have to worry too much. All tests pass nicely. Contrib maintainers: it's pretty straightforward for any given tool.
>> 
>> There will be some more documentation about the specifics (say, some of the constant or cache region changes), but this is ready for broad testing now. Because nearly every module is touched, this upgrade is not in a set of Subversion branches (way too much work). I am maintaining them on GitHub and keeping a branch synchronized with trunk:
>> 
>> https://github.com/botimer/sakai-cle/tree/spring-32
>> 
>> I've done testing on MySQL and Oracle. Others (Sam, Aaron, Zach, Chris) have been testing as well, and we have found no standing regressions. So, I will put it to the TCC to think about the right time to apply these changes to trunk. I am deliberately sharing this now, after 2.9.1 has settled, since I think this is about the right time.
>> 
>> I should also note that this was a big chunk of work, graciously sponsored by Unicon.
>> 
>> Comments, test results, and pull requests are welcome.
>> 
>> Thanks,
>> -Noah
>> 
>> [1] - https://jira.sakaiproject.org/browse/KNL-515
>> [2] - https://jira.sakaiproject.org/browse/KNL-517
> 
> 
> _______________________________________________
> sakai2-tcc mailing list
> sakai2-tcc at collab.sakaiproject.org
> http://collab.sakaiproject.org/mailman/listinfo/sakai2-tcc
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20130531/67ceecc0/attachment.html 


More information about the sakai-dev mailing list