Commit Graph

658 Commits

Author SHA1 Message Date
Uffy
f6165f35c0 import sorting 2017-10-09 20:55:03 +08:00
Uffy
ae3f59a2f5 use sync.Once instead of chan
sync.Once is more clear and faster than chan.
2017-10-09 15:47:28 +08:00
Uffy
b92130eeee remove redundant rand.Seed 2017-10-09 14:22:15 +08:00
Asim Aslam
e0e4596be0 update readme 2017-10-03 11:19:03 +01:00
Asim Aslam
5f60f7518d update readme 2017-10-03 11:14:39 +01:00
Asim Aslam
f2d4226817 update readme 2017-10-03 11:05:54 +01:00
Asim Aslam
236cfd6a3b update readme 2017-10-03 11:03:46 +01:00
Asim Aslam
d29b5e2fab Merge pull request #203 from wzhliang/master
fixing typo
2017-08-25 11:00:18 +01:00
Wenzhi Liang
7f173dfc63 fixing typo 2017-08-25 17:56:57 +08:00
Asim Aslam
8be72b676d Merge pull request #202 from freman/mapsorting
Fix hashing of the service definition
2017-08-24 12:16:32 +01:00
Shannon Wynter
0e696f4907 Fix hashing of the service definition
Maps are sorted randomly, order the keys as a slice
2017-08-24 18:25:05 +10:00
Asim Aslam
1748328f14 Merge pull request #201 from vans9/register-subscriber-pass-opts
Pass options to the s.NewSubscriber
2017-08-24 08:53:50 +01:00
Pavel Arefiev
eff39083ca Pass options to the s.NewSubscriber 2017-08-24 10:47:32 +03:00
Asim Aslam
e3f818d18e Merge pull request #197 from sarbash/fix-tls-consul-registry
Check for uninitialized *config.HttpClient
2017-08-15 08:51:50 +01:00
Sergey Sarbash
db0df07fd6 Check for uninitialized *config.HttpClient 2017-08-15 10:49:24 +03:00
Asim Aslam
87c39542b0 Merge pull request #196 from sarbash/fix-tls-consul-registry
Fixes nil pointer dereferencing for Consul TLS transport
2017-08-15 08:08:03 +01:00
Sergey Sarbash
fd01ead575 Fixes nil pointer dereferencing for Consul TLS transport 2017-08-15 09:27:39 +03:00
Asim Aslam
382abbf28b update travis go versions 2017-08-09 13:01:41 +01:00
Asim Aslam
8264e90bce Merge pull request #189 from hlian/master
server/rpc_codec: friendlier behavior if c.codec.Write fails
2017-07-18 14:18:12 +01:00
Hao Lian
d4b149046f server/rpc_codec: if c.codec.Write fails, reset write buffer and encode an error message about the encoding failure
When developing go-micro services, it is frequently possible to set invalid results in the response pointer. When this happens (as I and @trushton personally experienced), `sendResponse()` returns an error correctly explaining what happened (e.g. protobuf refused to encode a bad struct) but the `call()` function one above it in the stack ignores the returned error object.

Thus, invalid structs go un-encoded and the _client side times out_. @trushton and I first caught this in our CI builds when we left a protobuf.Empty field uninitialized (nil) instead of setting it to `&ptypes.Empty{}`. This resulted in an `proto: oneof field has nil value` error, but it was dropped and became a terribly confusing client timeout instead.

This patch is two independent changes:

* In rpc_codec, when a serialization failure occurs serialize an error message, which will correctly become a 500 for HTTP services, about the encoding failure. This means rpc_codec only returns an `error` when a socket failure occurs, which I believe is the behavior that rpc_service is expecting anyway.

* In rpc_service, log any errors returned by sendResponse instead of dropping the error object. This will make debugging client timeouts less of a hassle.
2017-07-17 14:21:43 -04:00
Asim Aslam
e0b3a48323 brevity is key 2017-07-16 14:58:31 +01:00
Asim Aslam
f4ea9787a9 Strip readme comments 2017-07-14 08:24:46 +01:00
Asim Aslam
9438fae607 long standing typo 2017-06-15 19:57:27 +01:00
Asim Aslam
3812cbbcb6 defer wg.Done so it's called even if there's a panic 2017-06-12 14:18:59 +01:00
Asim Aslam
32b7ebcfbc use updated error formatting 2017-06-11 13:02:08 +01:00
Asim Aslam
097395c5cb Merge pull request #172 from micro/func
Function
2017-06-01 12:50:58 +01:00
Asim Aslam
eecf26619b Set register ttl/interval by default for functions since they are more ephemeral 2017-06-01 12:44:18 +01:00
Asim Aslam
1932bc805b update readme 2017-06-01 12:26:57 +01:00
Asim Aslam
e870bffef2 add function test 2017-06-01 12:11:52 +01:00
Asim Aslam
3e9f556e4a working function solution 2017-05-31 20:45:36 +01:00
Asim Aslam
0f1ec6ea0f Merge branch 'master' into func 2017-05-31 19:55:03 +01:00
Asim Aslam
334efcf212 Merge pull request #171 from micro/wait
Wait for requests to finish before closing transport
2017-05-31 19:54:37 +01:00
Asim Aslam
e1a1f1c0f0 add wait option 2017-05-31 19:47:50 +01:00
Asim Aslam
f7a9207c7a wait for subscribers to complete 2017-05-31 19:47:41 +01:00
Asim Aslam
2ee22f5336 strip init of wg 2017-05-31 19:35:16 +01:00
Asim Aslam
276a0118da be pedantic 2017-05-31 19:33:11 +01:00
Asim Aslam
726793b6fa Wait for requests to finish before closing transport 2017-05-31 19:21:41 +01:00
Asim Aslam
d5809d2d70 function interface 2017-05-31 15:03:24 +01:00
Asim Aslam
ce37d7fbe8 Merge pull request #170 from svanharmelen/f-errors
Improve the UX for users of the errors package.
2017-05-31 15:02:58 +01:00
Sander van Harmelen
4bc44d79c6 Improve the UX for users of the errors package.
By making the error helper functions variadic functions, you can pass either a string (like the existing behaviour) or a format and verbs that will then be formatted for you.

This doesn’t break any existing API’s, but it prevents people using this package to have to call `fmt.Sprintf` whenever they would like to format the error detail.
2017-05-31 15:29:03 +02:00
Asim Aslam
a7312f5c7e log panics 2017-05-16 19:14:00 +01:00
Asim Aslam
4cb22b5969 Merge pull request #167 from micro/log
make use of micro/go-log
2017-05-12 17:02:55 +01:00
Asim Aslam
5bce20627f Switch that back to Fatal since we've added the convenience method 2017-05-12 15:14:54 +01:00
Asim Aslam
bab586b71e make use of micro/go-log 2017-05-11 20:43:42 +01:00
Asim Aslam
39fb03fba6 Merge pull request #165 from foxliu20/master
fix version option in cmd
2017-05-09 12:25:36 +01:00
xueyun.liu
4edb8650e5 fix version option in cmd 2017-05-09 15:49:59 +08:00
Asim Aslam
e55e5033b8 Merge pull request #160 from emilh91/patch-1
Update consul_watcher.go
2017-04-26 08:54:24 +01:00
Emil Huseynaliev
9e1550db53 Update consul_watcher.go
`WatchPlan` was renamed to `Plan` in the consul `watch` package in commit d7e23857ad
2017-04-25 16:38:35 -04:00
Asim Aslam
90ed1390ee fix broken test 2017-04-17 15:31:50 +01:00
Asim Aslam
33b1cea29d Don't create new options 2017-04-17 14:57:43 +01:00