[client-test] fix TestFailedDnsResolution

I noticed that ClientTest.TestFailedDnsResolution fails unexpectedly
with the following error when running on macOS:

  src/kudu/client/client-test.cc:3205: Failure
  Value of: s.IsIOError()
    Actual: false
  Expected: true
  unexpected status: OK

It turned out that the scenario didn't expect that
  (a) the results of DNS resolution are cached
  (b) a tablet server's address can be the same as master's

(a) turned true with changelist 48467ccf4, and (b) is true in case of
running test mini-cluster with other than UNIQUE_LOOPBACK bind mode:
e.g., on macOS it's run in LOOPBACK mode.

I updated the scenario to use a non-caching DNS resolver.  I also
increased the timeout for write operations because the scenario
was failing from time to time in case TSAN builds.  In addition, since
timeouts in GetTableLocations RPC are reported two-fold due to the
client's metacache activity, the test was failing rarely due to
receiving other non-expected error message.  I updated the list of
expected error messages to add the missing case.

With this patch, the scenario succeeds on macOS and runs more stable
for Linux TSAN builds.

Change-Id: I0493d992c43adb14ef02efae0a15dddc53301d7d
Reviewed-on: http://gerrit.cloudera.org:8080/17142
Tested-by: Kudu Jenkins
Reviewed-by: Bankim Bhavsar <bankim@cloudera.com>
Reviewed-by: Andrew Wong <awong@cloudera.com>
1 file changed