[rds-devel] RDS-HA
Or Gerlitz
ogerlitz at voltaire.com
Thu Nov 30 07:16:13 PST 2006
Zach Brown wrote:
>> With Oracle/RDS being an open source project, lets move to do all
>> rds devel related communication over this list.
>
> Indeed, we've been moving more aggressively in that direction.
OK
> If the IB transport sees an error on the connection it queues shutdown
> work on the connection thread. That thread calls back into the IB
> transport to shutdown the transport-specific bits of the connection via
> rds_ib_conn_shutdown(). Then later the thread will try to re-establish
> the connection by calling rds_ib_conn_connect().
>
> rds_ib_conn_connect() uses rdma_resolve_addr() to kick off the
> connection establishment. So as long as Or's IPoIB HA patches result in
> completion errors and rdma_resolve_addr() pointing at the now-active
> side of a failover then RDS will be able to bring up a new RC QP and
> start sending messages down it again.
>
> The passive listening side of connection re-establishment can be seen in
> rds_ib_cm_handle_connect(). RDS maintains only one transport connection
> for a given peer IP address. If it sees an incoming connection request
> that already has an established connection it tears down the existing
> connection and tries reconnecting again. It's keeping the number of
> moving pieces minimized by handling the stale connection case like the
> case where both nodes race to establish connections.
One thing to note here is that the new connection might be established
over a different rdma/dma device (when ib0 and ib1 map to different
HCAs). So the RDS code must not assume it can always recycle resources
(eg PD/CQ/QP/DMA-MR) created for the old IB connection and use them with
the new IB connection. Looking at the code, i see that rds_ib_setup_qp
is called for each new connection and that it allocates everything from
scratch
> Or, if you're about to send a refresh of the patch series to
> openib-devel maybe we can focus on working with those?
Just sent them out today...
Or.
More information about the rds-devel
mailing list