googleapis/python-bigtable

tests.system.test_instance_admin: test_cluster_disable_autoscaling failed

flaky-bot opened this issue · 1 comments

This test failed!

To configure my behavior, see the Flaky Bot documentation.

If I'm commenting on this issue too often, add the flakybot: quiet label and
I will stop commenting.


commit: e30a34b
buildURL: Build Status, Sponge
status: failed

Test output
args = (cluster {
  name: "projects/precise-truck-742/instances/g-c-p-1660930396039/clusters/g-c-p-1660930396039-cluster"
  l...l1-c"
  serve_nodes: 3
}
update_mask {
  paths: "serve_nodes"
  paths: "cluster_config.cluster_autoscaling_config"
}
,)
kwargs = {'metadata': [('x-goog-request-params', 'cluster.name=projects/precise-truck-742/instances/g-c-p-1660930396039/clusters/g-c-p-1660930396039-cluster'), ('x-goog-api-client', 'gl-python/3.8.12 grpc/1.49.0rc1 gax/2.8.2')]}
@functools.wraps(callable_)
def error_remapped_callable(*args, **kwargs):
    try:
      return callable_(*args, **kwargs)

.nox/system-3-8/lib/python3.8/site-packages/google/api_core/grpc_helpers.py:50:


self = <grpc._channel._UnaryUnaryMultiCallable object at 0x7ffac21e0160>
request = cluster {
name: "projects/precise-truck-742/instances/g-c-p-1660930396039/clusters/g-c-p-1660930396039-cluster"
lo...ral1-c"
serve_nodes: 3
}
update_mask {
paths: "serve_nodes"
paths: "cluster_config.cluster_autoscaling_config"
}

timeout = None
metadata = [('x-goog-request-params', 'cluster.name=projects/precise-truck-742/instances/g-c-p-1660930396039/clusters/g-c-p-1660930396039-cluster'), ('x-goog-api-client', 'gl-python/3.8.12 grpc/1.49.0rc1 gax/2.8.2')]
credentials = None, wait_for_ready = None, compression = None

def __call__(self,
             request,
             timeout=None,
             metadata=None,
             credentials=None,
             wait_for_ready=None,
             compression=None):
    state, call, = self._blocking(request, timeout, metadata, credentials,
                                  wait_for_ready, compression)
  return _end_unary_response_blocking(state, call, False, None)

.nox/system-3-8/lib/python3.8/site-packages/grpc/_channel.py:946:


state = <grpc._channel._RPCState object at 0x7ffac010f250>
call = <grpc._cython.cygrpc.SegregatedCall object at 0x7ffab22d4940>
with_call = False, deadline = None

def _end_unary_response_blocking(state, call, with_call, deadline):
    if state.code is grpc.StatusCode.OK:
        if with_call:
            rendezvous = _MultiThreadedRendezvous(state, call, None, deadline)
            return state.response, rendezvous
        else:
            return state.response
    else:
      raise _InactiveRpcError(state)

E grpc._channel._InactiveRpcError: <_InactiveRpcError of RPC that terminated with:
E status = StatusCode.FAILED_PRECONDITION
E details = "Cannot update cluster that is currently being modified."
E debug_error_string = "UNKNOWN:Error received from peer ipv4:173.194.203.95:443 {grpc_message:"Cannot update cluster that is currently being modified.", grpc_status:9, created_time:"2022-08-19T17:41:55.286176265+00:00"}"
E >

.nox/system-3-8/lib/python3.8/site-packages/grpc/_channel.py:849: _InactiveRpcError

The above exception was the direct cause of the following exception:

admin_instance_populated = <google.cloud.bigtable.instance.Instance object at 0x7ffac00b3760>
admin_cluster_id = 'g-c-p-1660930396039-cluster'
admin_cluster_with_autoscaling = <google.cloud.bigtable.cluster.Cluster object at 0x7ffab279ae50>
serve_nodes = 3, min_serve_nodes = 1, max_serve_nodes = 8
cpu_utilization_percent = 10, skip_on_emulator = None

def test_cluster_disable_autoscaling(
    admin_instance_populated,
    admin_cluster_id,
    admin_cluster_with_autoscaling,
    serve_nodes,
    min_serve_nodes,
    max_serve_nodes,
    cpu_utilization_percent,
    skip_on_emulator,
):
  operation = admin_cluster_with_autoscaling.disable_autoscaling(
        serve_nodes=serve_nodes
    )

tests/system/test_instance_admin.py:843:


google/cloud/bigtable/cluster.py:477: in disable_autoscaling
return client.instance_admin_client.partial_update_cluster(
google/cloud/bigtable_admin_v2/services/bigtable_instance_admin/client.py:1528: in partial_update_cluster
response = rpc(
.nox/system-3-8/lib/python3.8/site-packages/google/api_core/gapic_v1/method.py:154: in call
return wrapped_func(*args, **kwargs)


args = (cluster {
name: "projects/precise-truck-742/instances/g-c-p-1660930396039/clusters/g-c-p-1660930396039-cluster"
l...l1-c"
serve_nodes: 3
}
update_mask {
paths: "serve_nodes"
paths: "cluster_config.cluster_autoscaling_config"
}
,)
kwargs = {'metadata': [('x-goog-request-params', 'cluster.name=projects/precise-truck-742/instances/g-c-p-1660930396039/clusters/g-c-p-1660930396039-cluster'), ('x-goog-api-client', 'gl-python/3.8.12 grpc/1.49.0rc1 gax/2.8.2')]}

@functools.wraps(callable_)
def error_remapped_callable(*args, **kwargs):
    try:
        return callable_(*args, **kwargs)
    except grpc.RpcError as exc:
      raise exceptions.from_grpc_error(exc) from exc

E google.api_core.exceptions.FailedPrecondition: 400 Cannot update cluster that is currently being modified. [retry_delay {
E seconds: 10
E }
E ]

.nox/system-3-8/lib/python3.8/site-packages/google/api_core/grpc_helpers.py:52: FailedPrecondition

Looks like this issue is flaky. 😟

I'm going to leave this open and stop commenting.

A human should fix and close this.


When run at the same commit (e30a34b), this test passed in one build (Build Status, Sponge) and failed in another build (Build Status, Sponge).