1. 09 11月, 2020 1 次提交
    • N
      ic-proxy: refresh peers on demand · 9265ea6a
      Ning Yu 提交于
      The user can adjust the ic-proxy peer addresses at runtime and reload by
      sending SIGHUP, if an address is modified or removed, the corresponding
      peer connection must be closed or reestablished.  The same to the peer
      listener, if the listener port is changed, then must re-setup the
      listener.
      9265ea6a
  2. 14 8月, 2020 1 次提交
    • H
      Using libuv 1.18 API in ic-proxy · ab36eb90
      Hubert Zhang 提交于
      ic-proxy is developed with libuv, the minimal supported libuv version is
      1.18.0. But in commit 608514, we introduce new API in libuv 1.19, which
      break compatibility on os like Ubuntu 18.04 whose default libuv version
      is 1.18.
      
      We should keep our code base align with libuv 1.18, and replace the new
      API in libuv 1.19. The API change is mainly about how to access data field
      in uv handle and uv loop. The new API uses function interface like
      `uv_handle_set_data` and `uv_handle_get_data` to access data filed, while
      the old API in 1.18 access the data filed directly. Note that in the latest
      libuv version 1.38.2, the old API and new API are both supported. And libuv
      is stable enough to support the old API for a long time.
      ab36eb90
  3. 10 7月, 2020 1 次提交
    • N
      ic-proxy: implement the core logic · 6188fb1f
      Ning Yu 提交于
      The interconnect proxy mode, a.k.a. ic-proxy, is a new interconnect
      mode, all the backends communicate via a proxy bgworker, all the
      backends on the same segment share the same proxy bgworker, so every two
      segments only need one network connection between them, which reduces
      the network flows as well the ports.
      
      To enable the proxy mode we need to first configure the guc
      gp_interconnect_proxy_addresses, for example:
      
          gpconfig \
            -c gp_interconnect_proxy_addresses \
            -v "'1:-1:10.0.0.1:2000,2:0:10.0.0.2:2001,3:1:10.0.0.3:2002'" \
            --skipvalidation
      
      Then restart to take effect.
      6188fb1f