b2 sync fails with Connection error

Aperta
#431 2 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
15/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python
Ambito
cli

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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
Lingua principale
Python
Stelle
638
Fork
138
Merge medio
8h 27m
PR unite (30g)
8

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di Backblaze/B2_Command_Line_Tool

Tutte le issue di Backblaze/B2_Command_Line_Tool

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.