Skip to content

Commit 1c4b9d1

Browse files
committed
docs: Add common issues section to README
1 parent cab172f commit 1c4b9d1

File tree

1 file changed

+23
-40
lines changed

1 file changed

+23
-40
lines changed

README.md

Lines changed: 23 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,29 @@ Before migrating data, you need to copy cbcopy_helper to the `$GPHOME/bin` direc
9595

9696
By default, both metadata and data are migrated. You can use `--metadata-only` to migrate only metadata, or `--data-only` to migrate only data. Based on our best practices, we recommend migrating metadata first using `--metadata-only`, and then migrating data using `--data-only`. This two-step approach helps ensure a more controlled and reliable migration process.
9797

98+
### Database version requirements
99+
cbcopy relies on the "COPY ON SEGMENT" command of the database, so it has specific version requirements for the database.
100+
101+
- `GPDB 4.x` - A minimum of GPDB version 4.3.17 or higher is required. If your version does not meet this requirement, you can upgrade to GPDB 4.3.17.
102+
- `GPDB 5.x` - A minimum of GPDB version 5.1.0 or higher is required. If your version does not meet this requirement, you can upgrade to GPDB 5.1.0.
103+
- `GPDB 6.x` - cbcopy is compatible with all versions of GPDB 6.x.
104+
- `GPDB 7.x` - cbcopy is compatible with all versions of GPDB 7.x.
105+
- `CBDB 1.x` - cbcopy is compatible with all versions of CBDB 1.x.
106+
107+
### ⚠️ Important: Common Issues
108+
109+
#### Hostname Resolution
110+
111+
**Common Issue**: Many users encounter connection failures when using hostname for `--dest-host` because the hostname cannot be resolved from the source cluster nodes.
112+
113+
**Problem**: When you specify a hostname (e.g., `--dest-host=dest-warehouse-cluster`) instead of an IP address, all nodes in the source cluster must be able to resolve this hostname to the correct IP address. If the hostname resolution fails on any source cluster node, the migration will fail with connection errors.
114+
115+
#### `cbcopy_helper` Not Deployed
116+
117+
**Common Issue**: A common oversight is forgetting to copy the `cbcopy_helper` binary to all nodes in both the source and destination clusters. This can lead to connection errors that may appear to be DNS or network-related issues.
118+
119+
**Problem**: The `cbcopy` utility relies on the `cbcopy_helper` executable being present on every node of both the source and destination clusters to facilitate data transfer. If the helper is missing on any node, `cbcopy` may fail with error messages, such as being unable to resolve hostnames or establish connections, because the necessary communication channel cannot be opened.
120+
98121
### Connection Modes
99122

100123
cbcopy supports two connection modes to handle different network environments:
@@ -124,46 +147,6 @@ cbcopy --source-host=external-db --dest-host=k8s-warehouse-cluster \
124147
--connection-mode=pull ...
125148
```
126149

127-
### ⚠️ Important: Hostname Resolution
128-
129-
**Common Issue**: Many users encounter connection failures when using hostname for `--dest-host` because the hostname cannot be resolved from the source cluster nodes.
130-
131-
**Problem**: When you specify a hostname (e.g., `--dest-host=dest-warehouse-cluster`) instead of an IP address, all nodes in the source cluster must be able to resolve this hostname to the correct IP address. If the hostname resolution fails on any source cluster node, the migration will fail with connection errors.
132-
133-
**Solutions**:
134-
135-
1. **Use IP Address (Recommended)**: Replace hostnames with IP addresses
136-
```bash
137-
# Instead of hostname
138-
cbcopy --dest-host=dest-warehouse-cluster ...
139-
140-
# Use IP address
141-
cbcopy --dest-host=192.168.1.100 ...
142-
```
143-
144-
2. **Configure DNS/Hosts File**: Ensure the hostname can be resolved on all source cluster nodes
145-
```bash
146-
# Add to /etc/hosts on all source cluster nodes
147-
192.168.1.100 dest-warehouse-cluster
148-
```
149-
150-
3. **Verify Resolution**: Test hostname resolution from all source nodes before migration
151-
```bash
152-
# Run on each source cluster node
153-
nslookup dest-warehouse-cluster
154-
# or
155-
ping dest-warehouse-cluster
156-
```
157-
158-
### Database version requirements
159-
cbcopy relies on the "COPY ON SEGMENT" command of the database, so it has specific version requirements for the database.
160-
161-
- `GPDB 4.x` - A minimum of GPDB version 4.3.17 or higher is required. If your version does not meet this requirement, you can upgrade to GPDB 4.3.17.
162-
- `GPDB 5.x` - A minimum of GPDB version 5.1.0 or higher is required. If your version does not meet this requirement, you can upgrade to GPDB 5.1.0.
163-
- `GPDB 6.x` - cbcopy is compatible with all versions of GPDB 6.x.
164-
- `GPDB 7.x` - cbcopy is compatible with all versions of GPDB 7.x.
165-
- `CBDB 1.x` - cbcopy is compatible with all versions of CBDB 1.x.
166-
167150
### Migration Modes
168151

169152
cbcopy supports seven migration modes.

0 commit comments

Comments
 (0)