[SERVER-500] bind() fails in test Created: 21/Dec/09 Updated: 12/Jul/16 Resolved: 09/Feb/10 |
|
| Status: | Closed |
| Project: | Core Server |
| Component/s: | Tools |
| Affects Version/s: | None |
| Fix Version/s: | 1.3.2 |
| Type: | Bug | Priority: | Major - P3 |
| Reporter: | Aaron Staple | Assignee: | Eliot Horowitz (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Participants: |
| Description |
|
m33058| Mon Dec 21 13:21:52 connection accepted from 127.0.0.1:59544 #1 allocatePorts allocates, opens, then closes (a) port(s). Our assumption is that the os will not utilize the same ports again soon, but in this failure mode one of the allocated ports is reused for a Mongo client before the mongod server for which the port was allocated is started. Either the system is low on available ports, or the port allocation algorithm does not attempt to avoid reuse on short timescales. Potential solutions: |
| Comments |
| Comment by auto [ 24/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 24/Feb/10 ] |
|
Author: {'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}Message: |
| Comment by auto [ 24/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 24/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 24/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 09/Feb/10 ] |
|
Should be done, go ahead and close when you're ready. |
| Comment by Eliot Horowitz (Inactive) [ 09/Feb/10 ] |
|
resolving because it seems to be done |
| Comment by auto [ 09/Feb/10 ] |
|
Author: {'login': 'erh', 'name': 'Eliot Horowitz', 'email': 'eliot@10gen.com'}Message: |
| Comment by Aaron Staple [ 09/Feb/10 ] |
|
Sorry, where I said "ethereal range" above it should have been "ephemeral range" |
| Comment by Aaron Staple [ 09/Feb/10 ] |
|
We shouldn't have the sharding tests use ports with the 39999 base. Also it would be nice if we disabled the http interfaces for the sharding test mongods |
| Comment by auto [ 09/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 09/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 09/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 09/Feb/10 ] |
|
The problem appears to be that the bridge is connecting to itself. Apparently if you try to connect to a port in the ethereal range and that port happens to be allocated for the socket as it attempts to connect, the socket will connect to itself. On my linux vm the ethereal range begins at 32768, so I'm going to change the base port for the repl tests from 35000 to 31000. Hopefully the buildbot machines have similar ethereal port ranges, we'll see. If this works we may want to lower all testing ports below the 32768 threshold (for sharding tests, scons tests, etc). |
| Comment by auto [ 08/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 08/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Eliot Horowitz (Inactive) [ 07/Feb/10 ] |
|
making it hard to get releases out, etc.. sometimes |
| Comment by auto [ 03/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 03/Feb/10 ] |
|
<http://buildbot.mongodb.org/builders/Linux%2064-bit%20Legacy/builds/75/steps/test_2/logs/stdio> |
| Comment by auto [ 02/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 02/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 02/Feb/10 ] |
|
bind() sometimes fails even in the absence of a client using the desired port. I've added some debugging to investigate, possibly the ports are used by a process outside the test harness. |
| Comment by auto [ 02/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 02/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 02/Feb/10 ] |
|
Author: {'login': 'astaple', 'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 19/Jan/10 ] |
|
<http://buildbot.mongodb.org/builders/Linux%2064-bit/builds/607/steps/test_2/logs/stdio> |
| Comment by Aaron Staple [ 12/Jan/10 ] |
|
<http://buildbot.mongodb.org/builders/Linux%2032-bit/builds/554/steps/test_2/logs/stdio> |
| Comment by Aaron Staple [ 12/Jan/10 ] |
|
The new port allocation strategy I tried doesn't work well on linux. I'm reverting for now. |
| Comment by auto [ 12/Jan/10 ] |
|
Author: {'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: Revert " This reverts commit 1430432a39e2f1c9c8b937e9ef4124640b9cf00e. |
| Comment by auto [ 12/Jan/10 ] |
|
Author: {'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: Revert " This reverts commit 2460cc0e2d4a2e09bc8f140bc22f4b8a8f442667. |
| Comment by auto [ 12/Jan/10 ] |
|
Author: {'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: Revert " This reverts commit b691dc629e0696de36ba7b7607f4fd7c28a8e86b. |
| Comment by auto [ 11/Jan/10 ] |
|
Author: {'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by auto [ 11/Jan/10 ] |
|
Author: {'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 11/Jan/10 ] |
|
hopefully fixed w/ above commit |
| Comment by auto [ 11/Jan/10 ] |
|
Author: {'name': 'Aaron', 'email': 'aaron@10gen.com'}Message: |
| Comment by Aaron Staple [ 11/Jan/10 ] |
|
<http://buildbot.mongodb.org/builders/Linux%2032-bit/builds/537/steps/test_2/logs/stdio> |
| Comment by Aaron Staple [ 21/Dec/09 ] |
|
<http://buildbot.mongodb.org/builders/Linux%2032-bit/builds/431/steps/test_2/logs/stdio> |