Erik Hollensbe
bec13a45cd
Attempt to fix the timing error in the memory concurrency test ( #952 )
...
Only shows in travis
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2019-11-16 11:11:13 +00:00
Erik Hollensbe
4107733453
Memory registry from #801 with additional tweaks ( #951 )
...
* PoC: memory registry using maps instead of slice madness
* Updated proto and handlers. Fixed tests across codebase.
* Implemented ttl pruning for memory registry
* Added extensive memory registry tests
* Squased a bunch of bugs
* Proto indent; memory.Registry.String() returns "memory"
* Write a test to prove memory registry TTLs are busted
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
* Additional memory testing and fixups:
* DefaultTTL removed
* When TTL == 0, it is automatically removed from expiry conditions
* Additional improvements to new tests
Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2019-11-16 10:55:11 +00:00
Till Knuesting
5ae3e179b9
preallocated slices ( #934 )
2019-11-11 00:03:51 +00:00
Asim Aslam
254045e9f3
Remove go routines for mdns watcher and cache registry ( #919 )
2019-11-06 15:49:40 +00:00
Till Knuesting
f67c5e779f
preallocated slices ( #917 )
2019-11-05 17:43:12 +00:00
Till Knuesting
24b8d2a315
preallocating slices ( #904 )
...
* preallocated some slices when size is known
* gofmt
* gofmt
2019-11-04 10:33:53 +00:00
tegk
f88518d994
used gofmt with -s flag on whole project
2019-11-01 15:07:53 +00:00
yandd
f9c639af4e
fix rcache ttl
2019-10-30 14:01:51 +08:00
Asim Aslam
d4832e8f34
Remove consul registry ( #818 )
2019-10-23 15:53:28 +01:00
Asim Aslam
44b794722e
rcache becomes cache
2019-10-14 22:39:26 +01:00
Asim Aslam
f7f65b82e6
Cleanup registry handler/service
2019-10-13 12:23:13 +01:00
Milos Gajdos
fc89c9831e
heck cache status error
2019-10-11 10:47:42 +01:00
Asim Aslam
59a3e7d4f4
Use etcd serializable option
2019-10-10 19:16:31 +01:00
Asim Aslam
e9dcff49e0
Support listing full service info in etcd
2019-10-07 16:11:52 +01:00
Asim Aslam
2c00e726b6
Decode and hash the existing node
2019-10-06 13:43:41 +01:00
Asim Aslam
2fb2d7145e
Fix etcd registry lease processing and suppression
2019-10-06 09:54:26 +01:00
Asim Aslam
6fe9f2a958
Merge pull request #815 from micro/broker
...
Add broker service implementation
2019-10-04 17:23:29 +01:00
Asim Aslam
cfb846ee7e
Fix race in cache
2019-10-04 16:40:21 +01:00
Asim Aslam
c4b6d0f3a8
fix major deadlock in registry cache
2019-10-04 16:29:56 +01:00
Milos Gajdos
b8815dff14
Append a port to address if it does not exist
2019-10-03 16:16:25 +01:00
Asim Aslam
8d2b12258f
Remove gossip registry
2019-10-03 09:29:48 +01:00
Asim Aslam
31026da2a1
Update etcd.go
...
Use /micro/registry as the etcd key prefix
2019-10-02 20:33:59 +01:00
Milos Gajdos
25148af44c
First commit to add etcd registry support
2019-10-02 18:56:53 +01:00
Asim Aslam
5d77ce9e9b
Rename rcache file to cache
2019-10-02 12:35:20 +01:00
b722798caa
some spelling fixes in memory and gossip registry
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-10-02 03:54:04 +03:00
Milos Gajdos
4b73ac9dc5
Simplified code. Small bug fix the used to lead to multi-registry loop.
2019-09-30 12:48:59 +01:00
Milos Gajdos
3f3f1272b3
Turn regular logs to Debug logs; annotate with Registry "tag"
2019-09-30 12:48:59 +01:00
Milos Gajdos
859ecb1872
Dont set default TTL. Stop tracking nodes with no TTL
2019-09-30 12:48:59 +01:00
Milos Gajdos
204c7d1fcf
Fixed options bug and proto indenting
2019-09-30 12:48:59 +01:00
Milos Gajdos
8417361bce
Set registry TTL to seconds, not the nanoseconds
2019-09-30 12:48:59 +01:00
Milos Gajdos
d85ca7abd2
Set registry TTL properly via protobuf Options
2019-09-30 12:48:59 +01:00
Milos Gajdos
e973bfaa25
Add TTL options to memory registry.
2019-09-30 12:48:59 +01:00
Milos Gajdos
27bd9581bf
Refresh TTL; prune expired nodes.
2019-09-30 12:48:59 +01:00
Milos Gajdos
16c7b3a390
Added Registry TTL to memory registry. Tracking node lifetimes.
2019-09-30 12:48:59 +01:00
lubaoquan
866631df1d
fixes https://github.com/micro/go-micro/issues/793
2019-09-30 10:36:43 +08:00
Milos Gajdos
87a5e85062
Add 1.13 support. Fix tests to enable 1.13 support
2019-09-27 17:14:24 +01:00
Asim Aslam
ef7bb46884
Don't shutdown old nodes in mdns registry
2019-09-26 16:46:09 +01:00
Asim Aslam
2b8210a106
Preserve cache in the face of failure
2019-09-25 19:44:46 +01:00
Asim Aslam
7fe64192a7
Add flag for registry service client
2019-09-25 11:09:19 +01:00
Milos Gajdos
1f23c8a85a
Emit memory registry event only when it actually happens
2019-09-25 01:58:28 +01:00
Milos Gajdos
39755721d0
Fix proto formatting
2019-09-24 14:39:51 +01:00
Milos Gajdos
ccda1d3559
Remove rpc Sync method from registry handler
2019-09-24 10:41:48 +01:00
Milos Gajdos
61ee436cc4
Added Sync RPC call; it's identical to ListServices for now
2019-09-23 21:08:31 +01:00
Milos Gajdos
04a5d884da
Move global vars to the top of the src file: conventions
2019-09-23 20:48:25 +01:00
Milos Gajdos
0ec1b840fd
Add registry event to registry package
2019-09-23 20:48:25 +01:00
Asim Aslam
04b31d374c
Merge pull request #745 from micro/registry-service
...
Add service registry
2019-09-09 13:05:46 -07:00
Asim Aslam
2c16c7e62f
Fix build breaks
2019-09-09 09:25:47 -07:00
Asim Aslam
1f44d7a4a1
Add registry handler
2019-09-09 09:20:17 -07:00
Asim Aslam
b076ef906a
Add service registry
2019-09-09 08:57:57 -07:00
Asim Aslam
c669a2b155
Use .micro domain for mdns
2019-09-09 05:11:25 -07:00
Shu Xian
bf0e46dc0d
fix registry addr error for mq-rpc
2019-08-14 21:32:28 +08:00
johnson
de34f259ba
update service not found error tooltip
...
fixing test failed issue
change back error type
change registry.ErrNotFound back to selector.ErrNotFound
change back error type
change registry.ErrNotFound back to selector.ErrNotFound
remove the single node tunnel test
Fix read yaml config from memory
package main
import (
"fmt"
"github.com/micro/go-micro/config"
"github.com/micro/go-micro/config/source/memory"
)
var configData = []byte(`
---
a: 1234
`)
func main() {
memorySource := memory.NewSource(
memory.WithYAML(configData),
)
// Create new config
conf := config.NewConfig()
// Load file source
conf.Load(memorySource)
fmt.Println(string(conf.Bytes()))
}
2019-08-11 19:31:22 +08:00
Asim Aslam
edb0fe4b16
fix the consul setup code
2019-08-06 19:43:46 +01:00
Asim Aslam
e16420fdbd
Consul config fix https://github.com/micro/go-micro/pull/641
2019-08-06 09:15:38 +01:00
Asim Aslam
b806e7bdf5
Stop a goroutine leak in registy
2019-08-01 23:03:11 +01:00
Milos Gajdos
c108188d65
Preallocate nodes slice in addNodes before populating it
2019-07-15 14:47:33 +01:00
Milos Gajdos
609934ce99
Preallocate slices; avoide append() reallocations when copying data
2019-07-15 11:13:58 +01:00
Asim Aslam
1f744b31a4
Return the dead node when deleting the service
2019-07-10 21:03:53 +01:00
Asim Aslam
e0bf1c2283
Remove Port from registry
2019-07-08 08:01:42 +01:00
Asim Aslam
a412486c39
Update registry util semantics
2019-07-04 11:36:49 +01:00
0e34c572b4
export registry util function to safe copy registry data
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-07-04 11:39:43 +03:00
Milos Gajdos
f6e064cdbd
Fixed router idempotency. Return registry.ErrWatchStopped from mdns reg
2019-07-01 15:46:26 +01:00
Milos Gajdos
c3d2043caf
Reverts c0a628d65b024d1c1a95f9e6a0419d356da1e973
...
Fixes #540
2019-06-22 19:01:03 +01:00
Milos Gajdos
c0a628d65b
Simplified delService code; properly delete service nodes
2019-06-18 21:39:00 +01:00
Asim Aslam
7266c62d09
remove comment
2019-06-18 15:33:31 +01:00
Asim Aslam
6459cdfc21
propagate updates to local watchers
2019-06-18 14:42:56 +01:00
ab692ff590
remove mock data from memory registry
...
memory registry can be used as fast inprocess registry,
so mock data needs to be in tests only
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-06-13 00:51:56 +03:00
Milos Gajdos
73b0a0ed0e
Return registry.ErrWatcherStopped when consul watcher stops.
...
The original code returns "result chan closed" errors.Error which does
not carry higher semantics signal to downstream despite go-micro having
a clearly defined Error for this behaviour. This commit fixes that and
lets the downstream i.e. consumer of this code to act based on different
errors.
2019-06-09 15:51:27 +01:00
Asim Aslam
4035ab5c7b
Change go-log links
2019-05-31 00:38:05 +01:00
Asim Aslam
a353c83f47
Add rcache => cache
2019-05-31 00:22:43 +01:00
Blair McMillan
389d141c5a
Use existing consul client for watcher
2019-05-16 12:37:48 +10:00
58775249c5
fix race with rcache
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-05-09 23:02:32 +03:00
1a151a3348
fix data races in gossip registry
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-05-09 22:32:21 +03:00
Patrick Moore
afd1f9f50f
Update consul/watch import
...
The watch package was moved from github.com/hashicorp/consul/watch to github.com/hashicorp/consul/api/watch to live in the API module.
Per: 6c885d383a
2019-04-26 10:40:10 -07:00
Asim Aslam
df6561165a
gofmt
2019-04-23 07:13:21 +00:00
shuxian
d3f447a732
solve NewRegistry httpclient 'nil pointer dereference' bug
2019-02-28 09:56:57 +08:00
Asim Aslam
f4be7d018d
delete context file
2019-02-13 14:39:38 +00:00
Asim Aslam
7cb466359f
rework gossip registry
2019-02-13 14:39:20 +00:00
f961c571bd
registry: [gossip] fix panic
...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x88 pc=0xd1b215]
goroutine 8 [running]:
sync.(*RWMutex).RLock(...)
/var/home/vtolstov/sdk/go1.12beta2/src/sync/rwmutex.go:48
github.com/hashicorp/memberlist.(*Memberlist).LocalNode(0x0, 0x0)
/home/vtolstov/devel/projects/centralv2/vendor/github.com/hashicorp/memberlist/memberlist.go:417 +0x35
github.com/micro/go-micro/registry/gossip.(*gossipRegistry).run.func3(0xc000155880)
/home/vtolstov/devel/projects/centralv2/vendor/github.com/micro/go-micro/registry/gossip/gossip.go:565 +0xf5
created by github.com/micro/go-micro/registry/gossip.(*gossipRegistry).run
/home/vtolstov/devel/projects/centralv2/vendor/github.com/micro/go-micro/registry/gossip/gossip.go:553 +0xa25
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-02-13 16:36:38 +03:00
36532c94b2
registry: [gossip] add ConnectRetry and ConnectTimeout
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-02-12 17:16:35 +03:00
422e2002a0
registry: gossip unify registry option passing, optimize
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-02-02 01:12:39 +03:00
Asim Aslam
cead99ac44
fix nil pointer
2019-02-01 16:01:51 +00:00
Asim Aslam
88e12347d0
update mdns to remove race condition
2019-02-01 13:41:11 +00:00
Asim Aslam
652b1067f5
fix data race
2019-02-01 09:05:03 +00:00
Asim Aslam
48b80dd051
replace memory registry
2019-01-18 17:29:17 +00:00
Asim Aslam
7314af347b
Set MDNS as default registry
2019-01-15 16:50:37 +00:00
Asim Aslam
39c24baca9
rename mock things to memory
2019-01-14 15:27:25 +00:00
Asim Aslam
bb31480f1a
downgrade code generated stuff
2019-01-10 10:57:04 +00:00
xinfei.wu
eec1726f1d
add package comment
2019-01-09 16:31:23 +08:00
xinfei.wu
453ce2fcbe
add locker
2019-01-09 14:24:12 +08:00
Asim Aslam
5cae330732
Update selector race, rename cache selector
2018-12-29 15:44:51 +00:00
Asim Aslam
8b54a850f7
run gossip updater first
2018-12-19 19:04:44 +00:00
Asim Aslam
fae8c5eb4c
fix context
2018-12-19 09:27:53 +00:00
5bcdf189de
implement some gossip options
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2018-12-19 12:25:16 +03:00
Asim Aslam
b02e1e04fc
Add gossip readme
2018-12-06 18:26:51 +00:00
Asim Aslam
cf8c059711
Merge pull request #345 from micro/gossip
...
Gossip
2018-12-06 18:22:52 +00:00
Asim Aslam
b343420af6
update the gossiper
2018-12-06 18:19:05 +00:00
Asim Aslam
1ed2b589a2
log to dev null
2018-12-04 17:33:11 +00:00
Asim Aslam
72d8dc89fb
add cmd and bug fix
2018-12-04 17:22:20 +00:00
Asim Aslam
8706aa4a46
Remove file
2018-12-04 16:43:05 +00:00