Sorry wanted to clarify by the way, when I run `client.py` against server, 
I get an rpc error raised on the *first* `next` call, rather then on the 
2nd one as I'd expect.

```
(grpc110) vagrant@vagrant:/vagrant$ python client.py
Traceback (most recent call last):
  File "client.py", line 34, in <module>
    make_requests(make_client())
  File "client.py", line 26, in make_requests
    next(resp)
  File 
"/home/vagrant/grpc110/lib/python3.6/site-packages/grpc/_channel.py", line 
347, in __next__
    return self._next()
  File 
"/home/vagrant/grpc110/lib/python3.6/site-packages/grpc/_channel.py", line 
330, in _next
    raise self
grpc._channel._Rendezvous: <_Rendezvous of RPC that terminated with 
(StatusCode.INVALID_ARGUMENT, test)>
```



On Friday, March 23, 2018 at 4:48:33 AM UTC-7, rvsh...@gmail.com wrote:

> I was trying out python server streaming, and it is unclear to me if there 
> is a guarantee that the client will receive all messages the server sent. I 
> have a test setup here 
> https://github.com/rvshah825/grpc-python/tree/5f306d820458b539187a6c7fa80f7d3e7d2bed87
>  
> (client.py, server.py)
>
> The setup is that the client opens a stream request to server, and the 
> server returns a value then aborts the call. It seems that if I wait a 
> second on client before looking for replies on the stream, I never seen the 
> initial value, and instead only get abort.
>
> The reason I am opening in forum rather than as bug on tracker is that it 
> is unclear to me what is the expected behavior. Naively, I would assume 
> that if I consume the stream response in client calling `next` repeatedly 
> will give me the results that the server sent in order. I would consider 
> aborting to be a value, so in this test I assume that the stream of values 
> from server is [Response, Abort]. What is a little ambiguous is that since 
> the server is sending replies without waiting for requests from client, 
> maybe I cannot expect this?
>
>
>
> Platform I am testing on if relevant is:
> ```
> (grpc110) vagrant@vagrant:/vagrant$ python
> Python 3.6.4 (default, Jan 28 2018, 17:52:01)
> (grpc110) vagrant@vagrant:/vagrant$ lsb_release -a
> No LSB modules are available.
> Distributor ID: Ubuntu
> Description:    Ubuntu 16.04.3 LTS
> Release:        16.04
> Codename:       xenial
> (grpc110) vagrant@vagrant:/vagrant$ pip list
> DEPRECATION: The default format will switch to columns in the future. You 
> can use --format=(legacy|columns) (or define a format=(legacy|columns) in 
> your pip.conf under the [list] section) to disable this warning.
> grpcio (1.10.0)
> grpcio-tools (1.10.0)
> pip (9.0.3)
> protobuf (3.5.2.post1)
> setuptools (39.0.1)
> six (1.11.0)
> wheel (0.30.0)
>
> ```
>

-- 
You received this message because you are subscribed to the Google Groups 
"grpc.io" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to grpc-io+unsubscr...@googlegroups.com.
To post to this group, send email to grpc-io@googlegroups.com.
Visit this group at https://groups.google.com/group/grpc-io.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/grpc-io/73ccca5a-511d-443a-aca6-34bf2a542009%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to