Bug 194442 - [api][dstore] Change dstore default daemon port
Summary: [api][dstore] Change dstore default daemon port
Status: RESOLVED FIXED
Alias: None
Product: Target Management
Classification: Tools
Component: RSE (show other bugs)
Version: 2.0   Edit
Hardware: All All
: P1 enhancement (vote)
Target Milestone: 2.0   Edit
Assignee: Martin Oberhuber CLA
QA Contact: Martin Oberhuber CLA
URL:
Whiteboard:
Keywords: api
Depends on:
Blocks:
 
Reported: 2007-06-26 12:12 EDT by Martin Oberhuber CLA
Modified: 2007-09-26 21:20 EDT (History)
1 user (show)

See Also:
mober.at+eclipse: pmc_approved+
kmunir: review+
dmcknigh: review+
ddykstal.eclipse: review+
uwe.st: review+
javier.montalvoorus: review+


Attachments
patch changing dstore server default port to 4075 (5.37 KB, patch)
2007-06-26 12:45 EDT, David McKnight CLA
no flags Details | Diff
Updated patch (10.59 KB, patch)
2007-06-26 14:11 EDT, Martin Oberhuber CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Oberhuber CLA 2007-06-26 12:12:44 EDT
As per bug #188365, the dstore protocol version was reved up to "DataStore.9.0.0" in DataStoreAttributes.java. This means, that an RSE 1.0 daemon will not be able to properly communicate with a TM 2.0 client and vice versa.

As a convenience and to avoid unnecessary confusion, we should change the dstore default daemon port. It's currently 4035, which is assigned to "WAP Push OTA-HTTP port" according to http://www.iana.org/assignments/port-numbers

Currently unassigned possibilities seem to be: 3001, 3121, 3546, 3693, 3737, 3827ff, 3998, 3999, 4070-4088, 4120, 4130

For me, it looks like 4075 would be a good pick, or 4190.
Comment 1 Martin Oberhuber CLA 2007-06-26 12:17:41 EDT
FYI, when I search the String "4035" in my workspace, I'm getting 19 matches in 11 files (*.bat, *.pl, *.html, *.java).

Everybody: Please think about this change again and vote for it if sure. Also comment on your favorite port number.
Comment 2 Martin Oberhuber CLA 2007-06-26 12:21:17 EDT
Note that changing the default dstore daemon port is "kind of" an API change in the sense that people might need to change firewall settings in order to let dstore daemon traffic through that was expected on 4035 before.

But, on the other hand they can always change the daemon port when they want. As DaveD pointed out, changing it to a different port in 2.0 is a nice convenience for beginners with the new protocol version. Personally, I'm in favor of making the change especially because port #4035 is officially taken (by WAP-push, whatever it may be). 
Comment 3 Martin Oberhuber CLA 2007-06-26 12:22:02 EDT
Marking as API because if we do this, we should document it in the release notes as well as the New&Noteworthy
Comment 4 David McKnight CLA 2007-06-26 12:45:56 EDT
Created attachment 72492 [details]
patch changing dstore server default port to 4075

I've added the changes as a patch.  The constant appears in rse.core and rse.ui which really isn't the right place to keep a dstore-specific thing.  At this point in 2.0, moving this around is too risky, but we should make sure we refactor the server launcher stuff later.
Comment 5 David Dykstal CLA 2007-06-26 13:40:04 EDT
Dave -- did you also change the various server side scripts and documentation?
Comment 6 Martin Oberhuber CLA 2007-06-26 14:11:15 EDT
Created attachment 72507 [details]
Updated patch

Updated patch also changing the daemon port in
   daemon.bat
   daemon.pl (3 files)
   tbeginlinux.html (usersguide)
   tbeginwindows.html (usersguide)

I think these should be all occurrences, if my search tool for the string "4035" did not fool me
Comment 7 David Dykstal CLA 2007-06-26 14:15:17 EDT
I believe all occurrences have been caught.
Comment 8 Martin Oberhuber CLA 2007-06-27 06:30:57 EDT
I noticed that RSE stores the daemon port in its persistent connection information: So, when a user migrates from RSE1 to RSE2 and wants to keep his existing workspace, dstore daemon connections will be against port 4035 whereas newly created connections will be against port 4075 by default.

When an RSE1 daemon keeps running on 4035, users will get "Incompatible Remote System Explorer host server" errors for the existing connections so they will know that they need to upgrade. Migration docs should tell them what to do. The other option is that an admin manually starts the RSE2 daemon on 4035, or keeps two instances of the RSE2 daemon running.

I still think that changing the daemon port is the right thing, because this is the only way where in a large setup with both RSE1 and RSE2 clients, it is possible to make the migration smoothly and keep the RSE1 and RSE2 daemons running at the same time, with "New Connections" working with the default port in both cases. Moreover, the new port 4075 is known to be free whereas 4035 is known to be taken.

While testing, I noticed that the error message in case of trying to connect a remote daemon where the daemon is not running is not good. I filed bug #194584 for this issue.

Comment 9 Martin Oberhuber CLA 2007-06-27 06:52:21 EDT
Patch committed and released for 2.0.

Replaced [api] tag with "Documentation" keyword because it's just a default setting that can be overridden by anyone so it is not an API change. But it must be documented in the migration docs.