diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..2a913f7 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,6 @@ +.git +.vscode +scripts +logs +tests +deployment \ No newline at end of file diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..5b4e905 --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,145 @@ +name: Test + +on: + push: + branches: + - main + pull_request: + branches: + - main + +jobs: + milvus-cdc-test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - uses: actions/setup-python@v4 + with: + python-version: 3.8 + cache: pip + cache-dependency-path: 'tests/requirements.txt' + - name: Deploy Source Milvus + timeout-minutes: 15 + shell: bash + working-directory: tests/deployment/upstream/ + run: | + docker-compose up -d + bash ../../../scripts/check_healthy.sh + docker-compose ps -a + + - name: Creating kind cluster + uses: helm/kind-action@v1.2.0 + + - name: Print cluster information + run: | + kubectl config view + kubectl cluster-info + kubectl get nodes + kubectl get pods -n kube-system + helm version + kubectl version + + - name: Deploy Target Milvus + timeout-minutes: 15 + shell: bash + working-directory: tests/deployment/downstream + run: | + helm repo add milvus https://milvus-io.github.io/milvus-helm + helm repo update + helm install --wait --timeout 720s cdc-target milvus/milvus -f standalone-values.yaml; + kubectl get pods + sleep 20s + kubectl get pods + kubectl port-forward service/cdc-target-milvus 19500:19530 >/dev/null 2>&1 & + sleep 20s + # check whether port-forward success + nc -vz 127.0.0.1 19500 + + - uses: actions/setup-go@v4 + with: + go-version: '1.18' + cache-dependency-path: server/go.sum + cache: true + - name: Build CDC + timeout-minutes: 15 + working-directory: server + shell: bash + run: | + go build -o milvus-cdc main/main.go + ls -l + + - name: Deploy Milvus CDC + timeout-minutes: 15 + working-directory: server + shell: bash + run: | + ./milvus-cdc > server.log 2>&1 & + sleep 20s + nc -vz 127.0.0.1 8444 + sleep 20s + curl --location '127.0.0.1:8444/cdc' \ + --header 'Content-Type: application/json' \ + --data '{ + "request_type": "create", + "request_data": { + "milvus_connect_param": { + "host": "127.0.0.1", + "port": 19500, + "username": "", + "password": "", + "enable_tls": false, + "ignore_partition": true, + "connect_timeout": 10 + }, + "collection_infos": [ + { + "name": "sift_128_euclidean_HNSW" + } + ] + } + }' + + - name: Install dependencies + timeout-minutes: 5 + working-directory: tests + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Download data + timeout-minutes: 5 + working-directory: tests/assets/ann_hdf5 + run: | + bash download.sh + + - name: Run tests for source milvus + timeout-minutes: 15 + working-directory: tests/scripts + run: | + python source_test.py --host 127.0.0.1 --port 19530 + + - name: Wait for 1 minutes + timeout-minutes: 5 + run: | + sleep 60s + + - name: Run tests for target milvus + timeout-minutes: 15 + working-directory: tests/scripts + run: | + python target_test.py --host 127.0.0.1 --port 19500 + + - name: Verify deletion + timeout-minutes: 15 + working-directory: tests/scripts + run: | + python verify_delete.py --source_host 127.0.0.1 --source_port 19530 --target_host 127.0.0.1 --target_port 19500 + + - name: Upload logs + if: ${{ ! success() }} + uses: actions/upload-artifact@v2 + with: + name: logs + path: | + server/server.log diff --git a/.gitignore b/.gitignore index 4d092d6..b88ffe0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,5 @@ .DS_Store +.vscode **/.idea/* +**/dist/* +**/*.log/* diff --git a/.goreleaser.yaml b/.goreleaser.yaml new file mode 100644 index 0000000..f5385d9 --- /dev/null +++ b/.goreleaser.yaml @@ -0,0 +1,48 @@ +# This is an example .goreleaser.yml file with some sensible defaults. +# Make sure to check the documentation at https://goreleaser.com +before: + hooks: + # You may remove this if you don't use go modules. + - go mod tidy + # you may remove this if you don't need go generate + # - go generate ./... +builds: + - env: + - CGO_ENABLED=1 + main: ./main + goos: + # - linux + # - windows + - darwin + goarch: + - amd64 + - arm64 +archives: + - format: tar.gz + # this name template makes the OS and Arch compatible with the results of uname. + name_template: >- + {{ .ProjectName }}_ + {{- title .Os }}_ + {{- if eq .Arch "amd64" }}x86_64 + {{- else if eq .Arch "386" }}i386 + {{- else }}{{ .Arch }}{{ end }} + {{- if .Arm }}v{{ .Arm }}{{ end }} + # use zip for windows archives + format_overrides: + - goos: windows + format: zip +checksum: + name_template: 'checksums.txt' +snapshot: + name_template: "{{ incpatch .Version }}-next" +changelog: + sort: asc + filters: + exclude: + - '^docs:' + - '^test:' + +# The lines beneath this are called `modelines`. See `:help modeline` +# Feel free to remove those if you don't want/use them. +# yaml-language-server: $schema=https://goreleaser.com/static/schema.json +# vim: set ts=2 sw=2 tw=0 fo=cnqoj diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..558b08f --- /dev/null +++ b/Dockerfile @@ -0,0 +1,14 @@ +FROM golang:1.18 AS builder +ENV CGO_ENABLED=1 +WORKDIR /app +COPY . . +RUN go mod tidy +RUN cd server && go build -o /app/milvus-cdc main/main.go + +FROM debian:bullseye +WORKDIR /app +COPY --from=builder /app/milvus-cdc ./ +COPY --from=builder /app/server/configs ./configs +EXPOSE 8444 + +CMD ["/bin/bash", "-c", "cat /app/configs/cdc.yaml;/app/milvus-cdc"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..7235ad9 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# Milvus-CDC + +Milvus-CDC is a change data capture tool for Milvus. It can capture the changes of upstream Milvus collections and sink them to downstream Milvus. diff --git a/build_image.sh b/build_image.sh new file mode 100644 index 0000000..ad8d07c --- /dev/null +++ b/build_image.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +# get current git branch +BRANCH=$(git symbolic-ref --short HEAD) + +# get current git commit id +COMMIT_ID=$(git rev-parse --short HEAD) + +# build docker image +docker build -t milvus-cdc:${BRANCH}-${COMMIT_ID} . +docker tag milvus-cdc:${BRANCH}-${COMMIT_ID} milvus-cdc:latest \ No newline at end of file diff --git a/deployment/k8s/configmap.yaml b/deployment/k8s/configmap.yaml new file mode 100644 index 0000000..3841589 --- /dev/null +++ b/deployment/k8s/configmap.yaml @@ -0,0 +1,28 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: milvus-cdc-config + namespace: chaos-testing +data: + cdc.yaml: | + address: 0.0.0.0 + port: 8444 + etcd.endpoints: [10.101.143.170:2379] # etcd endpoints + etcd.rootpath: cdc_demo + source: + etcd.endpoints: [10.101.143.170:2379] # etcd endpoints + etcd.rootpath: cdc-test-source # etcd rootpath + etcd.meta.path: meta # etcd meta sub path + defaultPartitionName: _default + reader.buffer.len: 10 + mqtype: pulsar + pulsar: + address: 10.101.152.110 + port: 6650 + web.address: + web.port: 80 + max.message.size: 5242880 + tenant: public + namespace: default + kafka: + broker_list: localhost:9092 \ No newline at end of file diff --git a/deployment/k8s/deployment.yaml b/deployment/k8s/deployment.yaml new file mode 100644 index 0000000..a9c2e5b --- /dev/null +++ b/deployment/k8s/deployment.yaml @@ -0,0 +1,40 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: milvus-cdc +spec: + selector: + matchLabels: + app: milvus-cdc + instance: my-release + replicas: 2 + template: + metadata: + labels: + app: milvus-cdc + instance: my-release + spec: + containers: + - name: milvus-cdc + image: harbor.milvus.io/qa/milvus-cdc:0.1 + imagePullPolicy: Always + resources: + limits: + cpu: 500m + memory: 1Gi + requests: + cpu: 250m + memory: 256Mi + securityContext: + privileged: false + volumeMounts: + - name: cdc-config + mountPath: /app/configs/cdc.yaml + subPath: cdc.yaml + volumes: + - name: cdc-config + configMap: + defaultMode: 420 + name: milvus-cdc-config + restartPolicy: Always + diff --git a/deployment/k8s/service.yaml b/deployment/k8s/service.yaml new file mode 100644 index 0000000..64a52b6 --- /dev/null +++ b/deployment/k8s/service.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Service +metadata: + name: milvus-cdc-service + labels: + app: milvus-cdc + instance: my-release +spec: + selector: + app: milvus-cdc + instance: my-release + ports: + - name: milvus-cdc + protocol: TCP + port: 8444 + targetPort: 8444 \ No newline at end of file diff --git a/scripts/check_healthy.sh b/scripts/check_healthy.sh new file mode 100644 index 0000000..9b293da --- /dev/null +++ b/scripts/check_healthy.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +#to check containers all running and minio is healthy +function check_healthy { + Expect=$(yq '.services | length' 'docker-compose.yml') + Expect_health=$(yq '.services' 'docker-compose.yml' |grep 'healthcheck'|wc -l) + cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l) + healthy=$(docker-compose ps | grep "healthy" | wc -l) + time_cnt=0 + echo "running num $cnt expect num $Expect" + echo "healthy num $healthy expect num $Expect_health" + while [[ $cnt -ne $Expect || $healthy -ne 1 ]]; + do + printf "waiting all containers getting running\n" + sleep 5 + let time_cnt+=5 + # if time is greater than 300s, the condition still not satisfied, we regard it as a failure + if [ $time_cnt -gt 300 ]; + then + printf "timeout,there are some issues with deployment!" + exit 1 + fi + cnt=$(docker-compose ps | grep -E "running|Running|Up|up" | wc -l) + healthy=$(docker-compose ps | grep "healthy" | wc -l) + echo "running num $cnt expect num $Expect" + echo "healthy num $healthy expect num $Expect_health" + done +} + +check_healthy \ No newline at end of file diff --git a/scripts/export_log_docker.sh b/scripts/export_log_docker.sh new file mode 100644 index 0000000..14bb84a --- /dev/null +++ b/scripts/export_log_docker.sh @@ -0,0 +1,22 @@ +#!/bin/bash + +# Exit immediately for non zero status +set -e + +log_dir=${1:-"logs"} +array=($(docker-compose ps -a|awk 'NR == 1 {next} {print $1}')) +echo ${array[@]} +if [ ! -d $log_dir ]; +then + mkdir -p $log_dir +fi +echo "export logs start" +for container in ${array[*]} +do +if [[ $container == milvus-* ]]; +then + echo "export logs for container $container " + docker logs $container > ./$log_dir/$container.log 2>&1 || echo "export logs for container $container failed" +fi +done +echo "export logs done" \ No newline at end of file diff --git a/scripts/uninstall_milvus.sh b/scripts/uninstall_milvus.sh new file mode 100644 index 0000000..be58029 --- /dev/null +++ b/scripts/uninstall_milvus.sh @@ -0,0 +1,7 @@ +# Exit immediately for non zero status +set -e +release=${1:-"milvus-chaos"} +ns=${2:-"chaos-testing"} +helm uninstall ${release} -n=${ns} +kubectl delete pvc -l release=${release} -n=${ns} +kubectl delete pvc -l app.kubernetes.io/instance=${release} -n=${ns} \ No newline at end of file diff --git a/server/cdc b/server/cdc deleted file mode 100755 index afc3f8c..0000000 Binary files a/server/cdc and /dev/null differ diff --git a/server/configs/cdc.yaml b/server/configs/cdc.yaml index a2302b3..c384648 100644 --- a/server/configs/cdc.yaml +++ b/server/configs/cdc.yaml @@ -1,5 +1,5 @@ --- -address: localhost +address: 0.0.0.0 port: 8444 task.maxNum: 100 name:maxLength: 256 @@ -21,7 +21,7 @@ source: tenant: public namespace: default kafka: - broker_list: localhost:9092 + broker_list: 127.0.0.1:9092 diff --git a/server/go_coverage.txt b/server/go_coverage.txt deleted file mode 100644 index 56a0fd4..0000000 --- a/server/go_coverage.txt +++ /dev/null @@ -1,758 +0,0 @@ -github.com/zilliztech/milvus-cdc/server/metrics.go:120.13,129.2 8 1 -github.com/zilliztech/milvus-cdc/server/metrics.go:131.23,134.2 2 0 -github.com/zilliztech/milvus-cdc/server/model/request/base.go:48.44,57.2 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:50.64,59.2 4 8 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:61.54,65.2 3 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:67.55,71.2 3 9 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:73.58,77.2 3 7 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:79.28,81.6 2 8 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:81.6,83.28 2 20 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:90.3,90.34 1 18 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:94.3,94.47 1 17 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:99.3,99.18 1 17 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:83.28,84.18 1 15 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:87.4,87.16 1 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:84.18,86.5 1 9 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:90.34,92.12 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:94.47,96.12 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:100.30,102.18 2 7 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:106.4,107.18 2 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:111.4,111.36 1 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:116.4,118.29 3 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:119.29,120.37 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:125.4,127.29 3 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:128.32,129.37 1 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:134.4,134.49 1 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:137.4,140.10 4 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:141.11,142.70 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:102.18,104.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:107.18,109.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:111.36,114.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:120.37,123.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:129.37,132.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:134.49,136.5 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:147.102,152.41 4 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:161.2,161.17 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:174.2,174.6 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:152.41,153.81 1 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:153.81,156.18 3 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:156.18,158.5 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:161.17,163.7 2 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:163.7,164.11 1 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:165.28,166.20 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:167.12,169.11 2 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:174.6,175.10 1 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:176.15,178.10 2 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:179.11,180.11 1 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:181.28,182.20 1 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:183.16,185.11 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:191.55,194.2 2 20 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:196.58,198.76 2 38 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:201.2,201.79 1 37 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:204.2,204.12 1 36 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:198.76,200.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:201.79,203.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:207.41,208.46 1 21 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:213.2,213.9 1 19 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:208.46,212.3 3 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:214.20,216.62 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:217.10,218.18 1 18 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:235.72,237.2 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:239.67,241.2 1 7 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:243.67,245.2 1 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:247.83,249.2 1 5 -github.com/zilliztech/milvus-cdc/server/error.go:25.39,27.2 1 3 -github.com/zilliztech/milvus-cdc/server/error.go:29.38,31.2 1 6 -github.com/zilliztech/milvus-cdc/server/error.go:33.42,36.2 2 3 -github.com/zilliztech/milvus-cdc/server/error.go:42.38,44.2 1 2 -github.com/zilliztech/milvus-cdc/server/error.go:46.38,48.2 1 3 -github.com/zilliztech/milvus-cdc/server/error.go:50.42,53.2 2 2 -github.com/zilliztech/milvus-cdc/server/error.go:59.41,61.2 1 4 -github.com/zilliztech/milvus-cdc/server/error.go:63.40,65.2 1 3 -github.com/zilliztech/milvus-cdc/server/error.go:67.44,70.2 2 4 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:32.38,34.2 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:37.62,39.27 2 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:43.2,43.11 1 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:39.27,42.3 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:44.29,45.17 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:46.29,47.17 1 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:48.28,49.15 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:50.10,52.9 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:57.65,59.27 2 2 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:63.2,63.11 1 2 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:59.27,62.3 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:64.29,65.17 1 2 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:66.29,67.17 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:68.28,69.15 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:70.10,72.9 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:76.88,79.2 2 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:81.54,83.2 1 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:86.65,90.2 3 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:93.67,100.2 3 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:38.90,45.2 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:47.64,51.2 3 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:53.107,54.46 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:59.2,59.27 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:54.46,57.3 2 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:59.27,61.3 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:64.150,65.21 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:68.2,70.16 2 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:65.21,67.3 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:70.16,77.3 2 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:43.44,45.2 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:47.36,48.11 1 10 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:49.24,50.19 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:51.24,52.19 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:53.23,54.18 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:55.26,56.21 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:57.10,58.45 1 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:71.47,73.41 2 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:76.2,76.14 1 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:73.41,75.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:40.28,42.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:44.33,46.2 0 0 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:48.91,50.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:52.91,54.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:56.88,58.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:60.91,62.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:64.82,66.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:68.85,70.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:72.48,74.2 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:58.57,59.37 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:62.2,63.16 2 4 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:66.2,67.16 2 3 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:72.2,79.12 4 2 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:59.37,61.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:63.16,65.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:67.16,69.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:82.32,85.16 3 2 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:88.2,89.34 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:102.2,102.37 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:85.16,87.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:89.34,92.17 3 2 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:95.3,97.97 3 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:100.3,100.111 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:92.17,94.4 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:97.97,99.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:102.37,104.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:108.3,108.46 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:104.17,106.12 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:108.46,109.44 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:109.44,111.5 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:116.96,117.15 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:122.2,122.49 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:125.2,127.60 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:138.2,138.95 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:141.2,144.34 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:150.2,158.16 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:162.2,163.16 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:168.2,170.16 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:174.2,174.38 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:186.2,186.58 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:117.15,118.17 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:118.17,120.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:122.49,124.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:127.60,128.102 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:131.3,131.36 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:128.102,130.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:131.36,134.4 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:138.95,140.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:144.34,148.3 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:158.16,161.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:163.16,166.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:170.16,173.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:174.38,177.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:180.3,180.13 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:177.17,179.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:181.17,184.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:189.72,191.29 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:194.2,194.28 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:197.2,198.64 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:201.2,201.37 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:204.2,205.27 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:208.2,208.25 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:212.2,212.68 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:215.2,221.16 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:224.2,224.12 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:191.29,193.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:194.28,196.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:198.64,200.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:201.37,203.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:205.27,207.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:208.25,210.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:212.68,214.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:221.16,223.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:227.76,228.21 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:232.2,236.29 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:244.2,244.39 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:247.2,248.15 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:251.2,251.24 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:254.2,254.31 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:228.21,230.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:236.29,237.22 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:240.3,240.46 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:237.22,239.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:240.46,242.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:244.39,246.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:248.15,250.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:251.24,253.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:257.36,260.2 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:262.69,270.69 6 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:312.2,313.69 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:335.2,339.18 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:270.69,275.17 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:280.3,281.39 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:292.3,293.55 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:296.3,306.17 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:309.3,309.21 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:275.17,278.4 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:281.39,284.18 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:289.4,289.64 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:284.18,288.5 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:293.55,295.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:306.17,308.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:313.69,323.17 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:328.3,332.21 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:323.17,326.4 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:342.87,346.9 4 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:350.2,355.41 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:374.2,374.16 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:378.2,378.18 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:346.9,348.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:355.41,358.17 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:361.3,371.13 10 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:358.17,360.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:374.16,376.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:381.84,385.9 4 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:389.2,394.37 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:403.2,403.16 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:407.2,407.18 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:385.9,387.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:394.37,397.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:400.3,401.13 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:397.17,399.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:403.16,405.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:410.87,414.9 4 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:418.2,423.38 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:432.2,432.16 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:436.2,436.18 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:414.9,416.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:423.38,426.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:429.3,430.13 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:426.17,428.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:432.16,434.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:439.78,441.16 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:447.2,449.8 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:441.16,442.34 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:445.3,445.34 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:442.34,444.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:452.81,454.48 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:457.2,458.71 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:454.48,456.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:458.71,460.4 1 0 -github.com/zilliztech/milvus-cdc/server/handle_map.go:34.13,37.30 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:37.30,39.5 1 5 -github.com/zilliztech/milvus-cdc/server/handle_map.go:40.55,42.12 2 5 -github.com/zilliztech/milvus-cdc/server/handle_map.go:45.5,45.37 1 4 -github.com/zilliztech/milvus-cdc/server/handle_map.go:42.12,44.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:49.30,51.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:52.55,54.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:57.5,57.37 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:54.12,56.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:61.30,63.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:64.55,66.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:69.5,69.35 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:66.12,68.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:73.30,75.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:76.55,78.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:81.5,81.37 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:78.12,80.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:85.30,87.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:88.55,90.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:93.5,93.31 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:90.12,92.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:97.30,99.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:100.55,102.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:105.5,105.33 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:102.12,104.6 1 1 -github.com/zilliztech/milvus-cdc/server/server.go:38.50,48.2 8 0 -github.com/zilliztech/milvus-cdc/server/server.go:50.50,51.82 1 1 -github.com/zilliztech/milvus-cdc/server/server.go:51.82,53.40 2 8 -github.com/zilliztech/milvus-cdc/server/server.go:59.3,60.17 2 7 -github.com/zilliztech/milvus-cdc/server/server.go:65.3,67.17 3 6 -github.com/zilliztech/milvus-cdc/server/server.go:72.3,76.22 3 5 -github.com/zilliztech/milvus-cdc/server/server.go:53.40,58.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:60.17,64.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:67.17,71.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:76.22,80.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:84.101,87.2 2 7 -github.com/zilliztech/milvus-cdc/server/server.go:89.104,92.9 3 5 -github.com/zilliztech/milvus-cdc/server/server.go:97.2,98.82 2 4 -github.com/zilliztech/milvus-cdc/server/server.go:102.2,103.16 2 3 -github.com/zilliztech/milvus-cdc/server/server.go:112.2,112.17 1 1 -github.com/zilliztech/milvus-cdc/server/server.go:92.9,96.3 2 1 -github.com/zilliztech/milvus-cdc/server/server.go:98.82,101.3 2 1 -github.com/zilliztech/milvus-cdc/server/server.go:103.16,105.32 2 2 -github.com/zilliztech/milvus-cdc/server/server.go:108.3,109.13 2 2 -github.com/zilliztech/milvus-cdc/server/server.go:105.32,107.4 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:38.48,40.2 1 9 -github.com/zilliztech/milvus-cdc/server/meta.go:42.60,44.2 1 39 -github.com/zilliztech/milvus-cdc/server/meta.go:46.62,48.2 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:50.87,52.2 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:54.94,56.2 1 10 -github.com/zilliztech/milvus-cdc/server/meta.go:58.94,61.16 3 14 -github.com/zilliztech/milvus-cdc/server/meta.go:65.2,65.24 1 9 -github.com/zilliztech/milvus-cdc/server/meta.go:68.2,70.16 3 8 -github.com/zilliztech/milvus-cdc/server/meta.go:74.2,74.18 1 7 -github.com/zilliztech/milvus-cdc/server/meta.go:61.16,64.3 2 5 -github.com/zilliztech/milvus-cdc/server/meta.go:65.24,67.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:70.16,73.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:77.84,80.16 3 4 -github.com/zilliztech/milvus-cdc/server/meta.go:84.2,84.24 1 3 -github.com/zilliztech/milvus-cdc/server/meta.go:87.2,88.30 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:97.2,97.19 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:80.16,83.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:84.24,86.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:88.30,91.17 3 4 -github.com/zilliztech/milvus-cdc/server/meta.go:95.3,95.30 1 3 -github.com/zilliztech/milvus-cdc/server/meta.go:91.17,94.4 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:100.133,103.16 3 5 -github.com/zilliztech/milvus-cdc/server/meta.go:106.2,106.41 1 3 -github.com/zilliztech/milvus-cdc/server/meta.go:113.2,116.16 4 2 -github.com/zilliztech/milvus-cdc/server/meta.go:120.2,121.16 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:125.2,126.12 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:103.16,105.3 1 2 -github.com/zilliztech/milvus-cdc/server/meta.go:106.41,107.106 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:110.3,111.57 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:107.106,109.4 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:116.16,119.3 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:121.16,124.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:129.102,132.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:135.2,137.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:141.2,142.16 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:146.2,146.12 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:132.16,134.3 1 0 -github.com/zilliztech/milvus-cdc/server/meta.go:137.16,140.3 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:142.16,145.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:149.189,152.16 3 5 -github.com/zilliztech/milvus-cdc/server/meta.go:156.2,156.82 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:169.2,169.24 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:180.2,182.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:186.2,186.35 1 2 -github.com/zilliztech/milvus-cdc/server/meta.go:189.2,190.45 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:152.16,155.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:156.82,158.17 2 4 -github.com/zilliztech/milvus-cdc/server/meta.go:162.3,163.17 2 4 -github.com/zilliztech/milvus-cdc/server/meta.go:166.3,166.13 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:158.17,161.4 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:163.17,165.4 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:169.24,178.3 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:182.16,185.3 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:186.35,188.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:193.113,196.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:199.2,199.12 1 2 -github.com/zilliztech/milvus-cdc/server/meta.go:196.16,198.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:202.93,207.16 5 3 -github.com/zilliztech/milvus-cdc/server/meta.go:211.2,211.59 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:218.2,218.16 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:222.2,223.18 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:207.16,210.3 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:211.59,217.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:218.16,221.3 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:30.53,35.2 1 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:37.71,40.2 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:42.103,46.2 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:48.113,53.2 3 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:55.96,59.2 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:61.57,63.2 1 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:65.43,67.2 1 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:69.57,71.2 1 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:43.44,45.2 1 5 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:47.36,48.11 1 5 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:49.24,50.19 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:51.24,52.19 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:53.23,54.18 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:55.26,56.21 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:57.10,58.45 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:71.47,73.41 2 2 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:76.2,76.14 1 2 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:73.41,75.3 1 2 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:40.28,42.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:44.33,46.2 0 0 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:48.91,50.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:52.91,54.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:56.88,58.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:60.91,62.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:64.82,66.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:68.85,70.2 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_api.go:72.48,74.2 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:58.57,59.37 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:62.2,63.16 2 4 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:66.2,67.16 2 3 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:72.2,79.12 4 2 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:59.37,61.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:63.16,65.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:67.16,69.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:82.32,85.16 3 2 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:88.2,89.34 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:102.2,102.37 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:85.16,87.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:89.34,92.17 3 2 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:95.3,97.97 3 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:100.3,100.111 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:92.17,94.4 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:97.97,99.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:102.37,104.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:108.3,108.46 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:104.17,106.12 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:108.46,109.44 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:109.44,111.5 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:116.96,117.15 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:122.2,122.49 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:125.2,127.60 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:138.2,138.95 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:141.2,144.34 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:150.2,158.16 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:162.2,163.16 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:168.2,170.16 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:174.2,174.38 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:186.2,186.58 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:117.15,118.17 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:118.17,120.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:122.49,124.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:127.60,128.102 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:131.3,131.36 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:128.102,130.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:131.36,134.4 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:138.95,140.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:144.34,148.3 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:158.16,161.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:163.16,166.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:170.16,173.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:174.38,177.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:180.3,180.13 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:177.17,179.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:181.17,184.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:189.72,191.29 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:194.2,194.28 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:197.2,198.64 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:201.2,201.37 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:204.2,205.27 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:208.2,208.25 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:212.2,212.68 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:215.2,221.16 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:224.2,224.12 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:191.29,193.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:194.28,196.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:198.64,200.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:201.37,203.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:205.27,207.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:208.25,210.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:212.68,214.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:221.16,223.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:227.76,228.21 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:232.2,236.29 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:244.2,244.39 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:247.2,248.15 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:251.2,251.24 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:254.2,254.31 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:228.21,230.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:236.29,237.22 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:240.3,240.46 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:237.22,239.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:240.46,242.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:244.39,246.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:248.15,250.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:251.24,253.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:257.36,260.2 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:262.69,270.69 6 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:312.2,313.69 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:335.2,339.18 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:270.69,275.17 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:280.3,281.39 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:292.3,293.55 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:296.3,306.17 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:309.3,309.21 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:275.17,278.4 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:281.39,284.18 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:289.4,289.64 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:284.18,288.5 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:293.55,295.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:306.17,308.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:313.69,323.17 5 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:328.3,332.21 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:323.17,326.4 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:342.87,346.9 4 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:350.2,355.41 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:374.2,374.16 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:378.2,378.18 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:346.9,348.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:355.41,358.17 3 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:361.3,371.13 10 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:358.17,360.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:374.16,376.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:381.84,385.9 4 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:389.2,394.37 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:403.2,403.16 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:407.2,407.18 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:385.9,387.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:394.37,397.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:400.3,401.13 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:397.17,399.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:403.16,405.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:410.87,414.9 4 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:418.2,423.38 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:432.2,432.16 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:436.2,436.18 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:414.9,416.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:423.38,426.17 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:429.3,430.13 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:426.17,428.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:432.16,434.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:439.78,441.16 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:447.2,449.8 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:441.16,442.34 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:445.3,445.34 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:442.34,444.4 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:452.81,454.48 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:457.2,458.71 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:454.48,456.3 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_impl.go:458.71,460.4 1 0 -github.com/zilliztech/milvus-cdc/server/error.go:25.39,27.2 1 3 -github.com/zilliztech/milvus-cdc/server/error.go:29.38,31.2 1 6 -github.com/zilliztech/milvus-cdc/server/error.go:33.42,36.2 2 3 -github.com/zilliztech/milvus-cdc/server/error.go:42.38,44.2 1 2 -github.com/zilliztech/milvus-cdc/server/error.go:46.38,48.2 1 3 -github.com/zilliztech/milvus-cdc/server/error.go:50.42,53.2 2 2 -github.com/zilliztech/milvus-cdc/server/error.go:59.41,61.2 1 4 -github.com/zilliztech/milvus-cdc/server/error.go:63.40,65.2 1 3 -github.com/zilliztech/milvus-cdc/server/error.go:67.44,70.2 2 4 -github.com/zilliztech/milvus-cdc/server/metrics.go:120.13,129.2 8 1 -github.com/zilliztech/milvus-cdc/server/metrics.go:131.23,134.2 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:32.38,34.2 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:37.62,39.27 2 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:43.2,43.11 1 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:39.27,42.3 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:44.29,45.17 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:46.29,47.17 1 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:48.28,49.15 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:50.10,52.9 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:57.65,59.27 2 2 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:63.2,63.11 1 2 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:59.27,62.3 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:64.29,65.17 1 2 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:66.29,67.17 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:68.28,69.15 1 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:70.10,72.9 2 0 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:76.88,79.2 2 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:81.54,83.2 1 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:86.65,90.2 3 1 -github.com/zilliztech/milvus-cdc/server/metrics_task_num.go:93.67,100.2 3 0 -github.com/zilliztech/milvus-cdc/server/server.go:38.50,48.2 8 0 -github.com/zilliztech/milvus-cdc/server/server.go:50.50,51.82 1 1 -github.com/zilliztech/milvus-cdc/server/server.go:51.82,53.40 2 8 -github.com/zilliztech/milvus-cdc/server/server.go:59.3,60.17 2 7 -github.com/zilliztech/milvus-cdc/server/server.go:65.3,67.17 3 6 -github.com/zilliztech/milvus-cdc/server/server.go:72.3,76.22 3 5 -github.com/zilliztech/milvus-cdc/server/server.go:53.40,58.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:60.17,64.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:67.17,71.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:76.22,80.4 3 1 -github.com/zilliztech/milvus-cdc/server/server.go:84.101,87.2 2 7 -github.com/zilliztech/milvus-cdc/server/server.go:89.104,92.9 3 5 -github.com/zilliztech/milvus-cdc/server/server.go:97.2,98.82 2 4 -github.com/zilliztech/milvus-cdc/server/server.go:102.2,103.16 2 3 -github.com/zilliztech/milvus-cdc/server/server.go:112.2,112.17 1 1 -github.com/zilliztech/milvus-cdc/server/server.go:92.9,96.3 2 1 -github.com/zilliztech/milvus-cdc/server/server.go:98.82,101.3 2 1 -github.com/zilliztech/milvus-cdc/server/server.go:103.16,105.32 2 2 -github.com/zilliztech/milvus-cdc/server/server.go:108.3,109.13 2 2 -github.com/zilliztech/milvus-cdc/server/server.go:105.32,107.4 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:34.13,37.30 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:37.30,39.5 1 5 -github.com/zilliztech/milvus-cdc/server/handle_map.go:40.55,42.12 2 5 -github.com/zilliztech/milvus-cdc/server/handle_map.go:45.5,45.37 1 4 -github.com/zilliztech/milvus-cdc/server/handle_map.go:42.12,44.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:49.30,51.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:52.55,54.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:57.5,57.37 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:54.12,56.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:61.30,63.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:64.55,66.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:69.5,69.35 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:66.12,68.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:73.30,75.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:76.55,78.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:81.5,81.37 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:78.12,80.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:85.30,87.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:88.55,90.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:93.5,93.31 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:90.12,92.6 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:97.30,99.5 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:100.55,102.12 2 2 -github.com/zilliztech/milvus-cdc/server/handle_map.go:105.5,105.33 1 1 -github.com/zilliztech/milvus-cdc/server/handle_map.go:102.12,104.6 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:43.44,45.2 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:47.36,48.11 1 10 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:49.24,50.19 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:51.24,52.19 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:53.23,54.18 1 3 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:55.26,56.21 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:57.10,58.45 1 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:71.47,73.41 2 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:76.2,76.14 1 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:73.41,75.3 1 0 -github.com/zilliztech/milvus-cdc/server/model/request/base.go:48.44,57.2 3 0 -github.com/zilliztech/milvus-cdc/server/meta.go:38.48,40.2 1 9 -github.com/zilliztech/milvus-cdc/server/meta.go:42.60,44.2 1 39 -github.com/zilliztech/milvus-cdc/server/meta.go:46.62,48.2 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:50.87,52.2 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:54.94,56.2 1 10 -github.com/zilliztech/milvus-cdc/server/meta.go:58.94,61.16 3 14 -github.com/zilliztech/milvus-cdc/server/meta.go:65.2,65.24 1 9 -github.com/zilliztech/milvus-cdc/server/meta.go:68.2,70.16 3 8 -github.com/zilliztech/milvus-cdc/server/meta.go:74.2,74.18 1 7 -github.com/zilliztech/milvus-cdc/server/meta.go:61.16,64.3 2 5 -github.com/zilliztech/milvus-cdc/server/meta.go:65.24,67.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:70.16,73.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:77.84,80.16 3 4 -github.com/zilliztech/milvus-cdc/server/meta.go:84.2,84.24 1 3 -github.com/zilliztech/milvus-cdc/server/meta.go:87.2,88.30 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:97.2,97.19 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:80.16,83.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:84.24,86.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:88.30,91.17 3 4 -github.com/zilliztech/milvus-cdc/server/meta.go:95.3,95.30 1 3 -github.com/zilliztech/milvus-cdc/server/meta.go:91.17,94.4 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:100.133,103.16 3 5 -github.com/zilliztech/milvus-cdc/server/meta.go:106.2,106.41 1 3 -github.com/zilliztech/milvus-cdc/server/meta.go:113.2,116.16 4 2 -github.com/zilliztech/milvus-cdc/server/meta.go:120.2,121.16 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:125.2,126.12 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:103.16,105.3 1 2 -github.com/zilliztech/milvus-cdc/server/meta.go:106.41,107.106 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:110.3,111.57 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:107.106,109.4 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:116.16,119.3 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:121.16,124.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:129.102,132.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:135.2,137.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:141.2,142.16 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:146.2,146.12 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:132.16,134.3 1 0 -github.com/zilliztech/milvus-cdc/server/meta.go:137.16,140.3 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:142.16,145.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:149.189,152.16 3 5 -github.com/zilliztech/milvus-cdc/server/meta.go:156.2,156.82 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:169.2,169.24 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:180.2,182.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:186.2,186.35 1 2 -github.com/zilliztech/milvus-cdc/server/meta.go:189.2,190.45 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:152.16,155.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:156.82,158.17 2 4 -github.com/zilliztech/milvus-cdc/server/meta.go:162.3,163.17 2 4 -github.com/zilliztech/milvus-cdc/server/meta.go:166.3,166.13 1 4 -github.com/zilliztech/milvus-cdc/server/meta.go:158.17,161.4 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:163.17,165.4 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:169.24,178.3 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:182.16,185.3 2 0 -github.com/zilliztech/milvus-cdc/server/meta.go:186.35,188.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:193.113,196.16 3 2 -github.com/zilliztech/milvus-cdc/server/meta.go:199.2,199.12 1 2 -github.com/zilliztech/milvus-cdc/server/meta.go:196.16,198.3 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:202.93,207.16 5 3 -github.com/zilliztech/milvus-cdc/server/meta.go:211.2,211.59 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:218.2,218.16 1 1 -github.com/zilliztech/milvus-cdc/server/meta.go:222.2,223.18 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:207.16,210.3 2 2 -github.com/zilliztech/milvus-cdc/server/meta.go:211.59,217.3 2 1 -github.com/zilliztech/milvus-cdc/server/meta.go:218.16,221.3 2 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:38.90,45.2 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:47.64,51.2 3 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:53.107,54.46 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:59.2,59.27 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:54.46,57.3 2 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:59.27,61.3 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:64.150,65.21 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:68.2,70.16 2 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:65.21,67.3 1 0 -github.com/zilliztech/milvus-cdc/server/writer_callback.go:70.16,77.3 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:50.64,59.2 4 8 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:61.54,65.2 3 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:67.55,71.2 3 9 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:73.58,77.2 3 7 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:79.28,81.6 2 8 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:81.6,83.28 2 20 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:90.3,90.34 1 18 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:94.3,94.47 1 17 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:99.3,99.18 1 17 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:83.28,84.18 1 15 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:87.4,87.16 1 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:84.18,86.5 1 9 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:90.34,92.12 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:94.47,96.12 2 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:100.30,102.18 2 7 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:106.4,107.18 2 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:111.4,111.36 1 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:116.4,118.29 3 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:119.29,120.37 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:125.4,127.29 3 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:128.32,129.37 1 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:134.4,134.49 1 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:137.4,140.10 4 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:141.11,142.70 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:102.18,104.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:107.18,109.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:111.36,114.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:120.37,123.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:129.37,132.13 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:134.49,136.5 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:147.102,152.41 4 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:161.2,161.17 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:174.2,174.6 1 4 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:152.41,153.81 1 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:153.81,156.18 3 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:156.18,158.5 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:161.17,163.7 2 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:163.7,164.11 1 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:165.28,166.20 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:167.12,169.11 2 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:174.6,175.10 1 5 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:176.15,178.10 2 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:179.11,180.11 1 3 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:181.28,182.20 1 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:183.16,185.11 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:191.55,194.2 2 20 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:196.58,198.76 2 38 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:201.2,201.79 1 37 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:204.2,204.12 1 36 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:198.76,200.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:201.79,203.3 1 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:207.41,208.46 1 21 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:213.2,213.9 1 19 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:208.46,212.3 3 2 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:214.20,216.62 2 1 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:217.10,218.18 1 18 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:235.72,237.2 1 0 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:239.67,241.2 1 7 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:243.67,245.2 1 6 -github.com/zilliztech/milvus-cdc/server/cdc_task.go:247.83,249.2 1 5 -github.com/zilliztech/milvus-cdc/server/monitor.go:30.53,35.2 1 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:37.71,40.2 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:42.103,46.2 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:48.113,53.2 3 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:55.96,59.2 2 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:61.57,63.2 1 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:65.43,67.2 1 0 -github.com/zilliztech/milvus-cdc/server/monitor.go:69.57,71.2 1 0 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:43.44,45.2 1 5 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:47.36,48.11 1 5 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:49.24,50.19 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:51.24,52.19 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:53.23,54.18 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:55.26,56.21 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:57.10,58.45 1 1 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:71.47,73.41 2 2 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:76.2,76.14 1 2 -github.com/zilliztech/milvus-cdc/server/model/meta/task.go:73.41,75.3 1 2 diff --git a/tests/README.md b/tests/README.md new file mode 100644 index 0000000..67bfe2b --- /dev/null +++ b/tests/README.md @@ -0,0 +1,22 @@ + + +## set environment + +* deploy upstream Milvus +* deploy downstream Milvus +* deploy Milvus-CDC + +## run test + +* run test + +## verify result + +* verify result + + +how to verify the correctness? + +use a tool to check diff? support time range? + +how to get the task create time? \ No newline at end of file diff --git a/tests/assets/ann_hdf5/download.sh b/tests/assets/ann_hdf5/download.sh new file mode 100644 index 0000000..c3b9905 --- /dev/null +++ b/tests/assets/ann_hdf5/download.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# refer to https://github.com/yahoojapan/gongt/blob/master/assets/bench/download.sh + +function check () { + if [ ! -e $1 ]; then + curl -LO $2 + fi + # md5sum -c $1.md5 +} + +# check fashion-mnist-784-euclidean.hdf5 http://vectors.erikbern.com/fashion-mnist-784-euclidean.hdf5 +# check glove-25-angular.hdf5 http://vectors.erikbern.com/glove-25-angular.hdf5 +# check glove-50-angular.hdf5 http://vectors.erikbern.com/glove-50-angular.hdf5 +# check glove-100-angular.hdf5 http://vectors.erikbern.com/glove-100-angular.hdf5 +# check glove-200-angular.hdf5 http://vectors.erikbern.com/glove-200-angular.hdf5 +# check mnist-784-euclidean.hdf5 http://vectors.erikbern.com/mnist-784-euclidean.hdf5 +# check nytimes-256-angular.hdf5 http://vectors.erikbern.com/nytimes-256-angular.hdf5 +check sift-128-euclidean.hdf5 http://vectors.erikbern.com/sift-128-euclidean.hdf5 \ No newline at end of file diff --git a/tests/checker/README.md b/tests/checker/README.md new file mode 100644 index 0000000..e69de29 diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/deployment/downstream/standalone-values.yaml b/tests/deployment/downstream/standalone-values.yaml new file mode 100644 index 0000000..3ab274f --- /dev/null +++ b/tests/deployment/downstream/standalone-values.yaml @@ -0,0 +1,28 @@ +cluster: + enabled: false +log: + level: debug +image: + all: + repository: milvusdb/milvus + tag: master-latest + pullPolicy: IfNotPresent + +standalone: + messageQueue: kafka +kafka: + enabled: true + name: kafka + replicaCount: 3 + defaultReplicationFactor: 2 + +etcd: + replicaCount: 3 + image: + debug: true + repository: milvusdb/etcd + tag: 3.5.5-r2 +minio: + mode: standalone +pulsar: + enabled: false \ No newline at end of file diff --git a/tests/deployment/milvus-cdc/configs/cdc.yaml b/tests/deployment/milvus-cdc/configs/cdc.yaml new file mode 100644 index 0000000..e0f2179 --- /dev/null +++ b/tests/deployment/milvus-cdc/configs/cdc.yaml @@ -0,0 +1,24 @@ +--- +address: 0.0.0.0 +port: 8444 +task.maxNum: 100 +name:maxLength: 256 +etcd.endpoints: [localhost:2379] # etcd endpoints +etcd.rootpath: cdc +source: + etcd.endpoints: [localhost:2379] # etcd endpoints + etcd.rootpath: by-dev # etcd rootpath + etcd.meta.path: meta # etcd meta sub path + defaultPartitionName: _default + reader.buffer.len: 10 + mqtype: pulsar + pulsar: + address: localhost + port: 6650 + web.address: + web.port: 80 + max.message.size: 5242880 + tenant: public + namespace: default + kafka: + broker_list: localhost:9092 \ No newline at end of file diff --git a/tests/deployment/upstream/docker-compose.yml b/tests/deployment/upstream/docker-compose.yml new file mode 100644 index 0000000..1c5a008 --- /dev/null +++ b/tests/deployment/upstream/docker-compose.yml @@ -0,0 +1,153 @@ +version: '3.5' + +services: + etcd: + container_name: milvus-etcd + image: quay.io/coreos/etcd:v3.5.0 + ports: + - "2379:2379" + volumes: + - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/etcd:/etcd + command: etcd -advertise-client-urls=http://127.0.0.1:2379 -listen-client-urls http://0.0.0.0:2379 --data-dir /etcd + + pulsar: + container_name: milvus-pulsar + image: apachepulsar/pulsar:2.7.3 + ports: + - "6650:6650" + - "80:80" + volumes: + - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/pulsar:/pulsar/data + environment: + # bin/apply-config-from-env.py script will modify the configuration file based on the environment variables + # nettyMaxFrameSizeBytes must be calculated from maxMessageSize + 10240 (padding) + - nettyMaxFrameSizeBytes=104867840 # this is 104857600 + 10240 (padding) + - defaultRetentionTimeInMinutes=10080 + - defaultRetentionSizeInMB=-1 + # maxMessageSize is missing from standalone.conf, must use PULSAR_PREFIX_ to get it configured + - PULSAR_PREFIX_maxMessageSize=104857600 + - PULSAR_GC=-XX:+UseG1GC + command: | + /bin/bash -c \ + "bin/apply-config-from-env.py conf/standalone.conf && \ + exec bin/pulsar standalone --no-functions-worker --no-stream-storage" + + minio: + container_name: milvus-minio + image: minio/minio:RELEASE.2020-12-03T00-03-10Z + environment: + MINIO_ACCESS_KEY: minioadmin + MINIO_SECRET_KEY: minioadmin + volumes: + - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/minio:/minio_data + command: minio server /minio_data + healthcheck: + test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"] + interval: 30s + timeout: 20s + retries: 3 + + rootcoord: + container_name: milvus-rootcoord + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "rootcoord"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + ROOT_COORD_ADDRESS: rootcoord:53100 + depends_on: + - "etcd" + - "pulsar" + - "minio" + + proxy: + container_name: milvus-proxy + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "proxy"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + ports: + - "19530:19530" + + querycoord: + container_name: milvus-querycoord + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "querycoord"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + QUERY_COORD_ADDRESS: querycoord:19531 + depends_on: + - "etcd" + - "pulsar" + - "minio" + + querynode: + container_name: milvus-querynode + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "querynode"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + depends_on: + - "querycoord" + + indexcoord: + container_name: milvus-indexcoord + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "indexcoord"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + INDEX_COORD_ADDRESS: indexcoord:31000 + depends_on: + - "etcd" + - "pulsar" + - "minio" + + indexnode: + container_name: milvus-indexnode + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "indexnode"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + INDEX_COORD_ADDRESS: indexcoord:31000 + depends_on: + - "indexcoord" + + datacoord: + container_name: milvus-datacoord + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "datacoord"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + DATA_COORD_ADDRESS: datacoord:13333 + depends_on: + - "etcd" + - "pulsar" + - "minio" + + datanode: + container_name: milvus-datanode + image: ${MILVUS_IMAGE:-milvusdb/milvus:master-latest} + command: ["milvus", "run", "datanode"] + environment: + ETCD_ENDPOINTS: etcd:2379 + MINIO_ADDRESS: minio:9000 + PULSAR_ADDRESS: pulsar://pulsar:6650 + depends_on: + - "datacoord" + +networks: + default: + name: milvus \ No newline at end of file diff --git a/tests/deployment/upstream/standalone-values.yaml b/tests/deployment/upstream/standalone-values.yaml new file mode 100644 index 0000000..3ab274f --- /dev/null +++ b/tests/deployment/upstream/standalone-values.yaml @@ -0,0 +1,28 @@ +cluster: + enabled: false +log: + level: debug +image: + all: + repository: milvusdb/milvus + tag: master-latest + pullPolicy: IfNotPresent + +standalone: + messageQueue: kafka +kafka: + enabled: true + name: kafka + replicaCount: 3 + defaultReplicationFactor: 2 + +etcd: + replicaCount: 3 + image: + debug: true + repository: milvusdb/etcd + tag: 3.5.5-r2 +minio: + mode: standalone +pulsar: + enabled: false \ No newline at end of file diff --git a/tests/pytest.ini b/tests/pytest.ini new file mode 100644 index 0000000..e69de29 diff --git a/tests/requirements.txt b/tests/requirements.txt new file mode 100644 index 0000000..39b7518 --- /dev/null +++ b/tests/requirements.txt @@ -0,0 +1,45 @@ +--extra-index-url https://test.pypi.org/simple/ +pytest-cov==2.8.1 +requests==2.26.0 +scikit-learn==1.1.2 +timeout_decorator==0.5.0 +ujson==5.4.0 +pytest==7.2.0 +pytest-assume==2.4.3 +pytest-timeout==1.3.3 +pytest-repeat==0.8.0 +allure-pytest==2.7.0 +pytest-print==0.2.1 +pytest-level==0.1.1 +pytest-xdist==2.5.0 +pymilvus==2.3.0.dev48 +pytest-rerunfailures==9.1.1 +git+https://github.com/Projectplace/pytest-tags +ndg-httpsclient +pyopenssl +pyasn1 +pytest-html==3.1.1 +delayed-assert==0.3.5 +kubernetes==17.17.0 +PyYAML==6.0 +pytest-sugar==0.9.5 +pytest-reportportal==5.0.10 +pytest-parallel +pytest-random-order + +# for customize config test +python-benedict==0.24.3 +timeout-decorator==0.5.0 + +# for bulk insert test +minio==7.1.5 +npy-append-array==0.9.15 + +# for benchmark +h5py==3.7.0 + +# for log +loguru==0.6.0 + +# util +psutil==5.8.0 \ No newline at end of file diff --git a/tests/scripts/constant.py b/tests/scripts/constant.py new file mode 100644 index 0000000..ea84e10 --- /dev/null +++ b/tests/scripts/constant.py @@ -0,0 +1,3 @@ + +ALL_ENTITIES_NUM = 100_000 +DELETED_ENTITIES_NUM = 1000 diff --git a/tests/scripts/source_test.py b/tests/scripts/source_test.py new file mode 100644 index 0000000..79c8ef8 --- /dev/null +++ b/tests/scripts/source_test.py @@ -0,0 +1,189 @@ +import threading +import h5py +import numpy as np +import time +import copy +from pathlib import Path +from loguru import logger +import pymilvus +from pymilvus import ( + connections, + FieldSchema, CollectionSchema, DataType, + Collection, utility +) +import constant + +pymilvus_version = pymilvus.__version__ + + +all_index_types = ["IVF_FLAT", "IVF_SQ8", "HNSW"] +default_index_params = [{"nlist": 128}, {"nlist": 128}, {"M": 48, "efConstruction": 200}] +index_params_map = dict(zip(all_index_types, default_index_params)) + + +def gen_index_params(index_type, metric_type="L2"): + default_index = {"index_type": "IVF_FLAT", "params": {"nlist": 128}, "metric_type": metric_type} + index = copy.deepcopy(default_index) + index["index_type"] = index_type + index["params"] = index_params_map[index_type] + if index_type in ["BIN_FLAT", "BIN_IVF_FLAT"]: + index["metric_type"] = "HAMMING" + return index + + +def gen_search_param(index_type, metric_type="L2"): + search_params = [] + if index_type in ["FLAT", "IVF_FLAT", "IVF_SQ8", "IVF_PQ"]: + for nprobe in [10]: + ivf_search_params = {"metric_type": metric_type, "params": {"nprobe": nprobe}} + search_params.append(ivf_search_params) + elif index_type in ["BIN_FLAT", "BIN_IVF_FLAT"]: + for nprobe in [10]: + bin_search_params = {"metric_type": "HAMMING", "params": {"nprobe": nprobe}} + search_params.append(bin_search_params) + elif index_type in ["HNSW"]: + for ef in [150]: + hnsw_search_param = {"metric_type": metric_type, "params": {"ef": ef}} + search_params.append(hnsw_search_param) + elif index_type == "ANNOY": + for search_k in [1000]: + annoy_search_param = {"metric_type": metric_type, "params": {"search_k": search_k}} + search_params.append(annoy_search_param) + else: + logger.info("Invalid index_type.") + raise Exception("Invalid index_type.") + return search_params[0] + + +def read_benchmark_hdf5(file_path): + + f = h5py.File(file_path, 'r') + train = np.array(f["train"]) + test = np.array(f["test"]) + neighbors = np.array(f["neighbors"]) + f.close() + return train, test, neighbors + + +dim = 128 +TIMEOUT = 200 + + +def milvus_recall_test(host='127.0.0.1', port=19530, index_type="HNSW"): + logger.info(f"recall test for index type {index_type}") + file_path = f"{str(Path(__file__).absolute().parent.parent)}/assets/ann_hdf5/sift-128-euclidean.hdf5" + logger.info(f"read data from {file_path}") + train, test, neighbors = read_benchmark_hdf5(file_path) + connections.connect(host=host, port=port) + default_fields = [ + FieldSchema(name="int64", dtype=DataType.INT64, is_primary=True), + FieldSchema(name="float", dtype=DataType.FLOAT), + FieldSchema(name="varchar", dtype=DataType.VARCHAR, max_length=65535), + FieldSchema(name="float_vector", dtype=DataType.FLOAT_VECTOR, dim=dim) + ] + default_schema = CollectionSchema( + fields=default_fields, description="test collection") + + name = f"sift_128_euclidean_{index_type}" + logger.info(f"Create collection {name}") + collection = Collection(name=name, schema=default_schema) + nb = constant.ALL_ENTITIES_NUM + batch_size = 50000 + epoch = int(nb / batch_size) + t0 = time.time() + for i in range(epoch): + logger.info(f"epoch: {i}") + start = i * batch_size + end = (i + 1) * batch_size + if end > nb: + end = nb + data = [ + [i for i in range(start, end)], + [np.float32(i) for i in range(start, end)], + [str(i) for i in range(start, end)], + train[start:end] + ] + collection.insert(data) + t1 = time.time() + logger.info(f"Insert {nb} vectors cost {t1 - t0:.4f} seconds") + + t0 = time.time() + logger.info(f"Get collection entities...") + if pymilvus_version >= "2.2.0": + collection.flush() + else: + collection.num_entities + logger.info(collection.num_entities) + t1 = time.time() + logger.info(f"Get collection entities cost {t1 - t0:.4f} seconds") + + # create index + default_index = gen_index_params(index_type) + logger.info(f"Create index...") + t0 = time.time() + collection.create_index(field_name="float_vector", + index_params=default_index) + t1 = time.time() + logger.info(f"Create index cost {t1 - t0:.4f} seconds") + + # load collection + replica_number = 1 + logger.info(f"load collection...") + t0 = time.time() + collection.load(replica_number=replica_number) + t1 = time.time() + logger.info(f"load collection cost {t1 - t0:.4f} seconds") + res = utility.get_query_segment_info(name) + cnt = 0 + logger.info(f"segments info: {res}") + for segment in res: + cnt += segment.num_rows + assert cnt == collection.num_entities + logger.info(f"wait for loading complete...") + time.sleep(30) + res = utility.get_query_segment_info(name) + logger.info(f"segments info: {res}") + + # search + topK = 100 + nq = 10000 + current_search_params = gen_search_param(index_type) + + # define output_fields of search result + for i in range(3): + t0 = time.time() + logger.info(f"Search...") + res = collection.search( + test[:nq], "float_vector", current_search_params, topK, output_fields=["int64"], timeout=TIMEOUT + ) + t1 = time.time() + logger.info(f"search cost {t1 - t0:.4f} seconds") + result_ids = [] + for hits in res: + result_id = [] + for hit in hits: + result_id.append(hit.entity.get("int64")) + result_ids.append(result_id) + logger.info(f"search top {topK} result: {len(result_ids)}") + # query + expr = "int64 in [2,4,6,8]" + output_fields = ["int64", "float"] + res = collection.query(expr, output_fields, timeout=TIMEOUT) + sorted_res = sorted(res, key=lambda k: k['int64']) + for r in sorted_res: + logger.info(r) + + +if __name__ == "__main__": + import argparse + parser = argparse.ArgumentParser(description='config for recall test') + parser.add_argument('--host', type=str, + default="127.0.0.1", help='milvus server ip') + parser.add_argument('--port', type=int, + default=19530, help='milvus server port') + args = parser.parse_args() + host = args.host + port = args.port + tasks = [] + for index_type in ["HNSW"]: + milvus_recall_test(host, port, index_type) diff --git a/tests/scripts/target_test.py b/tests/scripts/target_test.py new file mode 100644 index 0000000..7690ba0 --- /dev/null +++ b/tests/scripts/target_test.py @@ -0,0 +1,149 @@ +import h5py +import numpy as np +import time +import copy +from pathlib import Path +from loguru import logger +import pymilvus +from pymilvus import connections, Collection, utility +import constant +pymilvus_version = pymilvus.__version__ +all_index_types = ["IVF_FLAT", "IVF_SQ8", "HNSW"] +default_index_params = [{"nlist": 128}, {"nlist": 128}, {"M": 48, "efConstruction": 200}] +index_params_map = dict(zip(all_index_types, default_index_params)) + +def read_benchmark_hdf5(file_path): + + f = h5py.File(file_path, 'r') + train = np.array(f["train"]) + test = np.array(f["test"]) + neighbors = np.array(f["neighbors"]) + f.close() + return train, test, neighbors + +def gen_index_params(index_type, metric_type="L2"): + default_index = {"index_type": "IVF_FLAT", "params": {"nlist": 128}, "metric_type": metric_type} + index = copy.deepcopy(default_index) + index["index_type"] = index_type + index["params"] = index_params_map[index_type] + if index_type in ["BIN_FLAT", "BIN_IVF_FLAT"]: + index["metric_type"] = "HAMMING" + return index + +def gen_search_param(index_type, metric_type="L2"): + search_params = [] + if index_type in ["FLAT", "IVF_FLAT", "IVF_SQ8", "IVF_PQ"]: + for nprobe in [10]: + ivf_search_params = {"metric_type": metric_type, "params": {"nprobe": nprobe}} + search_params.append(ivf_search_params) + elif index_type in ["BIN_FLAT", "BIN_IVF_FLAT"]: + for nprobe in [10]: + bin_search_params = {"metric_type": "HAMMING", "params": {"nprobe": nprobe}} + search_params.append(bin_search_params) + elif index_type in ["HNSW"]: + for ef in [150]: + hnsw_search_param = {"metric_type": metric_type, "params": {"ef": ef}} + search_params.append(hnsw_search_param) + elif index_type == "ANNOY": + for search_k in [1000]: + annoy_search_param = {"metric_type": metric_type, "params": {"search_k": search_k}} + search_params.append(annoy_search_param) + else: + logger.info("Invalid index_type.") + raise Exception("Invalid index_type.") + return search_params[0] + + +dim = 128 +TIMEOUT = 200 + + +def search_test(host="127.0.0.1", port=19530, index_type="HNSW"): + logger.info(f"recall test for index type {index_type}") + file_path = f"{str(Path(__file__).absolute().parent.parent)}/assets/ann_hdf5/sift-128-euclidean.hdf5" + logger.info(f"read data from {file_path}...") + train, test, neighbors = read_benchmark_hdf5(file_path) + connections.connect(host=host, port=port) + name = f"sift_128_euclidean_{index_type}" + collection = Collection(name=f"sift_128_euclidean_{index_type}") + t0 = time.time() + logger.info(f"Get collection entities...") + if pymilvus_version >= "2.2.0": + collection.flush() + else: + collection.num_entities + logger.info(collection.num_entities) + t1 = time.time() + logger.info(f"Get collection entities cost {t1 - t0:.4f} seconds") + assert collection.num_entities == constant.ALL_ENTITIES_NUM + + # create index + default_index = gen_index_params(index_type) + logger.info(f"Create index...") + t0 = time.time() + collection.create_index(field_name="float_vector", + index_params=default_index) + t1 = time.time() + logger.info(f"Create index cost {t1 - t0:.4f} seconds") + + # load collection + replica_number = 1 + logger.info(f"load collection...") + t0 = time.time() + collection.load(replica_number=replica_number) + t1 = time.time() + logger.info(f"load collection cost {t1 - t0:.4f} seconds") + res = utility.get_query_segment_info(name) + cnt = 0 + logger.info(f"segments info: {res}") + for segment in res: + cnt += segment.num_rows + assert cnt == collection.num_entities + assert cnt == constant.ALL_ENTITIES_NUM + logger.info(f"wait for loading complete...") + time.sleep(30) + res = utility.get_query_segment_info(name) + logger.info(f"segments info: {res}") + + # search + topK = 100 + nq = 10000 + current_search_params = gen_search_param(index_type) + + # define output_fields of search result + for i in range(3): + t0 = time.time() + logger.info(f"Search...") + res = collection.search( + test[:nq], "float_vector", current_search_params, topK, output_fields=["int64"], timeout=TIMEOUT + ) + t1 = time.time() + logger.info(f"search cost {t1 - t0:.4f} seconds") + result_ids = [] + for hits in res: + result_id = [] + for hit in hits: + result_id.append(hit.entity.get("int64")) + result_ids.append(result_id) + logger.info(f"search result: {len(result_ids)}") + # query + expr = "int64 in [2,4,6,8]" + output_fields = ["int64", "float"] + res = collection.query(expr, output_fields, timeout=TIMEOUT) + sorted_res = sorted(res, key=lambda k: k['int64']) + for r in sorted_res: + logger.info(r) + + +if __name__ == "__main__": + import argparse + parser = argparse.ArgumentParser(description='config for recall test') + parser.add_argument('--host', type=str, default="127.0.0.1", help='milvus server ip') + parser.add_argument('--port', type=int, + default=19530, help='milvus server port') + args = parser.parse_args() + host = args.host + port = args.port + tasks = [] + for index_type in ["HNSW"]: + search_test(host, port, index_type) \ No newline at end of file diff --git a/tests/scripts/verify_delete.py b/tests/scripts/verify_delete.py new file mode 100644 index 0000000..13868c0 --- /dev/null +++ b/tests/scripts/verify_delete.py @@ -0,0 +1,110 @@ +import h5py +import numpy as np +import time +import copy +from pathlib import Path +from loguru import logger +import pymilvus +from pymilvus import connections +from pymilvus import Collection, utility +import constant +pymilvus_version = pymilvus.__version__ + +def read_benchmark_hdf5(file_path): + + f = h5py.File(file_path, 'r') + train = np.array(f["train"]) + test = np.array(f["test"]) + neighbors = np.array(f["neighbors"]) + f.close() + return train, test, neighbors + +dim = 128 +TIMEOUT = 200 + + +def delete_entities(host="127.0.0.1", port=19530, expr=""): + connections.connect(host=host, port=port) + name = f"sift_128_euclidean_HNSW" + collection = Collection(name=name) + + # delete + logger.info(f"delete entities...") + t0 = time.time() + res = collection.delete(expr) + t1 = time.time() + logger.info(f"delete entities cost {t1 - t0:.4f} seconds: {res}") + + +def query(host='127.0.0.1', port=19530, expr=""): + connections.connect(host=host, port=port) + name = f"sift_128_euclidean_HNSW" + collection = Collection(name=name) + t0 = time.time() + logger.info(f"Get collection entities...") + if pymilvus_version >= "2.2.0": + collection.flush() + else: + collection.num_entities + logger.info(collection.num_entities) + t1 = time.time() + logger.info(f"Get collection entities cost {t1 - t0:.4f} seconds") + # load collection + replica_number = 1 + logger.info(f"load collection...") + t0 = time.time() + collection.load(replica_number=replica_number) + t1 = time.time() + logger.info(f"load collection cost {t1 - t0:.4f} seconds") + res = utility.get_query_segment_info(name) + cnt = 0 + logger.info(f"segments info: {res}") + for segment in res: + cnt += segment.num_rows + assert cnt == collection.num_entities + logger.info(f"wait for loading complete...") + time.sleep(30) + res = utility.get_query_segment_info(name) + logger.info(f"segments info: {res}") + # query + output_fields = ["int64", "float"] + res = collection.query(expr, output_fields, timeout=TIMEOUT) + sorted_res = sorted(res, key=lambda k: k['int64']) + logger.info(f"query result: {len(sorted_res)}") + connections.disconnect(alias="default") + return len(res) + +if __name__ == "__main__": + import argparse + parser = argparse.ArgumentParser(description='config for recall test') + parser.add_argument('--source_host', type=str, default="127.0.0.1", help='milvus server ip') + parser.add_argument('--source_port', type=int, + default=19530, help='milvus server port') + parser.add_argument('--target_host', type=str, default="127.0.0.1", help='milvus server ip') + parser.add_argument('--target_port', type=int, + default=19500, help='milvus server port') + args = parser.parse_args() + source_host = args.source_host + source_port = args.source_port + target_host = args.target_host + target_port = args.target_port + query_expr = f"int64 in {[i for i in range(constant.ALL_ENTITIES_NUM)]}" + source_data = query(host=source_host, port=source_port, expr=query_expr) + target_data = query(host=target_host, port=target_port, expr=query_expr) + assert source_data == target_data + logger.info(f"query data from source and target are equal") + delete_expr = f"int64 in {[i for i in range(constant.DELETED_ENTITIES_NUM)]}" + delete_entities(host=source_host, port=source_port, expr=delete_expr) + time.sleep(30) # wait for delete sink to target + # check source has deleted data + source_data = query(host=source_host, port=source_port, expr=query_expr) + assert source_data == constant.ALL_ENTITIES_NUM - constant.DELETED_ENTITIES_NUM + deleted_data = query(host=source_host, port=source_port, expr=delete_expr) + assert deleted_data == 0 + # check target has deleted data + target_data = query(host=target_host, port=target_port, expr=query_expr) + assert target_data == constant.ALL_ENTITIES_NUM - constant.DELETED_ENTITIES_NUM + deleted_data = query(host=target_host, port=target_port, expr=delete_expr) + assert deleted_data == 0 + + diff --git a/tests/testcases/test_cdc_create.py b/tests/testcases/test_cdc_create.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_delete.py b/tests/testcases/test_cdc_delete.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_e2e.py b/tests/testcases/test_cdc_e2e.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_get.py b/tests/testcases/test_cdc_get.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_list.py b/tests/testcases/test_cdc_list.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_pause.py b/tests/testcases/test_cdc_pause.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_resume.py b/tests/testcases/test_cdc_resume.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/testcases/test_cdc_setup.py b/tests/testcases/test_cdc_setup.py new file mode 100644 index 0000000..e69de29 diff --git a/tests/worker/README.md b/tests/worker/README.md new file mode 100644 index 0000000..e69de29