Skip to content

Commit

Permalink
fix(sample): retry InternalServerError (#329)
Browse files Browse the repository at this point in the history
fixes #321
  • Loading branch information
Takashi Matsuo committed Mar 15, 2021
1 parent 5a97ef1 commit 34c9b11
Showing 1 changed file with 16 additions and 8 deletions.
24 changes: 16 additions & 8 deletions samples/snippets/subscriber_test.py
Expand Up @@ -18,6 +18,7 @@

import backoff
from flaky import flaky
from google.api_core.exceptions import InternalServerError
from google.api_core.exceptions import NotFound
from google.api_core.exceptions import Unknown
from google.cloud import pubsub_v1
Expand Down Expand Up @@ -245,7 +246,7 @@ def test_receive_with_delivery_attempts(

# The dlq subscription raises 404 before it's ready.
# We keep retrying up to 10 minutes for mitigating the flakiness.
@backoff.on_exception(backoff.expo, (Unknown, NotFound), max_time=600)
@backoff.on_exception(backoff.expo, (Unknown, NotFound), max_time=120)
def run_sample():
_publish_messages(publisher_client, topic)

Expand All @@ -260,13 +261,20 @@ def run_sample():

@flaky(max_runs=3, min_passes=1)
def test_update_dead_letter_policy(subscription_dlq, dead_letter_topic, capsys):
_ = subscriber.update_subscription_with_dead_letter_policy(
PROJECT_ID,
TOPIC,
SUBSCRIPTION_DLQ,
DEAD_LETTER_TOPIC,
UPDATED_MAX_DELIVERY_ATTEMPTS,
)

# We saw internal server error that suggests to retry.

@backoff.on_exception(backoff.expo, (Unknown, InternalServerError), max_time=60)
def run_sample():
subscriber.update_subscription_with_dead_letter_policy(
PROJECT_ID,
TOPIC,
SUBSCRIPTION_DLQ,
DEAD_LETTER_TOPIC,
UPDATED_MAX_DELIVERY_ATTEMPTS,
)

run_sample()

out, _ = capsys.readouterr()
assert dead_letter_topic in out
Expand Down

0 comments on commit 34c9b11

Please sign in to comment.