Bug 346892 - [api] Update to commons-net 3.2
Summary: [api] Update to commons-net 3.2
Status: RESOLVED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: unspecified   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.5 RC1   Edit
Assignee: Martin Oberhuber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on: 408242
Blocks: 408092 408240
  Show dependency tree
 
Reported: 2011-05-23 12:48 EDT by Alexander Kurtakov CLA
Modified: 2013-05-16 09:39 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Kurtakov CLA 2011-05-23 12:48:48 EDT
Please update commons net dependency to 3.0 this will ease the work for downstreams that ship with more recent dependencies. Updating to Commons Net 3.0 should not be an issue at all as according to upstream it should be pretty straight forward http://commons.apache.org/net/migration.html.
Comment 1 Martin Oberhuber CLA 2011-07-06 12:39:35 EDT
At Eclipse, we can typically release newer libraries only with the yearly release train - and this request was too late for Indigo 2011 since updating the lib also requires the lib to undergo an IP/Legal review.

I'm wondering what's the concrete reason for asking to get the lib into Orbit? Any concrete bugfixes you need? If it's just to ease the life of downstream and 3.0 is binary compatible with 2.2, would it help if we just made the Require-bundle version range broader in TM so we can accept a 3.0 lib as well even if we don't ship it from Eclipse? That could be done in an Indigo SR I guess, but each project using commons net would have to do it separately.

Or is there any concrete bugfixes you need? For Juno 2012, updating the lib can be considered, but I'd also like to try and avoid updating the lib multiple times since that's work each time. I just got notice that Commons Net 3.0.1 was released for instance, so I'm glad I didn't import 3.0 right away:

------snip from the dev@commons.apache.org mailing list------------------
*** This is a bug-fix release which corrects a regression in 3.0 ***
* NET-409:  FTPClient truncates file (storeFile method).

All users are encouraged to upgrade to 3.0.1.

This release is binary compatible with 2.2 (and 3.0), but there are some minor changes to source compatibility, please read the release notes for full details:

http://www.apache.org/dist/commons/net/RELEASE-NOTES.txt
http://commons.apache.org/net/changes-report.html
Comment 2 Martin Oberhuber CLA 2012-05-07 13:48:41 EDT
Commons Net 3.1 has been added to Orbit :
http://dev.eclipse.org/ipzilla/show_bug.cgi?id=6219

TM should be able to ship Commons Net 3.1 with Juno (3.4).
Comment 3 Martin Oberhuber CLA 2012-05-07 15:34:14 EDT
An initial downloadable bundle is available for testing:
http://build.eclipse.org/orbit/committers/orbit-I/20120507174954/I20120507174954/
Comment 4 Martin Oberhuber CLA 2012-05-22 13:18:31 EDT
Integrated in TM 3.4RC1.

That release of Commons Net is binary compatible, but there are few minor changes in source compatibility (some methods throw IOException now). For details see the Commons Net Release Notes [1]. Adopters which directly call Commons Net may need to update their version ranges in MANIFEST.MF and potentially make minor adaptions to their source code.

[1] http://commons.apache.org/net/changes-report.html
Comment 5 Martin Oberhuber CLA 2012-05-30 07:31:46 EDT
As per bug 194473 comment 11 it turned out that Commons Net has a severe limitation that telnetInputStream.available() can block:

https://issues.apache.org/jira/browse/NET-466

Reopening since we cannot adopt Commons Net 3.1 in TM until that issue is resolved by upstream.
Comment 6 Martin Oberhuber CLA 2012-05-30 07:32:57 EDT
Note TM builds fine against Commons Net 3.x and adopters who do not need telnet can get 3.x from Orbit at their own risk if they want - but in TM we cannot ship it just yet.
Comment 7 Martin Oberhuber CLA 2013-01-21 04:10:27 EST
Commons Net 3.2 was released on 3-Dec-2012 and NET-466 has been fixed.

Looks like we should take another stab adopting this into Orbit...
Comment 8 Martin Oberhuber CLA 2013-01-21 04:40:52 EST
I've created a new CQ for Commons Net 3.2:
https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7026
Comment 9 Martin Oberhuber CLA 2013-03-04 12:25:40 EST
The CQ, and add-to-orbit CQ have been approved:
https://dev.eclipse.org/ipzilla/show_bug.cgi?id=7043

Will checkin to Orbit soon.
Comment 11 Martin Oberhuber CLA 2013-05-15 04:48:30 EDT
I've pushed the change to org.eclipse.tm.releng/maps/tmcore.map to master:

https://git.eclipse.org/c/tm/org.eclipse.tm.git/commit/?id=ef1de17e105b023cfc4699b26490460aa79b911e

I'm not sure if anything else needs to be done for Tycho (Anna?).

Note that the reference to the Orbit build will need to be updated again for the release, as soon as Orbit has "promoted" the build. For now, we're pulling in the new commons net from an interim build. I'll keep the bug open until the update is done.

I did a brief smoke test of FTP and telnet, and found two bugs:
  https://bugs.eclipse.org/bugs/show_bug.cgi?id=408090
  https://bugs.eclipse.org/bugs/show_bug.cgi?id=408092

I personally don't think that these are related to the new commons net library.
Perhaps others could have a look without the new commons net to check.
At any rate, people should give the new library some good deal of testing ... 
especially passive mode, connection timeouts ... it should never "hang" eclipse.
Comment 12 Martin Oberhuber CLA 2013-05-15 04:57:02 EDT
Additional change updating the root-pom.xml :

https://git.eclipse.org/c/tm/org.eclipse.tm.git/commit/?id=59c94aceacca1b15138aa990855624a53fa87381
Comment 13 Martin Oberhuber CLA 2013-05-16 09:31:50 EDT
I'm going to mark this FIXED since the change is in git for TM 3.5 RC1.

The task of updating to the Orbit R-Build will be tracked in bug 408240 .
Comment 14 Martin Oberhuber CLA 2013-05-16 09:36:12 EDT
Commons Net 3.2 Release Notes, listing changes:
http://commons.apache.org/proper/commons-net/changes-report.html

In my practical testing, I've seen the Commons Net 3.2 release to be stable, and provide more exact list parsing (trailing spaces, embedded quotes, non-English language servers, date parsing, time zone management etc). Since we only use FTP and Telnet in TM / RSE, we don't use many of the features in Commons Net, yet it is good that we redistribute them.

It turned out that Commons Net 3.2 has one regression:
https://issues.apache.org/jira/browse/NET-492

But that was very easy to work around on our side:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=408092#c5

Adopters who need FTPClient#printWorkingDirectory() should use a similar workaround - the bugzilla comment above has a link to git with the code.