Skip to content

Latest commit

 

History

History
189 lines (138 loc) · 4.32 KB

File metadata and controls

189 lines (138 loc) · 4.32 KB

GaussDB CDC 一键测试

🚀 快速开始

./test_gaussdb_cdc.sh

就这么简单!脚本会自动完成:

  1. ✅ 部署最新代码
  2. ✅ 运行完整测试
  3. ✅ 验证数据一致性

📋 测试流程

该脚本按顺序执行以下步骤:

步骤 1: 部署最新代码

  • 强制清理 Maven 缓存
  • 编译最新代码
  • 部署到 Flink 集群
  • 重启集群并提交作业

步骤 2: 运行增量同步测试

  • 初始化测试环境
  • 测试 INSERT 操作
  • 测试 UPDATE 操作
  • 测试 DELETE 操作
  • 验证每个操作的同步结果

步骤 3: 验证数据一致性

  • 比较 GaussDB 和 MySQL 记录数量
  • 比较数据内容完整性
  • 验证测试数据同步状态

📊 输出示例

成功时:

╔══════════════════════════════════════════════════════════════════╗
║                      测试完成报告                                ║
╚══════════════════════════════════════════════════════════════════╝

测试结果:
  ✅ 步骤 1: 部署成功
  ✅ 步骤 2: 测试通过 (INSERT/UPDATE/DELETE)
  ✅ 步骤 3: 数据一致性验证通过

测试统计:
  ⏱️  总耗时: 2 分 30 秒
  📅 完成时间: 2025-12-23 18:15:00

╔══════════════════════════════════════════════════════════════════╗
║  🎉 恭喜!所有测试通过!                                         ║
║  GaussDB CDC 增量同步功能正常工作                                ║
╚══════════════════════════════════════════════════════════════════╝

失败时:

╔══════════════════════════════════════════════════════════════════╗
║  ❌ 测试失败                                                     ║
╚══════════════════════════════════════════════════════════════════╝

💡 故障排查建议:
  1. 查看 Flink 日志: docker logs flink-taskmanager
  2. 检查作业状态: docker exec flink-jobmanager ./bin/flink list
  3. 验证数据库连接: ./run_gaussdb_test.sh init
  4. 查看详细文档: cat TEST_SCRIPTS_GUIDE.md

🔧 单独运行各个步骤

如果需要单独运行某个步骤:

# 只部署
./deploy_gaussdb.sh

# 只测试
./run_gaussdb_test.sh test

# 只验证
./check_sync_result.sh

📖 详细文档

查看完整的使用指南:

cat TEST_SCRIPTS_GUIDE.md

🎯 返回值

  • 0 - 所有测试通过
  • 1 - 测试失败

可用于 CI/CD 流程:

if ./test_gaussdb_cdc.sh; then
    echo "部署到生产环境"
else
    echo "测试失败,停止部署"
    exit 1
fi

📞 故障排查

常见问题

Q: 部署失败怎么办?

# 检查 Maven 构建日志
mvn clean install -DskipTests

# 检查 Docker 容器状态
docker ps

Q: 测试失败怎么办?

# 查看 Flink 日志
docker logs flink-taskmanager | tail -100

# 检查数据库连接
./run_gaussdb_test.sh init

Q: 验证失败怎么办?

# 手动检查数据
./check_sync_result.sh

# 清理测试数据重试
./run_gaussdb_test.sh cleanup
./test_gaussdb_cdc.sh

🔄 持续集成示例

# .github/workflows/test.yml
name: GaussDB CDC Test

on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run CDC Test
        run: ./test_gaussdb_cdc.sh

📝 版本信息

  • 版本: 2.0
  • 更新日期: 2025-12-23
  • 维护者: GaussDB CDC Team

🎉 快速验证

修改代码后,只需运行:

./test_gaussdb_cdc.sh

就能完整验证 CDC 功能是否正常!