Christian Schwarz
d584e1ac54
daemon/job/active: fix race in updateTasks
...
If concurrent updates strictly modify *different* members of the tasks
struct, the copying + lock-drop still constitutes a race condition:
The last updater always wins and sets tasks to its copy + changes.
This eliminates the other updater's changes.
2018-10-12 22:15:07 +02:00
Christian Schwarz
89e0103abd
move wakeup subcommand into signal subcommand and add reset subcommand
2018-10-12 20:50:56 +02:00
Christian Schwarz
f9d24d15ed
move wakup mechanism into separate package
2018-10-12 12:44:40 +02:00
Christian Schwarz
be962998ba
move serve and connecter into transports package
2018-10-11 21:21:46 +02:00
Christian Schwarz
125b561df3
rename root_dataset to root_fs for receiving-side jobs
2018-10-11 18:03:18 +02:00
Christian Schwarz
4e16952ad9
snapshotting: support 'periodic' and 'manual' mode
...
1. Change config format to support multiple types
of snapshotting modes.
2. Implement a hacky way to support periodic or completely
manual snaphots.
In manual mode, the user has to trigger replication using the wakeup
mechanism after they took snapshots using their own tooling.
As indicated by the comment, a more general solution would be desirable,
but we want to get the release out and 'manual' mode is a feature that
some people requested...
2018-10-11 15:59:23 +02:00
Christian Schwarz
75e42fd860
pruner: implement Report method + display in status command
2018-09-24 19:25:40 +02:00
Christian Schwarz
75ba5874a5
active side: track activities in Run() as atomically updated member
2018-09-24 19:23:53 +02:00
Christian Schwarz
d04b9713c4
implement pull + sink modes for active and passive side
2018-09-24 12:36:10 +02:00
Christian Schwarz
e3be120d88
refactor push + source into active + passive 'sides' with push and source 'modes'
2018-09-24 12:36:10 +02:00
Christian Schwarz
9446b51a1f
status: infra for reporting jobs instead of just replication.Report
2018-09-23 21:11:33 +02:00
Christian Schwarz
7f9eb62640
sink: concurrent connection handling
2018-09-18 22:44:00 +02:00
Christian Schwarz
fa47667f31
bring back prometheus metrics, with new metrics for replication state machine
2018-09-07 22:22:34 -07:00
Christian Schwarz
2c25f28972
simplify mapping & filtering in endpoints (re-rooting only)
2018-09-05 19:51:06 -07:00
Christian Schwarz
308e5e35fb
Multi-client servers + bring back stdinserver support
2018-09-04 16:43:55 -07:00
Christian Schwarz
e161347e47
Implement periodic snapshotting.
2018-09-04 16:43:55 -07:00
Christian Schwarz
754b253043
config: no-field for replication anymore
...
It's closer to the original config and we don't want users to specify
'filesystems' and similar multiple times in a single job definition.
2018-09-04 14:44:45 -07:00
Christian Schwarz
8799108b55
fixup b95e983d0d
: prunerFactory: fix duplicate logger fields
2018-09-03 13:19:56 -07:00
Christian Schwarz
3d8e552c6a
streamrpc 0.3 + config from daemon/config
2018-09-02 15:46:42 -07:00
Christian Schwarz
d55a271ac7
WIP adopt updated yaml-config with 'fromdefaults' struct tag
2018-09-02 15:46:03 -07:00
Christian Schwarz
b95e983d0d
bump go-streamrpc to 0.2, cleanup logging
...
logging should be user-friendly in INFO mode
2018-09-02 15:45:18 -07:00
Anton Schirg
32391adf4f
build pruner in factory and check prune rules
2018-08-30 19:20:14 +02:00
Anton Schirg
c0a3e1f121
wrap error in buildJob with job name
2018-08-30 17:40:02 +02:00
Anton Schirg
6cedd0a2e8
add status command
2018-08-30 12:54:30 +02:00
Christian Schwarz
7dd49b835a
finish pruning implementation in push job
2018-08-30 11:52:05 +02:00
Christian Schwarz
a2aa8e7bd7
finish pruner implementation
2018-08-29 19:00:45 +02:00
Christian Schwarz
c69ebd3806
WIP rewrite the daemon
...
cmd subdir does not build on purpose, it's only left in tree to grab old
code and move it to github.com/zrepl/zrepl/daemon
2018-08-27 22:22:44 +02:00
Christian Schwarz
89dc267780
start implementing new daemon in package daemon
2018-08-27 19:10:55 +02:00