GitHub user yuanchenl opened a pull request:

    https://github.com/apache/incubator-quickstep/pull/338

    Fixed the gRPC Problem for Data Exchange

    Fixed the data exchange problem encountered in distributed quickstep.
    
    It turned out that problem of data exchange is caused by the gRPC channel's 
limit on the maximum receive size (4 MiB, 4194304 Bytes).
    
    In DataExchange.proto
    `message PullResponse {
      bool is_valid = 1;
      uint64 num_slots = 2;
      bytes block = 3;
    }`
    the block size is 4MiB (which is fine), but there are 9 bytes of overhead 
(num_slots 8 bytes and is_valid 1 byte). These extra bytes are the essential 
reason that the data exchange failed.
    In this commit, I set the limit of maximum receive size to 4194213 (4MiB + 
9bytes), which is right enough for us. 
    With this commit, the distributed quickstep is able to pass ssb test with a 
scale factor of 10

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/yuanchenl/incubator-quickstep 
data_exchange_fix

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/incubator-quickstep/pull/338.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #338
    
----
commit a4d4c6f4397b14516471659ad510812c09863e8d
Author: Yuanchen Li <yli@...>
Date:   2018-03-13T19:58:00Z

    Fixed the gRPC Problem for Data Exchange

----


---

Reply via email to