tree 51256ca85c66887075ca4c4cdb373d473b71f620
parent 82f5df25df2603e2f5fefb82ea890edac9a98f15
author Dale Emery <demery@vmware.com> 1608232255 -0800
committer GitHub <noreply@github.com> 1608232255 -0800
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJf260/CRBK7hj4Ov3rIwAAdHIIAKPmf/+lXI9GFi3MkxR070o1
 qNOezTh4BlhzUXfxoQT6RE1mDr0HucLyaZyKomvqOa7pVSCBsVoMY+5zmsLgdiDT
 WDKdJLWrMES5FQPeYm6Tjc3lko4eRuI721HT9TbMIx9UxRizHotybthXf1LIgxhB
 c0dond0hWQrneAfOwXhYStJWDYe0iPRrn/oXKGlXIZR3Le2d6rPOBV+s/ATP53vS
 fg7ByJtfwa1ujAMJLQJh/KC2szP4tO539+mQ3PKstZFti4H5j9rdkWm0VwplHS3F
 UnUXW2gNKL5iIPBF6VNhTo//KNPbabUu5DeLxaicPXcYbJrvYZ5pYfaSZQuvA14=
 =5WRm
 -----END PGP SIGNATURE-----
 

Make tests use AvailablePortHelper, not AvailablePort (#5861)

Make nearly all tests use AvailablePortHelper instead of AvailablePort
to obtain ports. See the rationale below.

Also: Remove unused methods from AvailablePort.

Rationale:

AvailablePort is inherently risky as a source of ports for tests.
Each "get available port" method obtains candidate port numbers from the
desired range by randomly sampling with replacement. This means that
multiple calls can return the same port number if the port is not put
into use between calls.

Some tests failed intermittently because they made multiple calls to
AvailablePort, received the same port on multiple calls, and unknowingly
attempted bind multiple sockets to the same port number, resulting in a
BindException. See GEODE-6622 for examples.

AvailablePortHelper does not have this problem. It obtains candidate
port numbers round robin. After returning an available port,
AvailablePortHelper will not return that port again in that JVM until it
has tested every other port in the range for availability.

To reduce the chance of different JVMs selecting each other's ports,
AvailablePortHelper selects a random starting point for its round robin
search in each JVM.

For distributed tests, DUnit further arranges for the
AvailablePortHelper in each JVM to start its round robin search in a
distinct place, maximally distant from the starting points of all other
JVMs. Because AvailablePort selects randomly from the full port range,
it cannot benefit from this techique.

The problems caused by AvailablePort are rare, but inevitable, with a
frequency determined by the total size of the port range. An upcoming
change will make the available port range much smaller (~400 ports
instead of the current ~10000 ports), which will greatly increase the
frequency of this problem. But the problem exists now, and results in
intermittent BindExceptions.