Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Failing Test]: apache_beam.io.requestresponse_test::TestCaller::test_default_throttler possibly flaky #31207

Closed
1 of 16 tasks
tvalentyn opened this issue May 7, 2024 · 1 comment · Fixed by #31247
Closed
1 of 16 tasks

Comments

@tvalentyn
Copy link
Contributor

What happened?

2024-05-07T14:46:46.1190106Z ______________________ TestCaller.test_default_throttler _______________________
2024-05-07T14:46:46.1192949Z [gw3] linux -- Python 3.10.14 /runner/_work/beam/beam/sdks/python/test-suites/tox/py310/build/srcs/sdks/python/target/.tox-py310-cloud/py310-cloud/bin/python
2024-05-07T14:46:46.1195074Z 
2024-05-07T14:46:46.1195926Z self = <apache_beam.io.requestresponse_test.TestCaller testMethod=test_default_throttler>
2024-05-07T14:46:46.1198253Z 
2024-05-07T14:46:46.1199534Z     def test_default_throttler(self):
2024-05-07T14:46:46.1201099Z       caller = CallerWithTimeout()
2024-05-07T14:46:46.1201864Z       throttler = DefaultThrottler(
2024-05-07T14:46:46.1202570Z           window_ms=10000, bucket_ms=5000, overload_ratio=1)
2024-05-07T14:46:46.1203688Z       # manually override the number of received requests for testing.
2024-05-07T14:46:46.1204827Z       throttler.throttler._all_requests.add(time.time() * 1000, 100)
2024-05-07T14:46:46.1205848Z       test_pipeline = TestPipeline()
2024-05-07T14:46:46.1206650Z       _ = (
2024-05-07T14:46:46.1207641Z           test_pipeline
2024-05-07T14:46:46.1208866Z           | beam.Create(['sample_request'])
2024-05-07T14:46:46.1211406Z           | RequestResponseIO(caller=caller, throttler=throttler))
2024-05-07T14:46:46.1212632Z       result = test_pipeline.run()
2024-05-07T14:46:46.1213687Z       result.wait_until_finish()
2024-05-07T14:46:46.1214592Z       metrics = result.metrics().query(
2024-05-07T14:46:46.1216216Z           beam.metrics.MetricsFilter().with_name('throttled_requests'))
2024-05-07T14:46:46.1217747Z >     self.assertEqual(metrics['counters'][0].committed, 1)
2024-05-07T14:46:46.1219442Z E     IndexError: list index out of range
2024-05-07T14:46:46.1220083Z 
2024-05-07T14:46:46.1220520Z apache_beam/io/requestresponse_test.py:147: I

https://github.com/apache/beam/actions/runs/8987274864/job/24685341943?pr=31170

cc: @riteshghorse in case you have time to TAL.

Issue Failure

Failure: Test is flaky

Issue Priority

Priority: 2 (backlog / disabled test but we think the product is healthy)

Issue Components

  • Component: Python SDK
  • Component: Java SDK
  • Component: Go SDK
  • Component: Typescript SDK
  • Component: IO connector
  • Component: Beam YAML
  • Component: Beam examples
  • Component: Beam playground
  • Component: Beam katas
  • Component: Website
  • Component: Spark Runner
  • Component: Flink Runner
  • Component: Samza Runner
  • Component: Twister2 Runner
  • Component: Hazelcast Jet Runner
  • Component: Google Cloud Dataflow Runner
@riteshghorse
Copy link
Contributor

Couldn't reproduce locally. Adding a couple of retries in the event of IndexError in case metrics are not present.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment