Title: 'test_cluster_create' systest flakes with 'TimeoutError' · Issue #451 · googleapis/python-bigtable · GitHub
Open Graph Title: 'test_cluster_create' systest flakes with 'TimeoutError' · Issue #451 · googleapis/python-bigtable
X Title: 'test_cluster_create' systest flakes with 'TimeoutError' · Issue #451 · googleapis/python-bigtable
Description: From this failed systest build: _____________________________ test_cluster_create ______________________________ target = functools.partial( Open Graph Description: From this failed systest build: _____________________________ test_cluster_create ______________________________ target = functools.partial( X Description: From this failed systest build: _____________________________ test_cluster_create ______________________________ target = functools.partial(<bound method PollingFuture._done_or_raise of <goog...
Opengraph URL: https://github.com/googleapis/python-bigtable/issues/451
X: @github
Domain: github.com
Links:
Viewport: width=device-width
Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"'test_cluster_create' systest flakes with 'TimeoutError'","articleBody":"From [this failed systest build](https://source.cloud.google.com/results/invocations/924fbb8c-f387-482d-8767-c16abd2de9e2/targets/cloud-devrel%2Fclient-libraries%2Fpython%2Fgoogleapis%2Fpython-bigtable%2Fpresubmit%2Fsystem-3.8/log):\r\n\r\n```python\r\n_____________________________ test_cluster_create ______________________________\r\n\r\ntarget = functools.partial(\u003cbound method PollingFuture._done_or_raise of \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\u003e)\r\npredicate = \u003cfunction if_exception_type.\u003clocals\u003e.if_exception_type_predicate at 0x7f4d5ef43ee0\u003e\r\nsleep_generator = \u003cgenerator object exponential_sleep_generator at 0x7f4d5c1b1660\u003e\r\ndeadline = 30, on_error = None\r\n\r\n def retry_target(target, predicate, sleep_generator, deadline, on_error=None):\r\n \"\"\"Call a function and retry if it fails.\r\n\r\n This is the lowest-level retry helper. Generally, you'll use the\r\n higher-level retry helper :class:`Retry`.\r\n\r\n Args:\r\n target(Callable): The function to call and retry. This must be a\r\n nullary function - apply arguments with `functools.partial`.\r\n predicate (Callable[Exception]): A callable used to determine if an\r\n exception raised by the target should be considered retryable.\r\n It should return True to retry or False otherwise.\r\n sleep_generator (Iterable[float]): An infinite iterator that determines\r\n how long to sleep between retries.\r\n deadline (float): How long to keep retrying the target. The last sleep\r\n period is shortened as necessary, so that the last retry runs at\r\n ``deadline`` (and not considerably beyond it).\r\n on_error (Callable[Exception]): A function to call while processing a\r\n retryable exception. Any error raised by this function will *not*\r\n be caught.\r\n\r\n Returns:\r\n Any: the return value of the target function.\r\n\r\n Raises:\r\n google.api_core.RetryError: If the deadline is exceeded while retrying.\r\n ValueError: If the sleep generator stops yielding values.\r\n Exception: If the target raises a method that isn't retryable.\r\n \"\"\"\r\n if deadline is not None:\r\n deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(\r\n seconds=deadline\r\n )\r\n else:\r\n deadline_datetime = None\r\n\r\n last_exc = None\r\n\r\n for sleep in sleep_generator:\r\n try:\r\n\u003e return target()\r\n\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/retry.py:190:\r\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n\r\nself = \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\r\nretry = \u003cgoogle.api_core.retry.Retry object at 0x7f4d5f0bad60\u003e\r\n\r\n def _done_or_raise(self, retry=DEFAULT_RETRY):\r\n \"\"\"Check if the future is done and raise if it's not.\"\"\"\r\n kwargs = {} if retry is DEFAULT_RETRY else {\"retry\": retry}\r\n\r\n if not self.done(**kwargs):\r\n\u003e raise _OperationNotComplete()\r\nE google.api_core.future.polling._OperationNotComplete\r\n\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/future/polling.py:89: _OperationNotComplete\r\n\r\nThe above exception was the direct cause of the following exception:\r\n\r\nself = \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\r\ntimeout = 30, retry = \u003cgoogle.api_core.retry.Retry object at 0x7f4d5f0bad60\u003e\r\n\r\n def _blocking_poll(self, timeout=None, retry=DEFAULT_RETRY):\r\n \"\"\"Poll and wait for the Future to be resolved.\r\n\r\n Args:\r\n timeout (int):\r\n How long (in seconds) to wait for the operation to complete.\r\n If None, wait indefinitely.\r\n \"\"\"\r\n if self._result_set:\r\n return\r\n\r\n retry_ = self._retry.with_deadline(timeout)\r\n\r\n try:\r\n kwargs = {} if retry is DEFAULT_RETRY else {\"retry\": retry}\r\n\u003e retry_(self._done_or_raise)(**kwargs)\r\n\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/future/polling.py:110:\r\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n\r\nargs = (), kwargs = {}\r\ntarget = functools.partial(\u003cbound method PollingFuture._done_or_raise of \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\u003e)\r\nsleep_generator = \u003cgenerator object exponential_sleep_generator at 0x7f4d5c1b1660\u003e\r\n\r\n @functools.wraps(func)\r\n def retry_wrapped_func(*args, **kwargs):\r\n \"\"\"A wrapper that calls target function with retry.\"\"\"\r\n target = functools.partial(func, *args, **kwargs)\r\n sleep_generator = exponential_sleep_generator(\r\n self._initial, self._maximum, multiplier=self._multiplier\r\n )\r\n\u003e return retry_target(\r\n target,\r\n self._predicate,\r\n sleep_generator,\r\n self._deadline,\r\n on_error=on_error,\r\n )\r\n\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/retry.py:283:\r\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n\r\ntarget = functools.partial(\u003cbound method PollingFuture._done_or_raise of \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\u003e)\r\npredicate = \u003cfunction if_exception_type.\u003clocals\u003e.if_exception_type_predicate at 0x7f4d5ef43ee0\u003e\r\nsleep_generator = \u003cgenerator object exponential_sleep_generator at 0x7f4d5c1b1660\u003e\r\ndeadline = 30, on_error = None\r\n\r\n def retry_target(target, predicate, sleep_generator, deadline, on_error=None):\r\n \"\"\"Call a function and retry if it fails.\r\n\r\n This is the lowest-level retry helper. Generally, you'll use the\r\n higher-level retry helper :class:`Retry`.\r\n\r\n Args:\r\n target(Callable): The function to call and retry. This must be a\r\n nullary function - apply arguments with `functools.partial`.\r\n predicate (Callable[Exception]): A callable used to determine if an\r\n exception raised by the target should be considered retryable.\r\n It should return True to retry or False otherwise.\r\n sleep_generator (Iterable[float]): An infinite iterator that determines\r\n how long to sleep between retries.\r\n deadline (float): How long to keep retrying the target. The last sleep\r\n period is shortened as necessary, so that the last retry runs at\r\n ``deadline`` (and not considerably beyond it).\r\n on_error (Callable[Exception]): A function to call while processing a\r\n retryable exception. Any error raised by this function will *not*\r\n be caught.\r\n\r\n Returns:\r\n Any: the return value of the target function.\r\n\r\n Raises:\r\n google.api_core.RetryError: If the deadline is exceeded while retrying.\r\n ValueError: If the sleep generator stops yielding values.\r\n Exception: If the target raises a method that isn't retryable.\r\n \"\"\"\r\n if deadline is not None:\r\n deadline_datetime = datetime_helpers.utcnow() + datetime.timedelta(\r\n seconds=deadline\r\n )\r\n else:\r\n deadline_datetime = None\r\n\r\n last_exc = None\r\n\r\n for sleep in sleep_generator:\r\n try:\r\n return target()\r\n\r\n # pylint: disable=broad-except\r\n # This function explicitly must deal with broad exceptions.\r\n except Exception as exc:\r\n if not predicate(exc):\r\n raise\r\n last_exc = exc\r\n if on_error is not None:\r\n on_error(exc)\r\n\r\n now = datetime_helpers.utcnow()\r\n\r\n if deadline_datetime is not None:\r\n if deadline_datetime \u003c= now:\r\n\u003e raise exceptions.RetryError(\r\n \"Deadline of {:.1f}s exceeded while calling {}\".format(\r\n deadline, target\r\n ),\r\n last_exc,\r\n ) from last_exc\r\nE google.api_core.exceptions.RetryError: Deadline of 30.0s exceeded while calling functools.partial(\u003cbound method PollingFuture._done_or_raise of \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\u003e), last exception:\r\n\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/retry.py:205: RetryError\r\n\r\nDuring handling of the above exception, another exception occurred:\r\n\r\nadmin_instance_populated = \u003cgoogle.cloud.bigtable.instance.Instance object at 0x7f4d5eef10a0\u003e\r\nadmin_instance_id = 'g-c-p-1634667466967', skip_on_emulator = None\r\n\r\n def test_cluster_create(\r\n admin_instance_populated, admin_instance_id, skip_on_emulator,\r\n ):\r\n alt_cluster_id = f\"{admin_instance_id}-c2\"\r\n alt_location_id = \"us-central1-f\"\r\n serve_nodes = 2\r\n\r\n cluster_2 = admin_instance_populated.cluster(\r\n alt_cluster_id,\r\n location_id=alt_location_id,\r\n serve_nodes=serve_nodes,\r\n default_storage_type=(enums.StorageType.SSD),\r\n )\r\n operation = cluster_2.create()\r\n\u003e operation.result(timeout=30) # Ensure the operation completes.\r\n\r\ntests/system/test_instance_admin.py:576:\r\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/future/polling.py:132: in result\r\n self._blocking_poll(timeout=timeout, **kwargs)\r\n_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _\r\n\r\nself = \u003cgoogle.api_core.operation.Operation object at 0x7f4d5c321d30\u003e\r\ntimeout = 30, retry = \u003cgoogle.api_core.retry.Retry object at 0x7f4d5f0bad60\u003e\r\n\r\n def _blocking_poll(self, timeout=None, retry=DEFAULT_RETRY):\r\n \"\"\"Poll and wait for the Future to be resolved.\r\n\r\n Args:\r\n timeout (int):\r\n How long (in seconds) to wait for the operation to complete.\r\n If None, wait indefinitely.\r\n \"\"\"\r\n if self._result_set:\r\n return\r\n\r\n retry_ = self._retry.with_deadline(timeout)\r\n\r\n try:\r\n kwargs = {} if retry is DEFAULT_RETRY else {\"retry\": retry}\r\n retry_(self._done_or_raise)(**kwargs)\r\n except exceptions.RetryError:\r\n\u003e raise concurrent.futures.TimeoutError(\r\n \"Operation did not complete within the designated \" \"timeout.\"\r\n )\r\nE concurrent.futures._base.TimeoutError: Operation did not complete within the designated timeout.\r\n\r\n.nox/system-3-8/lib/python3.8/site-packages/google/api_core/future/polling.py:112: TimeoutError\r\n```","author":{"url":"https://github.com/tseaver","@type":"Person","name":"tseaver"},"datePublished":"2021-10-19T18:42:56.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/451/python-bigtable/issues/451"}
route-pattern /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) route-controller voltron_issues_fragments route-action issue_layout fetch-nonce v2:3cc44744-aa9e-fd1b-a640-2b901ed13fff current-catalog-service-hash 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 request-id 878C:B6C89:2A6C1BC:3A0C7B8:6A4EFDA3 html-safe-nonce f98d44977be914160301cad161b6d8de5c98df3f020e10ce86707e6c5986654e visitor-payload eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NzhDOkI2Qzg5OjJBNkMxQkM6M0EwQzdCODo2QTRFRkRBMyIsInZpc2l0b3JfaWQiOiI2MzE0MTY1NDU2Njc3NTY3OTA3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= visitor-hmac bf88388318431b644cac337c7aa0b29de6676a923bd43a7643369a760b532786 hovercard-subject-tag issue:1030631055 github-keyboard-shortcuts repository,issues,copilot google-site-verification Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I octolytics-url https://collector.github.com/github/collect analytics-location / fb:app_id 1401488693436528 apple-itunes-app app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/googleapis/python-bigtable/451/issue_layout twitter:image https://opengraph.githubassets.com/a2a925cad3bac7a3e4df23aca7bc885c5fce14d4d3bc0719932a297a8435585b/googleapis/python-bigtable/issues/451 twitter:card summary_large_image og:image https://opengraph.githubassets.com/a2a925cad3bac7a3e4df23aca7bc885c5fce14d4d3bc0719932a297a8435585b/googleapis/python-bigtable/issues/451 og:image:alt From this failed systest build: _____________________________ test_cluster_create ______________________________ target = functools.partial( og:image:width 1200 og:image:height 600 og:site_name GitHub og:type object og:author:username tseaver hostname github.com expected-hostname github.com None b92d11c0aa4a77d54ef4af1078b6a15fb5a70a215b30c4ecf28889d5a8e656d9 turbo-cache-control no-preview go-import github.com/googleapis/python-bigtable git https://github.com/googleapis/python-bigtable.git octolytics-dimension-user_id 16785467 octolytics-dimension-user_login googleapis octolytics-dimension-repository_id 226992487 octolytics-dimension-repository_nwo googleapis/python-bigtable octolytics-dimension-repository_public true octolytics-dimension-repository_is_fork false octolytics-dimension-repository_network_root_id 226992487 octolytics-dimension-repository_network_root_nwo googleapis/python-bigtable turbo-body-classes logged-out env-production page-responsive disable-turbo false browser-stats-url https://api.github.com/_private/browser/stats browser-errors-url https://api.github.com/_private/browser/errors release 2b8f23afb982271f1b22258a94aede67a6b77760 ui-target full theme-color #1e2327 color-scheme light dark
URLs of crawlers that visited me.