From a1a91ab75aa5614a61acbb0d75ee3fd09e2fdbb7 Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Tue, 15 Apr 2014 12:27:11 -0700 Subject: [PATCH 1/4] chore(server): deprecate mod temporarily --- server/server.go | 4 +++- test.sh | 5 +++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/server/server.go b/server/server.go index 3f5d31312..e7cc94aff 100644 --- a/server/server.go +++ b/server/server.go @@ -207,7 +207,9 @@ func (s *Server) HTTPHandler() http.Handler { s.handleFunc(router, "/version", s.GetVersionHandler).Methods("GET") s.installV1(router) s.installV2(router) - s.installMod(router) + // Mod is deprecated temporariy due to its unstable state. + // It would be added back later. + // s.installMod(router) if s.trace { s.installDebug(router) diff --git a/test.sh b/test.sh index 6ca1cac2e..9a7af6fde 100755 --- a/test.sh +++ b/test.sh @@ -23,8 +23,9 @@ go test -v ./server/v1/tests -race go test -i ./server/v2/tests go test -v ./server/v2/tests -race -go test -i ./mod/lock/v2/tests -go test -v ./mod/lock/v2/tests +# Mod is deprecated temporarily. +# go test -i ./mod/lock/v2/tests +# go test -v ./mod/lock/v2/tests go test -i ./pkg/btrfs go test -v ./pkg/btrfs From 1eaa9c989981927d3756fbdadcca90d79f833fed Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Wed, 16 Apr 2014 23:15:26 -0700 Subject: [PATCH 2/4] docs: record module deprecation --- Documentation/api.md | 9 +++++++-- Documentation/modules.md | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/Documentation/api.md b/Documentation/api.md index 95a8e2c6b..4bb8fff46 100644 --- a/Documentation/api.md +++ b/Documentation/api.md @@ -843,12 +843,14 @@ The client is told the write was successful and the keyspace is updated. Meanwhile F2 has partitioned from the network and will have an out-of-date version of the keyspace until the partition resolves. Since F2 missed the most recent write, a client reading from F2 will have an out-of-date version of the keyspace. -## Lock Module +## Lock Module (*Deprecated*) The lock module is used to serialize access to resources used by clients. Multiple clients can attempt to acquire a lock but only one can have it at a time. Once the lock is released, the next client waiting for the lock will receive it. +**Warning:** This module is deprecated at v0.4, and will be back later. See [Modules][modules] for more details. + ### Acquiring a Lock @@ -990,10 +992,13 @@ If you specify a field other than `index` or `value` then you'll receive the fol ``` -## Leader Module +## Leader Module (*Deprecated*) The leader module wraps the lock module to provide a simple interface for electing a single leader in a cluster. +**Warning:** This module is deprecated at v0.4, and will be back later. See [Modules][modules] for more details. +[modules]: https://github.com/coreos/etcd/blob/master/Documentation/modules.md + ### Setting the Leader diff --git a/Documentation/modules.md b/Documentation/modules.md index 9507c3235..eb1e34ba4 100644 --- a/Documentation/modules.md +++ b/Documentation/modules.md @@ -3,6 +3,9 @@ etcd has a number of modules that are built on top of the core etcd API. These modules provide things like dashboards, locks and leader election. +**Warning**: Modules is deprecated from v0.4, and is expected to be added back in the near future. +For now, we have to focus on raft algorithm and etcd core to make sure that it works correctly and fast. And etcd's API changes from time to time, which is painful to maintain these modules. Moreover, the implementation of lock module has some flaws, which may mislead users. But we also notice that these modules are popular and useful, and plan to add them back with full functionality as soon as possible. + ### Dashboard An HTML dashboard can be found at `http://127.0.0.1:4001/mod/dashboard/`. From 5602d4a2ee98b80dcf1ef63d8b20514d5ba14630 Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Fri, 18 Apr 2014 09:31:57 -0700 Subject: [PATCH 3/4] docs(modules): make reasons for deprecation more clear --- Documentation/modules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Documentation/modules.md b/Documentation/modules.md index eb1e34ba4..d8e0cc69e 100644 --- a/Documentation/modules.md +++ b/Documentation/modules.md @@ -4,7 +4,7 @@ etcd has a number of modules that are built on top of the core etcd API. These modules provide things like dashboards, locks and leader election. **Warning**: Modules is deprecated from v0.4, and is expected to be added back in the near future. -For now, we have to focus on raft algorithm and etcd core to make sure that it works correctly and fast. And etcd's API changes from time to time, which is painful to maintain these modules. Moreover, the implementation of lock module has some flaws, which may mislead users. But we also notice that these modules are popular and useful, and plan to add them back with full functionality as soon as possible. +For now, we are choosing to focus on raft algorithm and etcd core to make sure that it works correctly and fast. And it is time consuming to maintain these modules in this period, given that etcd's API changes from time to time. Moreover, the lock module has some unfixed bugs, which may mislead users. But we also notice that these modules are popular and useful, and plan to add them back with full functionality as soon as possible. ### Dashboard From a2749bad53fc3b8f0cfd0f833cefa85670c35d3a Mon Sep 17 00:00:00 2001 From: Yicheng Qin Date: Fri, 18 Apr 2014 10:36:59 -0700 Subject: [PATCH 4/4] docs(modules): make reasons for deprecation much more clear --- Documentation/api.md | 4 ++-- Documentation/modules.md | 7 +++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/Documentation/api.md b/Documentation/api.md index 4bb8fff46..ed25b74fb 100644 --- a/Documentation/api.md +++ b/Documentation/api.md @@ -849,7 +849,7 @@ The lock module is used to serialize access to resources used by clients. Multiple clients can attempt to acquire a lock but only one can have it at a time. Once the lock is released, the next client waiting for the lock will receive it. -**Warning:** This module is deprecated at v0.4, and will be back later. See [Modules][modules] for more details. +**Warning:** This module is deprecated at v0.4. See [Modules][modules] for more details. ### Acquiring a Lock @@ -996,7 +996,7 @@ If you specify a field other than `index` or `value` then you'll receive the fol The leader module wraps the lock module to provide a simple interface for electing a single leader in a cluster. -**Warning:** This module is deprecated at v0.4, and will be back later. See [Modules][modules] for more details. +**Warning:** This module is deprecated at v0.4. See [Modules][modules] for more details. [modules]: https://github.com/coreos/etcd/blob/master/Documentation/modules.md diff --git a/Documentation/modules.md b/Documentation/modules.md index d8e0cc69e..757c729dd 100644 --- a/Documentation/modules.md +++ b/Documentation/modules.md @@ -3,8 +3,11 @@ etcd has a number of modules that are built on top of the core etcd API. These modules provide things like dashboards, locks and leader election. -**Warning**: Modules is deprecated from v0.4, and is expected to be added back in the near future. -For now, we are choosing to focus on raft algorithm and etcd core to make sure that it works correctly and fast. And it is time consuming to maintain these modules in this period, given that etcd's API changes from time to time. Moreover, the lock module has some unfixed bugs, which may mislead users. But we also notice that these modules are popular and useful, and plan to add them back with full functionality as soon as possible. +**Warning**: Modules are deprecated from v0.4 until we have a solid base we can apply them back onto. +For now, we are choosing to focus on raft algorithm and core etcd to make sure that it works correctly and fast. +And it is time consuming to maintain these modules in this period, given that etcd's API changes from time to time. +Moreover, the lock module has some unfixed bugs, which may mislead users. +But we also notice that these modules are popular and useful, and plan to add them back with full functionality as soon as possible. ### Dashboard