1
0
mirror of https://github.com/zrepl/zrepl.git synced 2025-04-11 21:18:55 +02:00
zrepl/client
Christian Schwarz 17add553d3 WIP runtime-controllable concurrency for replication
Changes done so far:
- signal to route concurrency request up to the stepQueue
    - pretty hacky, no status reporting yet
- stepQueue upsizing (confirmed that it works, no intermediary commit)

Stuck at: stepQueue downsizing
- idea was to have the stepQueue signal to the activated step that it
  should suspend
- ideally, we'd just kill everything associated with the step and track
  it as restartable
    - the driver model doesn't allow for that though within an attempt
    - would need to start a separate run for the step
- less perfect: tell the downsized steps to stop copying, but leave
  all zfs sends + rpc conns open
    - - doesn't give back the resoures that a step aquired before
      being selected as downsize victim (open zfs processe + TCP conn,
      some memory in the pipe)
    - - looks weird to user if the ps aux
    - + re-waking a step is easy: just tell it to proceed with copying
    - (the impl would likely pass a check function down into Step.do
      and have it check that functino periodically. the suspend should
      be acknowledged, and stepQueue should only remove the step from
      the active queue _after_ that step has acknowledged that is
      suspended)
2020-02-17 17:22:52 +01:00
..
configcheck.go run golangci-lint and apply suggested fixes 2019-03-27 13:12:26 +01:00
holds.go new features: {resumable,encrypted,hold-protected} send-recv, last-received-hold 2020-02-14 22:00:13 +01:00
jsonclient.go run golangci-lint and apply suggested fixes 2019-03-27 13:12:26 +01:00
migrate_test.go receiving side: placeholder as simple on|off property 2019-03-20 20:26:30 +01:00
migrate.go new features: {resumable,encrypted,hold-protected} send-recv, last-received-hold 2020-02-14 22:00:13 +01:00
pprof.go format source tree using goimports 2019-03-22 19:41:12 +01:00
signal.go WIP runtime-controllable concurrency for replication 2020-02-17 17:22:52 +01:00
status.go new features: {resumable,encrypted,hold-protected} send-recv, last-received-hold 2020-02-14 22:00:13 +01:00
stdinserver.go format source tree using goimports 2019-03-22 19:41:12 +01:00
testcmd.go new features: {resumable,encrypted,hold-protected} send-recv, last-received-hold 2020-02-14 22:00:13 +01:00
version.go format source tree using goimports 2019-03-22 19:41:12 +01:00