b2 sync fails with Connection error

オープン
#431 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
15/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
python
領域
cli

調査の方向性

The traceback runs from b2/sync/sync.py through b2/bucket.py and b2/raw_api.py into b2/b2http.py, where _translate_errors raises B2ConnectionError and _translate_and_retry handles retries. Start by reading those retry and error paths and reproducing a connection reset or DNS failure against a mocked endpoint. The issue itself asks two questions (how to resume a sync, and how to prevent the failure), so a first step is agreeing with maintainers on what behaviour to change.

索引モデルが issue の本文から書いたものです。

説明

invalid/environmental

My b2 sync will run for a few weeks and then eventually there will be this traceback and any subsqeuent attempt to sync will fail with an error. How do I start my sync again, and how do I prevent this from happening again?

ERROR:b2.console_tool:ConsoleTool command error
Traceback (most recent call last):
  File "build/bdist.linux-x86_64/egg/b2/console_tool.py", line 1031, in run_command
    return command.run(args)
  File "build/bdist.linux-x86_64/egg/b2/console_tool.py", line 816, in run
    allow_empty_source=args.allowEmptySource,
  File "/usr/local/lib/python2.7/dist-packages/logfury-0.1.2-py2.7.egg/logfury/v0_1/trace_call.py", line 84, in wrapper
    return function(*wrapee_args, **wrapee_kwargs)
  File "build/bdist.linux-x86_64/egg/b2/sync/sync.py", line 261, in sync_folders
    source_folder, dest_folder, args, now_millis, reporter
  File "build/bdist.linux-x86_64/egg/b2/sync/sync.py", line 135, in make_folder_sync_actions
    dest_file) in zip_folders(source_folder, dest_folder, reporter, exclusions, inclusions):
  File "build/bdist.linux-x86_64/egg/b2/sync/sync.py", line 93, in zip_folders
    current_b = next_or_none(iter_b)
  File "build/bdist.linux-x86_64/egg/b2/sync/sync.py", line 36, in next_or_none
    return six.advance_iterator(iterator)
  File "build/bdist.linux-x86_64/egg/b2/sync/folder.py", line 201, in all_files
    self.folder_name, show_versions=True, recursive=True, fetch_count=1000
  File "build/bdist.linux-x86_64/egg/b2/bucket.py", line 208, in ls
    self.id_, start_file_name, start_file_id, fetch_count
  File "build/bdist.linux-x86_64/egg/b2/session.py", line 38, in wrapper
    return f(api_url, account_auth_token, *args, **kwargs)
  File "build/bdist.linux-x86_64/egg/b2/raw_api.py", line 361, in list_file_versions
    maxFileCount=max_file_count
  File "build/bdist.linux-x86_64/egg/b2/raw_api.py", line 138, in _post_json
    return self.b2_http.post_json_return_json(url, headers, params)
  File "build/bdist.linux-x86_64/egg/b2/b2http.py", line 299, in post_json_return_json
    return self.post_content_return_json(url, headers, data, try_count, params)
  File "build/bdist.linux-x86_64/egg/b2/b2http.py", line 272, in post_content_return_json
    response = _translate_and_retry(do_post, try_count, post_params)
  File "build/bdist.linux-x86_64/egg/b2/b2http.py", line 116, in _translate_and_retry
    return _translate_errors(fcn, post_params)
  File "build/bdist.linux-x86_64/egg/b2/b2http.py", line 76, in _translate_errors
    raise B2ConnectionError(str(e0))
B2ConnectionError: Connection error: ('Connection aborted.', error(104, 'Connection reset by peer'))
ERROR: Connection error: ('Connection aborted.', error(104, 'Connection reset by peer'))
Sat Mar 3 00:08:32 PST 2018
ERROR: Connection error: HTTPSConnectionPool(host='api001.backblazeb2.com', port=443): Max retries exceeded with url: /b2api/v1/b2_list_buckets (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f8f67db3950>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Sun Mar 4 00:00:02 PST 2018
ERROR: Connection error: HTTPSConnectionPool(host='api001.backblazeb2.com', port=443): Max retries exceeded with url: /b2api/v1/b2_list_buckets (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f291064d950>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Mon Mar 5 00:00:02 PST 2018
ERROR: Connection error: HTTPSConnectionPool(host='api001.backblazeb2.com', port=443): Max retries exceeded with url: /b2api/v1/b2_list_buckets (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f08bd22a950>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Tue Mar 6 00:00:02 PST 2018
ERROR: Connection error: HTTPSConnectionPool(host='api001.backblazeb2.com', port=443): Max retries exceeded with url: /b2api/v1/b2_list_buckets (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f950737b950>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Wed Mar 7 00:00:02 PST 2018
ERROR: Connection error: HTTPSConnectionPool(host='api001.backblazeb2.com', port=443): Max retries exceeded with url: /b2api/v1/b2_list_buckets (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f6306ddb950>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Thu Mar 8 00:00:02 PST 2018
ERROR: Connection error: HTTPSConnectionPool(host='api001.backblazeb2.com', port=443): Max retries exceeded with url: /b2api/v1/b2_list_buckets (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x7f84ef093950>: Failed to establish a new connection: [Errno -2] Name or service not known',))
Fri Mar 9 00:00:02 PST 2018
主要言語
Python
スター
638
フォーク
138
平均マージ
8時間 27分
マージ済み PR(30日)
8

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

Backblaze/B2_Command_Line_Tool のほかの issue

Backblaze/B2_Command_Line_Tool の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。