Christian Schwarz
f2a6193735
Merge branch 'problame/replication_refactor'
2019-03-20 19:44:15 +01:00
Christian Schwarz
84eca86e14
Merge branch 'problame/0.1-docs-fixes'
2019-03-20 19:31:32 +01:00
Christian Schwarz
86fdcfc437
replication: stepqueue: make TestPqNotconcurrent less flaky
2019-03-19 18:50:12 +01:00
Christian Schwarz
25eeedbce8
docs: link to good_first_issue and docs category
2019-03-19 18:22:15 +01:00
Christian Schwarz
2ba1ff15b7
docs: mention automatic retries
2019-03-19 18:18:41 +01:00
Christian Schwarz
5aefc47f71
daemon: remove last traces of watchdog mechanism
2019-03-19 18:15:34 +01:00
Christian Schwarz
7633c1cdf1
docs: tutorial: s/pull/push
2019-03-18 14:56:32 +01:00
Christian Schwarz
fb999c8617
docs: drop references to 'main config file'
...
were just confusing in the remaining places where they were used
fixes #127
2019-03-18 14:50:32 +01:00
Christian Schwarz
53dc0c3c5e
docs: document existence of zrepl:placeholder property
...
fixes #129
2019-03-18 14:50:32 +01:00
Christian Schwarz
84019238df
docs: changelog: remove whitespace & churn
2019-03-18 14:50:32 +01:00
Christian Schwarz
cef865f5ce
docs: changelog 0.1: document forgotten bugfixes & features
2019-03-18 14:50:32 +01:00
Christian Schwarz
bdf99f6bb4
docs: document material in dist/
2019-03-18 12:45:27 +01:00
Christian Schwarz
7424423d9a
Merge pull request #146 from zrepl/problame/add-some-dist-stuff
...
Grafana Dashboard & Systemd Unit
2019-03-18 12:41:39 +01:00
Christian Schwarz
c9b812570d
docs: changelog: document new rpc & retry behavior changes
2019-03-18 12:39:53 +01:00
Christian Schwarz
e62d157aac
docs: remove typo at end of changelog
2019-03-18 12:23:39 +01:00
Christian Schwarz
056be1185d
dist: add grafana dashboard
...
fixes #116
2019-03-16 16:12:34 +01:00
Christian Schwarz
b0898ec8bc
dist: systemd service definition template
...
fixes #117
refs #145
2019-03-16 16:12:34 +01:00
Christian Schwarz
133b7013a0
Merge remote-tracking branch 'origin/master' into problame/replication_refactor
2019-03-16 16:09:40 +01:00
Christian Schwarz
dabf7e3ec9
build: travis: Go1.12 and some refactorings
2019-03-16 16:02:45 +01:00
Christian Schwarz
da3ba50a2c
Merge remote-tracking branch 'origin/master' into problame/replication_refactor
2019-03-16 14:48:01 +01:00
Christian Schwarz
5eababe0b0
endpoing: receiver: return visitErr on traversal error
...
fixes #137
2019-03-16 14:47:34 +01:00
Christian Schwarz
b2c5ffcaea
rpc: dataconn: handle incorrect handler return values
...
refs #137
2019-03-16 14:47:29 +01:00
Christian Schwarz
4ee00091d6
pull job: support manual-only invocation
2019-03-16 14:24:05 +01:00
Christian Schwarz
c655622bf7
build: travis: allow_failures of go:master
2019-03-15 22:43:18 +01:00
Christian Schwarz
71d331af16
Add CircleCI config
...
Doesn't cover all of Travis, but CircleCI archives artifacts.
2019-03-15 22:15:15 +01:00
Christian Schwarz
5dfe24eeee
Merge 'joshsouza/fix_peer_cert_chains' into 'master'
2019-03-15 18:40:05 +01:00
Christian Schwarz
78ec5aa716
Merge remote-tracking branch 'origin/master' into joshsouza-fix_peer_cert_chains
2019-03-15 18:37:11 +01:00
Christian Schwarz
457d5bad9a
Merge 'ximalias/Ximalas-syslog-facility' into 'master'
2019-03-15 18:33:47 +01:00
Christian Schwarz
a0f301d700
syslog logging: fix priority parsing + add test for default facility
2019-03-15 18:18:16 +01:00
Ximalas
fc311a9fd6
syslog logging: support setting facility in config
2019-03-15 17:55:11 +01:00
Christian Schwarz
a7993d18c6
transport/tls: clarify docs & error message language
2019-03-15 17:17:25 +01:00
Christian Schwarz
5595cff6a6
Merge branch 'master' into fix_peer_cert_chains
2019-03-15 16:34:21 +01:00
Christian Schwarz
2c3b3c093d
rpc: do not leak grpc state change logger goroutine
2019-03-15 16:18:01 +01:00
Christian Schwarz
ab3e783168
rpc: treat protocol handshake errors as permanent
...
treat handshake errors as permanent on the client
The issue was observed by 100% CPU usage due to lack ofrate-limiting in
dataconn.ReqPing retries=> safeguard that
2019-03-15 16:18:01 +01:00
Christian Schwarz
7584c66bdb
pruner: remove retry handling + fix early give-up
...
Retry handling is broken since the gRPC changes (wrong error classification).
Will come back at some point, hopefully by merging the replication
driver retry infrastructure.
However, the simpler architecture allows an easy fix for the problem
that the pruner practically gave up on the first error it encountered.
fixes #123
2019-03-13 21:04:39 +01:00
Christian Schwarz
d78d20e2d0
pruner: skip placeholders + FSes without correspondents on source
...
fixes #126
2019-03-13 20:42:37 +01:00
Christian Schwarz
b85ec52387
rpc/ctrl: nicer perr info debug log messages
2019-03-13 19:20:04 +01:00
Christian Schwarz
edcd258cc9
replication: more elaborate messages for Conflict errors
2019-03-13 18:46:04 +01:00
Christian Schwarz
d5250bbf51
client/status: fix wrap for multiline strings with leading space
2019-03-13 18:46:04 +01:00
Christian Schwarz
d50e553ebb
handle changes to placeholder state correctly
...
We assumed that `zfs recv -F FS` would basically replace FS inplace, leaving its children untouched.
That is in fact not the case, it only works if `zfs send -R` is set, which we don't do.
Thus, implement the required functionality manually.
This solves a `zfs recv` error that would occur when a filesystem previously created as placeholder on the receiving side becomes a non-placeholder filesystem (likely due to config change on the sending side):
zfs send pool1/foo@1 | zfs recv -F pool1/bar
cannot receive new filesystem stream:
destination has snapshots (eg. pool1/bar)
must destroy them to overwrite it
2019-03-13 18:46:04 +01:00
Christian Schwarz
1eb0f12a61
replication: add diff test case
2019-03-13 18:45:40 +01:00
Christian Schwarz
8129ed91f1
zfs + replication: migrate dead zfs/diff_test.go to replication/logic/diff
...
(and remove the dead code from package zfs)
2019-03-13 16:39:10 +01:00
Christian Schwarz
c87759affe
replication/driver: automatic retries on connectivity-related errors
2019-03-13 15:00:40 +01:00
Christian Schwarz
07b43bffa4
replication: refactor driving logic (no more explicit state machine)
2019-03-13 15:00:40 +01:00
Christian Schwarz
0230c6321f
rpc/dataconn: microbenchmark
2019-03-13 13:57:21 +01:00
Christian Schwarz
796c5ad42d
rpc rewrite: control RPCs using gRPC + separate RPC for data transfer
...
transport/ssh: update go-netssh to new version
=> supports CloseWrite and Deadlines
=> build: require Go 1.11 (netssh requires it)
2019-03-13 13:53:48 +01:00
Christian Schwarz
d281fb00e3
socketpair: directly export *net.UnixConn (and add test for that behavior)
2019-03-13 11:36:34 +01:00
Christian Schwarz
76a6c623f3
tlsconf and transport/tls: support NSS-formatted keylog file for debugging
...
... via env variable
2019-03-13 00:28:38 +01:00
Christian Schwarz
25c974f0b5
envconst: support for int64
2019-03-13 00:07:33 +01:00
Christian Schwarz
ea719f5b5a
build: use 'git describe --always' to determine ZREPL_VERSION
2019-03-13 00:07:33 +01:00