flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mxm <...@git.apache.org>
Subject [GitHub] flink pull request: [FLINK-2490][FIX]Remove the retryForever check...
Date Wed, 12 Aug 2015 08:16:35 GMT
Github user mxm commented on the pull request:

    @HuangWHWHW `read()` method of the `BufferedReader` object returns `-1` in case the end
of the stream has been reached.
    A couple of things I noticed apart from the `retryForever` issue. I wonder if we can fix
these with this pull request as well:
    1. The control flow of the `streamFromSocket` function is hard to predict because there
are many `while` loops with `break`, `continue`, or `throw` statements.
    2. We could use `StringBuilder` instead of `StringBuffer` in this class. `StringBuilder`
is faster in the case of single-threaded access.
    3. The function reads a single character at a time from the socket. It is more efficient
to use a buffer and read several characters at once.
    @HuangWHWHW You asked how you could count the number of retries in a unit test. Typically,
you would insert a `Mock` or a `Spy` into your test method. Unfortunately, this does not work
here because the socket variables is overwritten in case of a retry. So for this test, I would
recommend creating a local `ServerSocket` and let the function connect to this socket. You
can then control the failures from your test socket. 

If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.

View raw message