Title: Started getting random ValueError: Bad response: not multi-part exceptions · Issue #404 · googleapis/python-storage · GitHub
Open Graph Title: Started getting random ValueError: Bad response: not multi-part exceptions · Issue #404 · googleapis/python-storage
X Title: Started getting random ValueError: Bad response: not multi-part exceptions · Issue #404 · googleapis/python-storage
Description: Thanks for stopping by to let us know something could be better! PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. This will ensure a timely response. Plea...
Open Graph Description: Thanks for stopping by to let us know something could be better! PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. ...
X Description: Thanks for stopping by to let us know something could be better! PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. ...
Opengraph URL: https://github.com/googleapis/python-storage/issues/404
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Started getting random ValueError: Bad response: not multi-part exceptions ","articleBody":"Thanks for stopping by to let us know something could be better!\r\n\r\n**PLEASE READ**: If you have a support contract with Google, please create an issue in the [support console](https://cloud.google.com/support/) instead of filing on GitHub. This will ensure a timely response.\r\n\r\nPlease run down the following list and make sure you've tried the usual \"quick fixes\":\r\n\r\n - Search the issues already opened: https://github.com/googleapis/python-storage/issues\r\n - Search StackOverflow: https://stackoverflow.com/questions/tagged/google-cloud-platform+python\r\n\r\nIf you are still having issues, please be sure to include as much information as possible:\r\n\r\n#### Environment details\r\n\r\n - OS type and version: Debian GNU/Linux 10 (buster)\r\n - Python version: Python 3.7.7\r\n - pip version: pip 21.0.1\r\n - `google-cloud-storage` version: 1.37.0\r\n\r\n#### Steps to reproduce\r\n\r\n 1. I cannot reproduce this because it is happening periodically, and only in my production flask app, not even on the same docker image running in staging with less traffic. This makes me think its related to some threading related issue, but I can't isolate the problem. \r\n 2. This problem started without any code changes on our side, and without changing the docker image, so something changed in the google cloud storage server response behavior that started triggering this sometime starting on March 30, and then ramping up in frequency on April 1st and 2nd. \r\n\r\n#### Code example\r\n\r\nI don't have a concise code example. But it's being triggered with\r\nget_blob(key).\r\n\r\n\r\n#### Stack trace\r\n```\r\ntraceback: [\r\n0: \"Traceback (most recent call last):\r\n\"\r\n1: \" File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1950, in full_dispatch_request\r\n rv = self.dispatch_request()\r\n\"\r\n2: \" File \"/usr/local/lib/python3.7/site-packages/flask/app.py\", line 1936, in dispatch_request\r\n return self.view_functions[rule.endpoint](**req.view_args)\r\n\"\r\n3: \" File \"/usr/local/lib/python3.7/site-packages/middle_auth_client/decorators.py\", line 171, in decorated_function\r\n return f(*args, **kwargs)\r\n\"\r\n4: \" File \"/usr/local/lib/python3.7/site-packages/middle_auth_client/decorators.py\", line 253, in decorated_function\r\n return f(*args, **kwargs)\r\n\"\r\n5: \" File \"./pychunkedgraph/app/meshing/v1/routes.py\", line 75, in handle_get_manifest\r\n return common.handle_get_manifest(table_id, node_id)\r\n\"\r\n6: \" File \"./pychunkedgraph/app/meshing/common.py\", line 204, in handle_get_manifest\r\n flexible_start_layer=flexible_start_layer\r\n\"\r\n7: \" File \"./pychunkedgraph/meshing/meshgen_utils.py\", line 152, in get_highest_child_nodes_with_meshes\r\n existence_dict = stor.files_exist(filenames)\r\n\"\r\n8: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/storage/storage.py\", line 584, in files_exist\r\n self.wait(desc)\r\n\"\r\n9: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/threaded_queue.py\", line 234, in wait\r\n self._check_errors()\r\n\"\r\n10: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/threaded_queue.py\", line 191, in _check_errors\r\n raise err\r\n\"\r\n11: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/threaded_queue.py\", line 153, in _consume_queue\r\n self._consume_queue_execution(fn)\r\n\"\r\n12: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/threaded_queue.py\", line 180, in _consume_queue_execution\r\n fn()\r\n\"\r\n13: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/storage/storage.py\", line 575, in exist_thunk\r\n results.update(interface.files_exist(paths))\r\n\"\r\n14: \" File \"/usr/local/lib/python3.7/site-packages/cloudvolume/storage/storage_interfaces.py\", line 240, in files_exist\r\n result[file_path] = self._bucket.get_blob(key)\r\n\"\r\n15: \" File \"/usr/local/lib/python3.7/site-packages/google/cloud/storage/batch.py\", line 296, in __exit__\r\n self.finish()\r\n\"\r\n16: \" File \"/usr/local/lib/python3.7/site-packages/google/cloud/storage/batch.py\", line 281, in finish\r\n responses = list(_unpack_batch_response(response))\r\n\"\r\n17: \" File \"/usr/local/lib/python3.7/site-packages/google/cloud/storage/batch.py\", line 334, in _unpack_batch_response\r\n raise ValueError(\"Bad response: not multi-part\")\r\n\"\r\n18: \"ValueError: Bad response: not multi-part\r\n```\r\n\r\nMaking sure to follow these steps will guarantee the quickest resolution possible.\r\n\r\nThanks!\r\n","author":{"url":"https://github.com/fcollman","@type":"Person","name":"fcollman"},"datePublished":"2021-04-02T21:45:12.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":9},"url":"https://github.com/404/python-storage/issues/404"}
| 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:36b4e40e-07b3-065f-f5ca-c445b9f66448 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | D49A:44273:749AB:A69BB:6A4E240A |
| html-safe-nonce | 100540c6cac1881f1bf809020726423e7dc4d8e730102aff4e79adee5872e70b |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJENDlBOjQ0MjczOjc0OUFCOkE2OUJCOjZBNEUyNDBBIiwidmlzaXRvcl9pZCI6IjQwMDE3Nzk1NDE1Mjk3MzIxMDYiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 26a270c902052dc4a75fa9db9c7ec7cc7c7fb5d145d0c1be6e8db471a9e45cb4 |
| hovercard-subject-tag | issue:849497669 |
| 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-storage/404/issue_layout |
| twitter:image | https://opengraph.githubassets.com/ac98601ad33c84f8ac0a42d551d00014896fecd6a4d7e979119d068be33edc85/googleapis/python-storage/issues/404 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/ac98601ad33c84f8ac0a42d551d00014896fecd6a4d7e979119d068be33edc85/googleapis/python-storage/issues/404 |
| og:image:alt | Thanks for stopping by to let us know something could be better! PLEASE READ: If you have a support contract with Google, please create an issue in the support console instead of filing on GitHub. ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | fcollman |
| hostname | github.com |
| expected-hostname | github.com |
| None | 030096ee0db095447bfe77409d33bfac127ca7128299c58deef27c52eaa1b1f0 |
| turbo-cache-control | no-preview |
| go-import | github.com/googleapis/python-storage git https://github.com/googleapis/python-storage.git |
| octolytics-dimension-user_id | 16785467 |
| octolytics-dimension-user_login | googleapis |
| octolytics-dimension-repository_id | 226992639 |
| octolytics-dimension-repository_nwo | googleapis/python-storage |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 226992639 |
| octolytics-dimension-repository_network_root_nwo | googleapis/python-storage |
| 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 | 5fe497b4815fcce3df76c0e246faa739a82c3124 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width