kafka-go 获取响应时负值记录数出现异常
#!/usr/bin/env bash set -euo pipefail script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source_dir="$script_dir/source" UPSTREAM_REPO_URL="https://GitHub.com/segmentio/kafka-go" UPSTREAM_PINNED_SHA="2e0b3968aa51b16beb4e221876499a6ff816cd91" _silent() { local label="$1"; shift local log="$script_dir/.${label}.log" if ! "$@" > "$log" 2>&1; then echo "[run.sh] $label failed; log follows:" >&2 cat "$log" >&2 return 1 fi }
setup() {
if [[ -d "$source_dir/.git" ]]
&& [[ "$(git -C "$source_dir" rev-parse HEAD 2>/dev/null)" == "$UPSTREAM_PINNED_SHA" ]]; then
echo "[run.sh] reusing existing $source_dir at $UPSTREAM_PINNED_SHA"
return 0
fi
_setup_inner() {
rm -rf "$source_dir"
mkdir -p "$source_dir"
cd "$source_dir"
git init -q
git remote add origin "$UPSTREAM_REPO_URL"
if git fetch --depth 1 origin "$UPSTREAM_PINNED_SHA" -q 2>/dev/null; then
git checkout -q FETCH_HEAD
else
cd "$script_dir"
rm -rf "$source_dir"
git clone -q "$UPSTREAM_REPO_URL" "$source_dir"
git -C "$source_dir" checkout -q $UPSTREAM_PINNED_SHA
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" submodule update --init --recursive
git -C "$source_dir" sub
内容来源: segmentio/kafka-go