apache / cloudberry

One advanced and mature open-source MPP (Massively Parallel Processing) database. Open source alternative to Greenplum Database.
https://cloudberry.apache.org
Apache License 2.0
430 stars 104 forks source link

Load the IPC implement in interconnect dynamically. #646

Closed zhangyue-hashdata closed 1 month ago

zhangyue-hashdata commented 1 month ago

Improve the loading of interconnect with a more flexible way.

  1. Change the guc type of gp_interconnect_type from enum to string;
  2. The provider(interconnect.so, etc) registers the IPClayer implement by adding to IPCLayerImpls[] in CBDB kernel;
  3. Choose the IPClayer implement by type_name in IPCLayerImpls[], and set CurrentMotionIPCLayer meanwhile;
  4. Remove "if (Gp_interconnect_type == xxx)" in CBDB kernel;

fix #ISSUE_Number


Change logs

Describe your change clearly, including what problem is being solved or what feature is being added.

If it has some breaking backward or forward compatibility, please clary.

Why are the changes needed?

Describe why the changes are necessary.

Does this PR introduce any user-facing change?

If yes, please clarify the previous behavior and the change this PR proposes.

How was this patch tested?

Please detail how the changes were tested, including manual tests and any relevant unit or integration tests.

Contributor's Checklist

Here are some reminders and checklists before/when submitting your pull request, please check them: