Commit Graph

11670 Commits (861ebe6950580e2e28d7b45b7e5bd41cab4664a5)

Author SHA1 Message Date
Gyu-Ho Lee 861ebe6950 vendor: upgrade grpc-go to 1.4.2
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-22 14:26:45 -07:00
Gyu-Ho Lee cdc7d77beb Merge pull request #8158 from gyuho/fix
etcdctl/ctlv3: remove unnecessary 'return'
2017-06-22 12:47:49 -07:00
Gyu-Ho Lee f2d8929a09 etcdctl/ctlv3: remove unnecessary 'return'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-22 12:24:00 -07:00
Anthony Romano 310a09691f Merge pull request #8150 from heyitsanthony/update-db-size-defrag
mvcc: use GaugeFunc metric to load db size when requested
2017-06-22 09:38:00 -07:00
Anthony Romano 522e75cb4f mvcc: use GaugeFunc metric to load db size when requested
Relying on mvcc to set the db size metric can cause it to
miss size changes when a txn commits after the last write
completes before a quiescent period. Instead, load the
db size on demand.

Fixes #8146
2017-06-21 23:58:37 -07:00
Anthony Romano 4e6c77185b integration: test mvcc db size metric is updated following defrag 2017-06-21 22:59:48 -07:00
Anthony Romano 9cb12deca6 Merge pull request #8102 from heyitsanthony/txn-nested
api: nested txns
2017-06-21 19:56:43 -07:00
Anthony Romano 23c816718a Merge pull request #8143 from heyitsanthony/endpoint-all
etcdctl: use cluster endpoints when passed --cluster
2017-06-21 16:11:13 -07:00
Anthony Romano b10ea20113 namespace: support nested txns 2017-06-21 14:33:16 -07:00
Anthony Romano f465e3ea8a grpcproxy: support nested txns 2017-06-21 14:33:15 -07:00
Anthony Romano f400010028 clientv3/integration: test clientv3 nested txns 2017-06-21 14:33:15 -07:00
Anthony Romano f8dbcd86ec clientv3: support nested Txns with OpTxn 2017-06-21 14:33:15 -07:00
Anthony Romano 0dd4c2ac69 integration: test grpc nested txns 2017-06-21 14:33:15 -07:00
Anthony Romano 6ed51dc621 etcdserver, v3rpc: support nested txns 2017-06-21 14:33:15 -07:00
Anthony Romano 5c7efaa288 adt: Union for interval trees 2017-06-21 14:33:15 -07:00
Anthony Romano 822473bc31 etcdserverpb: add txns to requestop/responseop 2017-06-21 14:33:15 -07:00
Gyu-Ho Lee 8b09309c81 Merge pull request #8147 from gyuho/monitoring
Documentation: use 'etcd_disk_' metrics in monitoring
2017-06-21 14:07:18 -07:00
Anthony Romano 1a2be432c5 etcdctl: --cluster flag using cluster endpoints for endpoint commands
Queries the cluster for endpoints to use for the endpoint commands.

Fixes #8117
2017-06-21 13:55:23 -07:00
Gyu-Ho Lee 7ebcfcf871 Documentation: use 'etcd_disk_' metrics in monitoring
Rather than 'etcd_debugging_' ones that might change
in the future.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-21 12:35:08 -07:00
Gyu-Ho Lee a40cdc7baa Merge pull request #8142 from gyuho/a
Documentation/release: sign *.aci files
2017-06-20 16:57:53 -07:00
Gyu-Ho Lee 20881bde05 Merge pull request #8128 from gyuho/functional-tester
*: run basic functional-tester cases to test script
2017-06-20 16:20:11 -07:00
Gyu-Ho Lee 6e31901108 test: run basic functional tests
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-20 16:04:51 -07:00
Gyu-Ho Lee 7689a2535e etcd-tester: add 'exit-on-failure'
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-20 16:04:48 -07:00
Gyu-Ho Lee ca6d7bd836 Documentation/release: sign *.aci files
Thanks to
https://github.com/coreos/etcd/issues/8085#issuecomment-308232300.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-20 14:18:19 -07:00
Gyu-Ho Lee 1df8b90d67 Merge pull request #8121 from gyuho/health-check-service
*: add basic health check service
2017-06-20 13:07:52 -07:00
Gyu-Ho Lee 8ce2c79197 integration: add 'HealthClient.Check' test
Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-20 13:02:11 -07:00
Anthony Romano 117a83c1bf Merge pull request #8140 from heyitsanthony/doc-curl-auth
dev-guide: add authentication example for grpc/json
2017-06-20 10:59:39 -07:00
Anthony Romano 30029c0019 Merge pull request #8124 from heyitsanthony/crl
reject connections based on CRL file
2017-06-20 10:52:41 -07:00
Gyu-Ho Lee c1e3172e3a etcdserver/api/v3rpc: add default grpc health service 2017-06-20 10:48:06 -07:00
Gyu-Ho Lee 71e6fe183f vendor: add 'grpc/health/*' 2017-06-20 10:48:06 -07:00
Gyu-Ho Lee ac62c6c811 Merge pull request #8133 from gyuho/release-test
test: 'FAIL' on release binary download failure
2017-06-20 10:46:11 -07:00
Anthony Romano 8837719a8d dev-guide: add authentication example for grpc/json 2017-06-20 10:12:17 -07:00
Anthony Romano 41e26f741b e2e: test rejecting CRL'd client certs 2017-06-19 15:23:41 -07:00
Anthony Romano 798b14979c fixtures: add gencerts.sh, generate CRL 2017-06-19 15:23:41 -07:00
Anthony Romano 87d16af2e2 embed: use transport TLS listener for client listener for CRLs 2017-06-19 15:23:41 -07:00
Anthony Romano 7d7d1ae6a0 etcdmain: configure CRL file through command line 2017-06-19 15:23:41 -07:00
Anthony Romano 322976bedc transport: CRL checking 2017-06-19 15:23:41 -07:00
Xiang Li a65e3c69a6 Merge pull request #8122 from yudai/fast_fail_proxy
grpcproxy: Disable fast fail on lease grant call to cluster
2017-06-19 15:04:25 -07:00
Anthony Romano 66f553a96b Merge pull request #8127 from heyitsanthony/fix-restore
mvcc: restore into tree index with one key index
2017-06-19 12:58:18 -07:00
Gyu-Ho Lee 8f8f550443 test: 'FAIL' on release binary download failure
I see CI is failing to download release binaries
but exit code doesn't trigger CI job failure.

We need 'FAIL' string.

Signed-off-by: Gyu-Ho Lee <gyuhox@gmail.com>
2017-06-19 12:52:02 -07:00
Anthony Romano 51a568aa81 mvcc: restore into tree index with one key index
Clobbering the mvcc kvindex with new keyIndexes for each restore
chunk would cause index corruption by dropping historical information.
2017-06-19 12:04:01 -07:00
Anthony Romano 02164874d9 mvcc: test restore and deletes with small chunk sizes 2017-06-19 12:04:01 -07:00
Anthony Romano 45fbac5544 Merge pull request #8025 from heyitsanthony/txn-cmp-range
api: txn comparisons on ranges
2017-06-18 11:11:43 -07:00
Iwasaki Yudai df2cc4bc8c grpcproxy: Disable fast fail on lease grant call to cluster
Problem Observed
----------------

When there is no etcd process behind the proxy,
clients repeat resending lease grant requests without delay.
This behavior can cause abnormal resource consumption on CPU/RAM and
network.

Problem Detail
--------------

`LeaseGrant()` uses a bare protobuf client to forward requests.
However, it doesn't use `grpc.FailFast(false)`, which means the method returns
an `Unavailable` error immediately when no etcd process is available.
In clientv3, `Unavailable` errors are not considered the "Halt" error,
and library retries the request without delay.
Both clients and the proxy consume much CPU cycles to process retry requests.

Resolution
----------

Add `grpc.FailFast(false))` to `LeaseGrant()` of the `leaseProxy`.
This makes the proxy not to return immediately when no etcd process is
available. Clients will simply timeout requests instead.
2017-06-16 15:09:05 -07:00
Anthony Romano e475a4ea71 Merge pull request #8120 from heyitsanthony/restore-set-size-metric
mvcc: set db size metric on restore
2017-06-16 12:37:08 -07:00
Anthony Romano 8f34d0c8b6 clientv3/integration: test compare on range 2017-06-16 12:13:27 -07:00
Anthony Romano 7ff6e62c56 namespace: prefix comparison range_end 2017-06-16 12:13:27 -07:00
Anthony Romano aeb2dc03aa grpcproxy: invalidate cache on comparison range 2017-06-16 12:13:27 -07:00
Anthony Romano fcf1abd23b clientv3: compare helper functions to set range/prefix 2017-06-16 12:13:27 -07:00
Anthony Romano fafb054624 integration: test txn range comparisons 2017-06-16 12:13:27 -07:00