diff --git a/contrib/interconnect/udp/ic_udpifc.c b/contrib/interconnect/udp/ic_udpifc.c index d11e4577cd6..8bce8a7cf29 100644 --- a/contrib/interconnect/udp/ic_udpifc.c +++ b/contrib/interconnect/udp/ic_udpifc.c @@ -3753,7 +3753,7 @@ SetupUDPIFCInterconnect(EState *estate) Gp_interconnect_queue_depth == 4 && Gp_interconnect_snd_queue_depth == 2) { - int32 perQueue = Gp_interconnect_mem_size / + int32 perQueue = ((int64)Gp_interconnect_mem_size * 1024 * 1024) / (Gp_max_packet_size * sliceNum); calcSndDepth = Max(Gp_interconnect_snd_queue_depth, perQueue / 2); diff --git a/contrib/udp2/ic_udp2.c b/contrib/udp2/ic_udp2.c index 0972c874941..fb9cafc8813 100644 --- a/contrib/udp2/ic_udp2.c +++ b/contrib/udp2/ic_udp2.c @@ -179,7 +179,7 @@ SetupInterconnectUDP2(EState *estate) Gp_interconnect_queue_depth == 4 && Gp_interconnect_snd_queue_depth == 2) { - int32 perQueue = Gp_interconnect_mem_size / + int32 perQueue = ((int64)Gp_interconnect_mem_size * 1024 * 1024) / (Gp_max_packet_size * sliceNum); calcSndDepth = Max(Gp_interconnect_snd_queue_depth, perQueue / 2);