zrepl/cmd
Christian Schwarz 6b5bd0a43c job pull + source: fix broken connection teardown
Issue #56 shows zombie SSH processes.
We fix this by actually Close()ing the RWC in job pull.
If this fixes #56 it also fixes #6 --- it's the same issue.

Additionally, debugging around this revealed another issue: just
Close()ing the sshbytestream in job source will apparently outpace the
normal data stream of stdin and stdout (URG or PUSH flags?).  leading
to ugly errors in the logs.
With proper TCP connections, we would simply set the connection to
linger and close it, letting the kernel handle the final timeout. Meh.

refs #56
refs #6
2018-02-16 20:57:27 +01:00
..
sampleconf cmd/sampleconf/zrep.yml: remove it, it's from the stone ages 2017-10-05 21:48:18 +02:00
autosnap.go IntervalAutosnap: refactor + use Task API 2017-12-27 14:39:46 +01:00
bashcomp.go bash completions: hidden subcommand + integrate into Makefile 2017-12-27 14:39:46 +01:00
config_connect.go config: unify job debugging options 2017-09-11 15:45:10 +02:00
config_fsvfilter.go refactor: parametrize PrefixFilter VersionType check 2017-11-13 10:59:22 +01:00
config_job_control.go job control: implement JobStatus 2017-12-27 14:39:46 +01:00
config_job_local.go job local: refactor + use Task API 2017-12-27 18:34:24 +01:00
config_job_pull.go job pull + source: fix broken connection teardown 2018-02-16 20:57:27 +01:00
config_job_source.go job pull + source: fix broken connection teardown 2018-02-16 20:57:27 +01:00
config_logging.go logger.Outlet: WriteEntry must not block 2017-12-29 17:21:58 +01:00
config_mapfilter.go mappings: fix aliasing bug with '<' wildcards 2017-10-05 20:10:05 +02:00
config_parse.go config: support days (d) and weeks (w) in durations 2017-10-05 15:17:37 +02:00
config_prune_grid.go retention grid: interva length monotonicity: exception for keep=all 2017-10-05 20:34:35 +02:00
config_prune_none.go cmd: noprune prune policy 2017-09-15 19:32:09 +02:00
config_serve_stdinserver.go cmd: extract listening on a UNIX socket in a private directory into a helper func 2017-09-17 23:41:51 +02:00
config_test.go mappings: fix aliasing bug with '<' wildcards 2017-10-05 20:10:05 +02:00
config.go adopt Task API: infect datastructures 2017-12-27 14:39:46 +01:00
control.go control status command: only show verbose logs on user request 2017-12-30 13:53:19 +01:00
daemon.go Task & TaskStatus: DeepCopy(): actually copy lastUpdate field 2017-12-29 21:43:12 +01:00
handler.go handler: fix typo in log message 2017-12-30 13:29:04 +01:00
helpers.go fix unreachable code & missing stringer-generated code 2017-09-30 16:31:55 +02:00
logging_formatters.go cmd control status: warn about inactive tasks 2017-12-27 18:34:24 +01:00
logging_outlets.go logger.Outlet: WriteEntry must not block 2017-12-29 17:21:58 +01:00
main.go 'zrepl version' and 'zrepl control version' subcommand + maintainer README 2017-11-18 21:12:48 +01:00
prune.go Pruner: refactor + use Task API 2017-12-27 14:39:46 +01:00
replication.go zfs: use custom datatype to pass ZFS properties in ZFSSet 2018-01-05 18:42:10 +01:00
stdinserver.go cmd: no context + logging for config parsing 2017-09-22 14:13:30 +02:00
test.go test pattern subcommand: better example command 2017-12-29 22:45:38 +01:00
version.go 'zrepl version' and 'zrepl control version' subcommand + maintainer README 2017-11-18 21:12:48 +01:00