You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi!
There's a problem in grpc-websocket-proxy that affects etcd's websocket watches.
Problem is that it doesn't handle server messages (i.e replies!) longer 64 KB.
The root cause is Golang's bufio.Scanner having a hard-coded maxTokenSize value equal to 64 KB.
Error message in this case is:
time="2020-10-18T15:42:56Z" level=warning msg="scanner err: bufio.Scanner: token too long"
It's easy to reproduce, you just need to create a key/value entry in etcd with a value longer than 64 KB and you won't get it back in the notification.
A simple test example is here: https://gist.github.com/vitalif/a634ac0543e6cacdda4ec288d922d9cf
I've just sent a dirty fix here: tmc/grpc-websocket-proxy#25
I don't know what's the proper way to fix it since it may involve patching Golang standard library so I'm posting it here for your review :)
The text was updated successfully, but these errors were encountered:
Hi!
There's a problem in grpc-websocket-proxy that affects etcd's websocket watches.
Problem is that it doesn't handle server messages (i.e replies!) longer 64 KB.
The root cause is Golang's bufio.Scanner having a hard-coded maxTokenSize value equal to 64 KB.
Error message in this case is:
time="2020-10-18T15:42:56Z" level=warning msg="scanner err: bufio.Scanner: token too long"
It's easy to reproduce, you just need to create a key/value entry in etcd with a value longer than 64 KB and you won't get it back in the notification.
A simple test example is here: https://gist.github.com/vitalif/a634ac0543e6cacdda4ec288d922d9cf
I've just sent a dirty fix here: tmc/grpc-websocket-proxy#25
I don't know what's the proper way to fix it since it may involve patching Golang standard library so I'm posting it here for your review :)
The text was updated successfully, but these errors were encountered: