<iframe src="//www.googletagmanager.com/ns.html?id=GTM-TT8R4P" height="0" width="0" style="display:none;visibility:hidden">

Sonatype Blog

Stay updated on the latest news from the makers of Nexus

Hudson Survey Results Show Reliability and Performance Are Key Concerns

Earlier this year Sonatype and Oracle sponsored a Hudson user survey to gather input from the community about the future of Hudson. We want to thank everyone who participated (over 1200 people from a variety of industries) as this type of survey is extremely valuable to our product team. The survey was a huge success in that regard as it clearly points out both the popularity of Hudson as well as some key areas for improvement.

One of the most striking findings is that while our earlier Software Development Infrastructure Survey showed that Hudson is the clear Java CI market leader (over 70% of those using CI), the vast majority consider "stability" and "performance" to be the most critical "features" that need to be added (see figure 1). This feedback rings true to us as Hudson runs at the core of our development efforts, supporting our work on Apache Maven, Nexus, Guice, and other core open source and proprietary work. The product works well, but we have identified and solved a number of bugs that can cause performance and stability problems in Hudson. This experience seems to match closely that of Hudson users, both as indicated by the survey and through direct discussions and feedback. That is why our development team, in cooperation with Oracle and the larger Hudson developer community, has spent a lot of time working on performance and stability improvements and has donated those improvements back to the open source Hudson project (soon to be at the Eclipse Foundation) for all to benefit.

Last Chance to Enroll: MVN-101 Training in Europe

We are offering one last virtual Maven Mechanics (MVN-101) training course for European business hours in June. This will be our last virtual class in CEST for the summer. Be sure to enroll today!

Course details:
  • Course: Maven Mechanics (MVN-101)
  • Date: Tuesday June 14, 2011
  • Time: 9:00AM – 4:00PM CEST (UTC/GMT + 0200) *European Hours
  • Enrollment Fee: $595 USD (~425 EUR)


Sonatype donates Maven 3.x integration, Eclipse Integration to Hudson

We're very excited about the proposed move of Hudson to the Eclipse foundation. To get the project off the right start in its new home, Sonatype has committed to donating all our Maven 3.x related work to the Hudson project. This includes the Maven 3.x integration for Hudson itself, our Eclipse integration, and our Maven Shell integration.

Maven Central Failover Mechanism Improves: Temporary IP change on Monday

Spoiler Alert! This post contains information about a change to Maven Central's IP addresses. If your network has firewall rules in place that need specific IPs, be sure to read this post.

We're working hard and investing continued effort into making sure that Central is as available as possible. As Maven Central supports a world of developers, even a few minutes of downtime is completely unacceptable to us. In line with our previous efforts to make Maven Central as bullet-proof and available as possible, we are planning to make the US repository even more fault tolerant using a tool called Pacemaker. Once we've had time to evaluate the impact of the changes described in this post we will deploy similar measure for our European Union and Asia/Pacific mirrors.

As a follow up to our previous enhancements to central, we are planning to make the Maven Central US repository even more fault tolerant.

The US repository runs on two virtual machines (VMs) in a VMWare cluster with 4 physical nodes configured to use the High Availability support in VMWare. Despite having multiple levels of fault-tolerance, recovery from a misconfiguration or other catastrophic failure still requires a DNS update to a standby IP to restore Maven Central. This DNS change requires time: time to make the change and then an often unpredictable time for DNS changes to propagate over the entire Internet.

This is unacceptable to us. Millions of developers depend on Maven Central, we've invested in redundant virtual machines running on redundant physical hardware. If there is an unforeseen event, the problem should be addressed in a few seconds.

To achieve immediate failover in the event of failure we will be using a tool called Pacemaker to manage Maven Central's floating IP cluster. Pacemaker monitors the repository IP address, Nginx process status, and sample content from Maven Central. If Pacemaker identifies a failure in any one of these components it will immediately failover to the backup machine. In my testing, this takes about 3-5 seconds to occur.

In a previous post I discussed the systems we have in place and how the IPs are configured:

We are aware that some users have firewall rules that are locked to the external service IP. Because of this, we strive to maintain a consistent IP for each system, however the primary mechanism for accessing the repository is by DNS for most users. At times, our failover escalation or maintenance procedures may require us to redirect the DNS for one system to another. For this reason, if you have firewall rules in place that need specific IPs, please allow this list so that you won’t be affected by any temporary transitions:

  • : US primary
  • : US staging / standby
  • UK Primary
  • UK standby

Maven 3: The Future of Enterprise Java Build Infrastructure

The Maven 3: The Future of Enterprise Java Build Infrastructure presentation is now available for viewing. This presentation was given at EclipseCon 2011 by Sonatype founder Jason van Zyl.

Sonatype supports Hudson's move to the Eclipse Foundation

At Sonatype, we’re very excited about the Hudson proposal that has been posted to the Eclipse Foundation website today. We believe Hudson moving to the Eclipse Foundation is the best way forward for both the Hudson and Jenkins projects. Having Hudson at a mature OSS foundation like Eclipse gives enterprise users the confidence that Hudson will remain vibrant and will continue to grow, and provides an opportunity to reconnect the Jenkins and Hudson communities back into a single focused community. Sonatype supports Eclipse as a Strategic Member because we've been impressed by the infrastructure, process, and approach to project oversight. It's an ideal place for Hudson to mature.

Hudson Pro: Where’s the Maven job type?

One important difference between Hudson Open Source and Hudson Professional is how they support Maven 3.

Sonatype has developed state-of-the-art support for Maven 3 focusing on creating seamless integration between the internals of Hudson CI and Maven. Year of work on Maven 3 internals to support more efficient embedding along with our multi-year investment in bringing both JSR-330 support and GWT UI integration to Hudson CI has produced a CI system that support Maven 3 like no other on the market.

If you’ve used Hudson and Maven together in the past, you might be familiar with the Maven 2 project type that provides users with the ability to define a Maven build that is aware of a project’s POM. While we understood the motivation for a Maven-specific project type, we took our Maven support in an entirely difference direction. We created a Maven build that can be used a part of a larger freestyle build, and the reason we did this was to get away for the idea that a Maven build can only include one step, one call to a series of goals.

Sonatype found this to be more of a limitation than an advantage.