This Week in OpenNMS: Wading Into the (Connection) Pool
Benjamin Reed <[email protected]> Mon, 07 Mar 2011 12:14:58 -0500
| Newsgroups | gmane.network.opennms.announce |
|---|---|
| Message-ID | <4D751292.1080905__11837.5190337703$1299518289$gmane$org@opennms.org> |
It's time for This Week in OpenNMS <http://www.opennms.org/>. In the
last week we worked on JRobin, connection pooling, the Page Sequence
Monitor, and event-related code.
Project Updates
* 1.8: Current Release is 1.8.10 (Loggerhead Shrike)
1.8.10
<http://www.opennms.org/documentation/ReleaseNotesStable.html#opennms-1.8.10> is
the current stable release, tagged 24 February, 2011. For a
complete list of changes and updates, see the "New and Noteworthy"
page on the OpenNMS wiki
<http://www.opennms.org/wiki/New_and_Noteworthy#New_in_OpenNMS_1.8.10>.
As always, it is recommended that you back up your database before
upgrading. A large number of bugs were fixed since 1.8.7, it is
highly recommended that you upgrade to this release.
* 1.9: Current release is 1.9.6 (Barbat)
1.9.6 is the current unstable release, tagged 24 February, 2010.
This release is not recommended for production use, but for
developers and users who want to try out the very latest features.
* Ben spent some time doing optimization and cleaning up bugs found
by FindBugs.
* Seth worked on integration/unit tests for the web UI, using the
page sequence monitor.
* Ben and Craig worked on the JRobin codebase some more.
Issues Fixed
* [JRB-16 <http://issues.opennms.org/browse/JRB-16>] -- RrdCommander
"graph" command hopelessly broken
* [NMS-3826 <http://issues.opennms.org/browse/NMS-3826>] --
Provisioning a node with RANCID enabled caused error if rancid
group does not exist
* [NMS-4388 <http://issues.opennms.org/browse/NMS-4388>] -- Remove
c3p0 dependencies from installer code so we can change the DB
connection pooling implementation
* [NMS-4473 <http://issues.opennms.org/browse/NMS-4473>] -- Remote
Polling documentation is confusing
* [NMS-4484 <http://issues.opennms.org/browse/NMS-4484>] --
PageSequenceMonitor double-URL-encodes query parameters
* [NMS-4489 <http://issues.opennms.org/browse/NMS-4489>] -- All
Event creation should use the EventBuilder
* [NMS-4491 <http://issues.opennms.org/browse/NMS-4491>] --
jdbc-datacollection-config.xml has hard coded path for rrdRepository
New Database Connection Pooling
One of our customers has a large number of remote pollers reporting in
(about 3000 of them, which translates to each of them reporting in every
30 seconds with some kind of poll data). In doing thread dumps, we saw
that a large majority of threads were just waiting to return a
connection. C3P0, our current connection pooling implementation, is
rather long in the tooth and predates newer, smarter, thread-contention
algorithms. This last week, I refactored the database connection code to
allow alternative implementations of connection pooling, and created an
implementation that uses DBPool <http://www.snaq.net/java/DBPool/>, a
nice modern connection pooling implementation.
By default, OpenNMS will continue to use C3P0, but if you are running an
OpenNMS 1.9 snapshot later than March 2nd, you can try out the new code.
In the latest 1.9 snapshots, you'll note that
the |opennms-datasources.xml| file has a new addition: the
"connection-pool" tag. To configure connection pooling to use DBPool,
just change the factory:
|<connection-pool
factory="org.opennms.netmgt.config.DBPoolConnectionFactory"
idleTimeout="600"
loginTimeout="3"
minPool="10"
maxPool="50"
maxSize="500" />|
In my quick testing, it feels snappier, but I haven't had too much time
to do proper benchmarks yet. I'd appreciate feedback from folks in the
community if they see a performance increase from this.
OpenNMS Users Conference Americas
One of our OGP <http://www.opennms.org/wiki/OGP> members, Mike Huot, has
been spearheading a campaign to create an OpenNMS Users Conference
Americas, on June 17th and 18th at the Unniversity of Minnesota, Twin
Cities, just before Dev-Jam 2011
<http://www.opennms.org/wiki/Dev-Jam_2011>. We are still working on
finalizing arrangements, but should have this completed by mid-March.
The fee will be $65.
We have a minimum threshold of attendees we need to get to before we can
hold this event, so please sign up here
<http://ouca2011.eventbrite.com/> to register your interest (no fee will
be charged) and we can gauge whether we have enough folks to put
together the event.
Upcoming Events
* 26 March 2011: Tarus to keynote the inaugural Indiana LinuxFest
<http://www.indianalinux.org/cms/>
* 26 through 27 May 2011: OpenNMS Users Conference Europe
<http://www.opennms.org/wiki/UCE#OpenNMS_User_Conference_Europe_2011>
* 17 through 18 June 2011: OpenNMS UC Americas (Tentative)
* 19 through 24 June 2011: OpenNMS Dev-Jam 6
<http://www.opennms.org/wiki/Dev-Jam_2011>
Until Next Week...
As always, if there's anything you'd like me to talk about in a future
TWiO, or you just have a comment or criticism that you'd like to share,
don't hesitate to say hi <mailto:[email protected]>.
--
Benjamin Reed
The OpenNMS Group
http://www.opennms.org/
------------------------------------------------------------------------------
What You Don't Know About Data Connectivity CAN Hurt You
This paper provides an overview of data connectivity, details
its effect on application quality, and explores various alternative
solutions. http://p.sf.net/sfu/progress-d2d
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/wiki/index.php?page=MailingListFaq
opennms-announce mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-announce