7b385bf163
minimize allocations in logger and tunnel code ( #1323 )
...
* logs alloc
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* tunnel allocs
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* try to fix tunnel
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* cache cipher for send
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* more logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-11 17:55:39 +00:00
8ee5607254
[WIP]: broker ErrorHandler option ( #1296 )
...
* broker ErrorHandler option
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* rewrite Event interface, add error
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* implement new interface
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* change ErrorHandler func to broker.Handler
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-06 21:25:16 +00:00
Jake Sanders
a851b9db7a
Comment typo in gRPC subscriber ( #1304 )
2020-03-05 14:55:46 +00:00
d807dac2a7
server/grpc: avoid panic in case of nil Header ( #1303 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-05 17:45:31 +03:00
ce2ba71002
server: subscribe to topic with own name if router not nil ( #1295 )
...
* server: subscribe to topic with own name if router not nil
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-03-05 10:29:50 +03:00
64a5ce9607
various fixes ( #1267 )
...
* logger: remove Panic log level
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: add missing Unlock in Subscribe error
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server: minor code change
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: extend test suite with pub/sub testing
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: fix invalid check and allow subscriber error to be returned
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* server/grpc: add pubsub tests
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* client/grpc: check for nil req/rsp
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-26 18:34:40 +00:00
5b0175c2e5
allocations improvements and tunnel fixes ( #1248 )
...
* reduce allocations in tunnel code
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* another allocation fix
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* allocate maps with len if it known
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* allocate key for send once
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-24 14:15:20 +00:00
24d574ae71
server/grpc: add MaxConn option to limit max inflight requests ( #1247 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-24 13:48:56 +00:00
117f56ebf7
prune util/log and user logger ( #1237 )
...
* prune util/log and user logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* plaintext logger
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* add newline
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-23 13:45:20 +00:00
Lars Lehtonen
c7eed618c2
server/grpc: Prune Unused Code ( #1220 )
...
* server/grpc: remove unused grpcServer.newCodec()
* server/grpc: remove unused defaultRPCCodecs
2020-02-19 20:58:22 +00:00
58598d0fe0
fixes for safe conversation and avoid panics ( #1213 )
...
* fixes for safe convertation
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* fix client publish panic
If broker connect returns error we dont check it status and use
it later to publish message, mostly this is unexpected because
broker connection failed and we cant use it.
Also proposed solution have benefit - we flag connection status
only when we have succeseful broker connection
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* api/handler/broker: fix possible broker publish panic
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-18 23:05:38 +00:00
ben-toogood
aa9a0a8d23
Fix Micro Proxy nil Transport Bug ( #1208 )
2020-02-17 12:28:48 +03:00
Asim Aslam
964b7dee3f
add tls config to server ( #1202 )
...
* add tls config
* add TLSConfig to acme provider
2020-02-15 15:10:26 +00:00
Asim Aslam
158949d0d0
accept Listen option in grpc server ( #1201 )
2020-02-15 14:09:24 +00:00
79ad1e6fe3
various fixes for broker and messaging in server ( #1187 )
...
* provide broker disconnect messages in server
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* broker/eats: another fix
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-11 18:41:23 +00:00
7105e4099c
pass micro errors from grpc server to grpc client ( #1167 )
...
* pass micro errors from grpc server to grpc client
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
* wrap micro errors.Error to grpc status
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-06 10:18:33 +00:00
ben-toogood
d621548120
Auth ( #1147 )
...
Implement the Auth interface, with JWT and service implementations.
* Update Auth Interface
* Define Auth Service Implementation
* Support Service Auth
* Add Auth Service Proto
* Remove erronious files
* Implement Auth Service Package
* Update Auth Interface
* Update Auth Interface. Add Validate, remove Add/Remove roles
* Make Revoke interface more explicit
* Refactor serializing and deserializing service accounts
* Fix srv name & update interface to be more explicit
* Require jwt public key for auth
* Rename Variables (Resource.ID => Resource.Name & ServiceAccount => Account)
* Implement JWT Auth Package
* Remove parent, add ID
* Update auth imports to v2. Add String() to auth interface
2020-02-03 08:16:02 +00:00
efb59d9709
fix map race condition in grpc server
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-02-01 02:52:53 +03:00
f23638c036
fix import paths for v2 release
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-01-30 14:44:40 +03:00
Micro
62c067adcd
Refactor debug/trace ready for Jaeger
2020-01-29 15:45:11 +00:00
Asim Aslam
6d636b7ab3
whoa bad commit, bad asim
2020-01-22 17:07:56 +00:00
Asim Aslam
009c598049
Change version to latest
2020-01-22 17:03:38 +00:00
Lars Lehtonen
7a17a221ff
server: remove unused invalidRequest
2020-01-20 10:09:27 -08:00
Asim Aslam
bdd9ec560b
strip sub comments
2020-01-19 13:47:14 +00:00
Asim Aslam
0c03bf064b
only connect broker if there are subscribers
2020-01-19 13:45:28 +00:00
Asim Aslam
fc08a9146c
Add broker comments on server subscribe
2020-01-19 01:16:36 +00:00
Asim Aslam
0a37767127
Fix service registration with registry service
2020-01-18 19:53:51 +00:00
Asim Aslam
13d1d2fa08
hard stop if graceful stop fails after 1 second
2020-01-18 10:18:23 +00:00
Asim Aslam
fd6eb23307
do not wait to stop
2020-01-18 00:58:27 +00:00
Maarten Bezemer
50b20413d3
RPC stream client/server mutex fix ( #884 )
...
* Unlock RPC client while actually receiving a message
As receiving a message might block for a long time, unblocking the client allows to let it send messages in the meanwhile without using 'tricks'
* Unlock RPC server while actually receiving a message
As receiving a message might block for a long time, unblocking the client allows to let it send messages in the meanwhile without using 'tricks'
* Protect Close() against race conditions
* Concurrency and Sequence tests
2020-01-12 09:13:14 +00:00
f4fb923fb2
pass additional context for broker subscribe ( #1105 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2020-01-10 15:04:15 +00:00
Asim Aslam
0b8ff3a8bb
fix grpc json streaming by setting content sub type ( #1089 )
2020-01-07 18:37:34 +00:00
Asim Aslam
225b17559b
fix log streaming
2020-01-02 18:23:43 +00:00
Asim Aslam
e697912ee5
don't panic on nil
2020-01-01 21:56:29 +00:00
Asim Aslam
c145f355dd
Moving to gRPC by default ( #1069 )
...
* Step 1
* Fix the test panics
2019-12-29 21:07:55 +00:00
943445270f
fix registry check issue ( #1067 )
...
fix #1066
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-28 11:11:46 +00:00
Eagle Wu
a09b6729cc
Fix missing recover while occur panic in handler ( #1063 )
2019-12-27 10:53:11 +00:00
Asim Aslam
4e02f444fd
Merge pull request #1024 from unistack-org/server
...
add server Context option to pass own context
2019-12-17 08:48:39 +00:00
Astone
caa1bcf9fe
named return value for error defer modify.
2019-12-09 11:08:21 +08:00
Asim Aslam
c445aed6b1
Cleanup and speedup network convergence along with direct messaging for connect and solicit
2019-12-07 19:54:29 +00:00
1c5a4c470f
add server Context option to pass own context
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-05 19:37:03 +03:00
Milos Gajdos
5865e89bed
Fixing dead code and go vet moaning
2019-12-05 16:10:49 +00:00
a1eaf9cc20
linting fixes
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-04 00:22:02 +03:00
Asim Aslam
bb1a1358b7
Merge pull request #1012 from Astone-Chou/lint
...
improve code quality
2019-12-03 13:10:04 +00:00
Astone
29fb58db39
improve code quality
2019-12-03 20:59:02 +08:00
Astone
f9b900b2ca
optimize: a better way for return error
2019-12-03 12:47:29 +08:00
b8e96f45d4
add recovery in case of panics
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-12-03 02:25:40 +03:00
Asim Aslam
af94899b54
Fix rpc go routine leak
2019-11-27 17:12:07 +00:00
Asim Aslam
5932dd753c
Merge pull request #981 from unistack-org/subscriber
...
subscriber recovery
2019-11-27 10:28:51 +00:00
86a6328254
subscriber recovery
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-11-27 13:21:20 +03:00
Asim Aslam
8b63df7a98
regenerate the protos
2019-11-26 13:53:33 +00:00
Asim Aslam
080363e8c4
The mega cruft proxy PR ( #974 )
...
* the mega cruft proxy PR
* Rename broker id
* add protocol=grpc
* fix compilation breaks
* Add the tunnel broker to the network
* fix broker id
* continue to be backwards compatible in the protocol
2019-11-25 16:31:43 +00:00
49d73faa5f
return error to caller on grpc server request processing ( #962 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-11-20 10:28:30 +00:00
da6c1be607
dont panic on missing headers in broker event ( #963 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-11-20 07:55:47 +00:00
Asim Aslam
9f481542f3
Fix a codec race by locking the buffers. Include a buffer pool for perf. ( #941 )
...
* Fix a codec race by locking the buffers. Include a buffer pool for perf.
* Read Lock on buffer Read
2019-11-13 11:05:53 +00:00
Asim Aslam
72522a869a
fix endpoint extractor panic
2019-11-11 17:37:48 +00:00
Till Knuesting
5ae3e179b9
preallocated slices ( #934 )
2019-11-11 00:03:51 +00:00
c696a859be
fix data race for server Wait option ( #931 )
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-11-09 21:52:41 +00:00
Asim Aslam
a9e8fc6039
Don't set stream unless its true
2019-11-09 10:32:52 +00:00
Till Knuesting
f67c5e779f
preallocated slices ( #917 )
2019-11-05 17:43:12 +00:00
Yang Shi
c14bf5dc4e
improve the log of panic recovering ( #906 )
2019-11-02 23:08:54 +00:00
tegk
f88518d994
used gofmt with -s flag on whole project
2019-11-01 15:07:53 +00:00
Richard Lindhout
a725998c0a
Update rpc_server.go
2019-09-27 16:01:16 +02:00
Richard Lindhout
f3b723ca44
Do nog log error when EOS is being written on an EOF socket
2019-09-27 15:02:21 +02:00
Asim Aslam
fa0d020556
Set register ttl and interval by default
2019-09-23 17:59:34 +01:00
Asim Aslam
ac5eb5da47
Remove fmt
2019-09-22 15:31:07 +01:00
Asim Aslam
2434c7b2a7
replace version format
2019-09-22 15:21:22 +01:00
Shu Xian
c1c173dfe5
recover handler if panic
2019-09-11 00:40:40 +08:00
Asim Aslam
6daf4fda72
Full support for grpc server side
2019-08-26 12:33:59 +01:00
Asim Aslam
36623bfe50
Improve stream processing
2019-08-25 19:30:22 +01:00
Asim Aslam
6128d18ee0
checkpoint fixing data race to process h2 and grpc requests
2019-08-24 20:12:04 +01:00
Milos Gajdos
ba99f037fb
Lock started flag when changing it.
2019-08-23 15:07:08 +01:00
Milos Gajdos
80dc0b97a9
Make server starts and stops idempotent
2019-08-23 15:00:57 +01:00
Asim Aslam
c6e15ef2d1
rename server, set version to timestamp
2019-08-21 15:43:46 +01:00
f1d08f251f
fix panic: negative WaitGroup counter
...
avoid double wait group Done()
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-08-19 13:58:57 +03:00
Asim Aslam
c44fd63301
Force grpc client/server to use grpc codec for broker
2019-08-18 11:28:21 +01:00
Asim Aslam
991142cd57
No need to set request in the buffer
2019-08-16 14:42:45 +01:00
Asim Aslam
88817dc53f
Strip some dead code
2019-08-15 20:54:00 +01:00
Asim Aslam
ef04331b86
multiplexing cruft
2019-08-15 20:08:49 +01:00
Asim Aslam
f6b8045dd5
send client error if it exists
2019-08-15 15:22:53 +01:00
Asim Aslam
a42de29f67
Do same for host port on deregister
2019-08-15 08:59:50 +01:00
Shu Xian
bf0e46dc0d
fix registry addr error for mq-rpc
2019-08-14 21:32:28 +08:00
Asim Aslam
d0d729a789
fix the tunnel execution
2019-08-11 18:11:33 +01: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
3adce58eb2
Add monitor/debug packages
2019-08-06 17:53:14 +01:00
Asim Aslam
bb01b3ed78
Don't extract repeated value
2019-08-06 14:52:15 +01:00
Asim Aslam
c3ea25225c
Don't check value name on extraction
2019-08-06 14:49:42 +01:00
Asim Aslam
beffa625f8
fix broker log line
2019-08-06 12:25:51 +01:00
Asim Aslam
7884e889f4
Don't publish the process rpc call and embed the router handler in the network
2019-07-31 16:36:53 +01:00
Asim Aslam
a63dcda003
Strip the verbosity of the debug handler
2019-07-28 19:43:50 +01:00
Asim Aslam
1db98ee0f0
move all the buffer references to util/buf
2019-07-28 19:33:24 +01:00
1217ca94b1
bunch of other ipv6 fixes
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-07-18 08:59:53 +03:00
e688ab0a45
fix ipv6 addr parsing and using
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-07-17 12:20:29 +03:00
a3bddf5839
changes to minimize allocations and provide useful info
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-07-17 00:21:03 +03:00
Asim Aslam
c5dd737568
Add back in broker address
2019-07-10 19:58:30 +01:00
Asim Aslam
64ec0633a3
Fix breaks and go fmt
2019-07-10 07:47:17 +01:00
Asim Aslam
0bf54c122f
move transport back
2019-07-09 18:41:26 +01:00
Asim Aslam
5cd1e81ba9
Merge pull request #570 from sunfuze/grpc-json-marshal
...
grpc: using jsonpb.Marshaler to do Marshal, map to jsonpb.Unmarsh
2019-07-08 08:44:51 +01:00
Asim Aslam
e0bf1c2283
Remove Port from registry
2019-07-08 08:01:42 +01:00
Joe
b655f7f55a
grpc: using jsonpb.Marshaler to do Marshal, map to jsonpb.Unmarsh
2019-07-08 10:32:10 +08:00