zhangyue1818 commented on code in PR #1357:
URL: https://github.com/apache/cloudberry/pull/1357#discussion_r2447445598


##########
contrib/udp2/README.md:
##########
@@ -0,0 +1,247 @@
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+   http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+-->
+
+# UDP2 Interconnect Protocol Implementation
+
+## Project Background
+
+UDP2 is a next-generation interconnect protocol implementation based on the 
original UDP protocol, located in the `contrib/udp2` directory. In CloudBerry 
Database, the interconnect is responsible for data transmission and 
synchronization between nodes, serving as a core component for distributed 
query execution.
+
+Currently, the database supports three interconnect protocol implementations:
+- **TCP** (`contrib/interconnect/tcp`) - Reliable transmission based on TCP 
protocol
+- **UDP** (`contrib/interconnect/udp`) - High-performance transmission based 
on UDP protocol
+- **Proxy** (`contrib/interconnect/proxy`) - Proxy-based transmission
+
+UDP2 is an architectural refactoring based on the original UDP protocol 
implementation, aimed at achieving complete separation between interconnect and 
the database kernel.
+
+## Project Goals
+
+The core objectives of the UDP2 protocol implementation are:
+
+1. **Architecture Decoupling**: Completely separate the interconnect protocol 
implementation from the database kernel, enabling independent development and 
evolution
+2. **Independent Testing**: Enable end-to-end functional and performance 
testing of interconnect without depending on the database kernel
+3. **Rapid Diagnosis**: Quickly identify whether issues are at the 
interconnect level or database kernel level
+4. **Modular Design**: Provide clear interface boundaries for easier extension 
and maintenance

Review Comment:
   The most significant difference is that UDP2 is a complete architectural 
refactoring that achieves separation of concerns between the interconnect 
protocol and the database kernel. While the original UDP implementation is 
tightly integrated with PostgreSQL internals, UDP2 provides a modular design 
that enables independent development, testing, and maintenance of the 
interconnect layer. This architectural change makes UDP2 more maintainable, 
testable, and allows for easier debugging and performance optimization of the 
interconnect layer without affecting the database kernel.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to