storj/cmd/uplink
Michał Niewrzał 4f2fae4f28 cmd/uplink: better error handling for parallel transfer
Few improvements were made to how we are handling errors
while doing parallel upload/download for single object:
* unhide error under 'context canceled' which was shown in most of
cases
* add part number to error message
* don't try to commit if any error occurs while operation
* combine errors into more readable form, example:

---
failed to download part 3: uplink: eestream: failed to download stripe 0:
error retrieving piece 00: ecclient: piecestore: rpc: tcp connector failed: rpc: dial tcp 97.119.158.36:28967: i/o timeout
...
error retrieving piece 89: ecclient: piecestore: rpc: tcp connector failed: rpc: dial tcp 161.129.152.194:28967: i/o timeout
failed to download part 1: uplink: eestream: failed to download stripe 0:
error retrieving piece 01: io: read/write on closed pipe
...
error retrieving piece 97: io: read/write on closed pipe
failed to download part 2: uplink: eestream: failed to download stripe 0:
error retrieving piece 00: io: read/write on closed pipe
...
error retrieving piece 01: ecclient: piecestore: rpc: tcp connector failed: rpc: dial tcp 180.183.132.234:28967: operation was canceled
error retrieving piece 96: io: read/write on closed pipe
	main.(*cmdCp).parallelCopy:418
	main.(*cmdCp).copyFile:262
	main.(*cmdCp).Execute:156
	main.(*external).Wrap:123
	github.com/zeebo/clingy.(*Environment).dispatchDesc:126
	github.com/zeebo/clingy.(*Environment).dispatch:53
	github.com/zeebo/clingy.Environment.Run:34
	main.main:26
	runtime.main:250
---

Change-Id: I9bb70b3f754567761fa8d17bef8ef59b0709e33b
2022-05-27 14:00:35 +00:00
..
cmd cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
ulext cmd/uplink: cp sets connection pool capacity based on parallelism 2022-04-21 14:10:08 +00:00
ulfs cmd/uplink: bring back --metadata for cp command 2022-05-18 15:58:53 +00:00
ulloc cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
ultest cmd/uplink: bring back --metadata for cp command 2022-05-18 15:58:53 +00:00
access_maker.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
access_permissions.go cmd/uplink: refactor date parsing 2022-04-05 01:03:20 +00:00
cmd_access_create.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_export.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_import.go cmd/uplink: return nicer error message during import 2022-04-27 09:30:57 +00:00
cmd_access_inspect_test.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_inspect.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_list.go cmd/uplink: allow listing invalid access grants 2022-05-17 20:00:36 +00:00
cmd_access_register.go uplink, satellite: use bgp hostnames 2022-05-16 18:14:37 +00:00
cmd_access_remove.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_restrict.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_revoke.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_access_setup.go uplink, satellite: use bgp hostnames 2022-05-16 18:14:37 +00:00
cmd_access_use.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_cp_test.go cmd/uplink: bring back --metadata for cp command 2022-05-18 15:58:53 +00:00
cmd_cp.go cmd/uplink: better error handling for parallel transfer 2022-05-27 14:00:35 +00:00
cmd_ls_test.go cmd/uplink: fix recursive copy and improve tests 2022-05-11 15:17:16 -04:00
cmd_ls.go cmd/uplink: adding output flag for ls command 2022-04-29 10:32:04 +00:00
cmd_mb.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_meta_get.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_mv_test.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_mv.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_rb.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_rm_test.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_rm.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
cmd_share_test.go cmd/uplinkng: fix linkshare bugs 2022-03-03 16:00:10 +00:00
cmd_share.go uplink, satellite: use bgp hostnames 2022-05-16 18:14:37 +00:00
cmd_version.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
external_access.go cmd/uplink: return nicer error message during import 2022-04-27 09:30:57 +00:00
external_config.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
external_migrate.go cmd/uplink: fix migration for some old configs 2022-02-16 21:13:52 +00:00
external_project.go cmd/uplink: fix recursive copy and improve tests 2022-05-11 15:17:16 -04:00
external.go all: fix linting errors 2022-03-30 18:45:23 +03:00
initial_setup.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
main.go cmd/uplink: raise fd limits 2022-04-27 18:11:44 +00:00
stdlib_flags_test.go cmd/uplink: refactor date parsing 2022-04-05 01:03:20 +00:00
stdlib_flags.go cmd/uplink: bring back --metadata for cp command 2022-05-18 15:58:53 +00:00
tabbed_writer.go cmd/uplinkng: become cmd/uplink 2022-02-09 17:02:21 +00:00
ulimit_other.go cmd/uplink: raise fd limits 2022-04-27 18:11:44 +00:00
ulimit.go cmd/uplink: raise fd limits 2022-04-27 18:11:44 +00:00