Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use Go 1.10.x for 3.3 release to support crypto/x509 "name constraints" #9912

Closed
cultcom opened this issue Jul 9, 2018 · 9 comments
Closed
Assignees
Labels

Comments

@cultcom
Copy link

cultcom commented Jul 9, 2018

The official etcd binaries found on github.com are compiled with golang version 1.9:
~# etcd --version
etcd Version: 3.3.8
Git SHA: 33245c6
Go Version: go1.9.7
Go OS/Arch: linux/amd64

Unfortunately this golang version does not support nameConstraints correctly according to golang/go#15196

So please update your build process to utilize golang 1.10 for further releases.

@hexfusion
Copy link
Contributor

hexfusion commented Jul 9, 2018

confirmed @gyuho @xiang90 @jpbetz

@hexfusion
Copy link
Contributor

@cultcom, thank you for the report.

@gyuho gyuho changed the title nameConstraints error due to old golang version for official binaries Use Go 1.10.x for 3.3 release to support crypto/x509 "name constraints" Jul 10, 2018
@gyuho
Copy link
Contributor

gyuho commented Jul 10, 2018

@cultcom We will use Go 1.10 or 1.11 for 3.4 release, which is a few months away. And we do not bump up Go versions in our stable release branches. Are you trying to use name constraints in production?

@cultcom
Copy link
Author

cultcom commented Jul 10, 2018

well, the locally used CA had them configured but now I deactivated that until etcd comes compiled with golang 1.10 ;-)

@gyuho
Copy link
Contributor

gyuho commented Jul 10, 2018

@cultcom Could you try building release-3.3 branch with latest Go 1.10 and see if it resolves your issue? Then, we will try benchmark 3.3 branch with Go 1.10 to see if it would introduce any regressions. If numbers looks good, we should be safe to bump up Go version in 3.3 releases.

@cultcom
Copy link
Author

cultcom commented Jul 10, 2018

@gyuho Yes, I did that yesterday and it fixed the issue:
etcd Version: 3.3.8
Git SHA: GitNotFound
Go Version: go1.10.3
Go OS/Arch: linux/amd64

I build the official 3.3.8 source package from github (not the cloned repo).

FYI: Ubuntu 18.04 comes officially with 3.2.17 which is compiled with golang 1.10.

@gyuho
Copy link
Contributor

gyuho commented Jul 10, 2018

@cultcom Thanks. We will try bumping up the Go version in the next 3.3 release.

@cultcom
Copy link
Author

cultcom commented Jul 10, 2018

@gyuho Thanks.

@gyuho gyuho removed the type/bug label Jul 10, 2018
@gyuho gyuho self-assigned this Jul 17, 2018
@gyuho
Copy link
Contributor

gyuho commented Jul 19, 2018

benchmark put \
  --clients 1000 \
  --conns 100 \
  --total 1000000 \
  --key-size 200 \
  --val-size 1024 \
  --sequential-keys


Go 1.9.7

Summary:
  Total:	58.8737 secs.
  Slowest:	0.2854 secs.
  Fastest:	0.0020 secs.
  Average:	0.0585 secs.
  Stddev:	0.0254 secs.
  Requests/sec:	16985.5217

Response time histogram:
  0.0020 [1]	|
  0.0304 [60692]	|∎∎∎∎
  0.0587 [524933]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.0870 [315454]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.1154 [74300]	|∎∎∎∎∎
  0.1437 [13117]	|
  0.1721 [4484]	|
  0.2004 [2144]	|
  0.2288 [3707]	|
  0.2571 [898]	|
  0.2854 [270]	|

Latency distribution:
  10% in 0.0335 secs.
  25% in 0.0415 secs.
  50% in 0.0536 secs.
  75% in 0.0704 secs.
  90% in 0.0869 secs.
  95% in 0.0989 secs.
  99% in 0.1529 secs.
  99.9% in 0.2306 secs.


Go 1.10.3

Summary:
  Total:	52.5230 secs.
  Slowest:	0.3442 secs.
  Fastest:	0.0016 secs.
  Average:	0.0515 secs.
  Stddev:	0.0268 secs.
  Requests/sec:	19039.2841

Response time histogram:
  0.0016 [1]	|
  0.0358 [264681]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.0701 [572196]	|∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
  0.1044 [139536]	|∎∎∎∎∎∎∎∎∎
  0.1386 [7131]	|
  0.1729 [4462]	|
  0.2071 [6883]	|
  0.2414 [3665]	|
  0.2757 [704]	|
  0.3099 [671]	|
  0.3442 [70]	|

Latency distribution:
  10% in 0.0278 secs.
  25% in 0.0352 secs.
  50% in 0.0461 secs.
  75% in 0.0622 secs.
  90% in 0.0777 secs.
  95% in 0.0877 secs.
  99% in 0.1850 secs.
  99.9% in 0.2590 secs.

Better performance with Go 1.10 as well. Will set Go version to 1.10 in our 3.3 branch.

@gyuho gyuho closed this as completed Jul 19, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

3 participants