Uh oh!
There was an error while loading. Please reload this page.
RPC retries (second PR) - #3324
Conversation
googlebot
commented
Apr 24, 2017
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
googlebot
commented
Apr 26, 2017
So there's good news and bad news. 👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there. 😕 The bad news is that it appears that one or more commits were authored by someone other than the pull request submitter. We need to confirm that they're okay with their commits being contributed to this project. Please have them confirm that here in the pull request. Note to project maintainer: This is a terminal state, meaning the |
googlebot
commented
Apr 26, 2017
CLAs look good, thanks! |
dhermes
commented
Apr 27, 2017
@calpeyser The |
| table = instance.table("table") | ||
| # Run test, line by line | ||
| script = open(TEST_SCRIPT, 'r') |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| Sets the row key at which this iterator will begin reading. | ||
| """ | ||
| self.start_key = start_key | ||
| self.start_key_closed = False |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
tseaver
commented
May 15, 2017
Supersedes #3279. |
garye
commented
May 16, 2017
Hi @dhermes, can you help take a look at this? |
There was a problem hiding this comment.
Hi @calpeyser, thanks for submitting.
I have a few concerns about this as given. The principle of retrying when we know that we can seems fine, but I would ask that you do some cleanup before we accept this.
Thank you very much! :-)
| _MILLIS_PER_SECOND = 1000 | ||
| class ReadRowsIterator(): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| if code not in self.retry_options.retry_codes: | ||
| six.reraise(type(error), error) | ||
| # pylint: disable=redefined-variable-type |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| deadline - now) | ||
| self.set_stream() | ||
| six.reraise(errors.RetryError, exc) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| self._validate_chunk(chunk) | ||
| if ("ReadRowsIterator" in |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| test_platform = platform.system() | ||
| if (test_platform not in MOCK_SERVER_URLS): | ||
| self.fail("Retry server not available for platform " + test_platform) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| table = instance.table("table") | ||
| # Run test, line by line | ||
| script = open(TEST_SCRIPT, 'r') |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| if line.startswith("CLIENT:"): | ||
| chunks = line.split(" ") | ||
| op = chunks[1] | ||
| if (op != "SCAN"): |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| process_scan(table, chunks[2], chunks[3]) | ||
| # Clean up | ||
| server.kill() |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| if (op != "SCAN"): | ||
| self.fail("Script contained " + op + " operation. Only \'SCAN\' is supported.") | ||
| else: | ||
| process_scan(table, chunks[2], chunks[3]) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
| return StatusCode.DEADLINE_EXCEEDED | ||
| def _wait_then_raise(): | ||
| time.sleep(0.5) |
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
This comment was marked as spam.
This comment was marked as spam.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
calpeyser
commented
Jun 9, 2017
@lukesneeringer@garye - I've attempted to address the comments above. Thanks for bearing with me! |
mbrukman
commented
Jun 29, 2017
@calpeyser -- looks like you have some conflicts with the base branch, please resolve them. @lukesneeringer, @garye -- please take a look at the PR, it would be great to merge this functionality soon. Thanks everyone! |
garye
commented
Jul 14, 2017
LGTM from a bigtable perspective |
calpeyser
commented
Jul 14, 2017
Conflict resolved, tests are passing. @lukesneeringer, what do you think? |
lukesneeringer
commented
Jul 17, 2017
Reading now |
lukesneeringer
left a comment
There was a problem hiding this comment.
This seems fine to me at this point.
calpeyser
commented
Jul 17, 2017
@lukesneeringer - can you merge it? Neither I nor @garye have write permissions. |
lukesneeringer
commented
Jul 17, 2017
🎉 |
mbrukman
commented
Jul 17, 2017
Thank you @calpeyser for your work on this and thanks to @garye and @lukesneeringer for the reviews! |
dhermes
commented
Jul 20, 2017
This caused a system test breakage, I'm very tempted to roll it back and iterate in a PR / branch until the system tests are passing |
This reverts commit 67f4ba4.
This reverts commit 67f4ba4.
This reverts commit 67f4ba4.
This reverts commit 67f4ba4.
Since the repo's layout has changed significantly since the last PR, I've opened a new PR. I've attempted to address the comments from the last go-around - please have a look.