Files
Calvin Kirs 5e1c5427b3 [chore](broker)(sdk) Remove apache_hdfs_broker daemon module and in-tree SDKs (#64732)
## Proposed changes

The `apache_hdfs_broker` daemon under `fs_brokers/` has not been
modified for nearly two years, and users have migrated to the built-in
S3 / HDFS TVF, so the standalone broker component is no longer needed.
The in-tree SDKs under `sdk/` (`go-doris-sdk`, `java-doris-sdk`) are now
maintained out-of-tree in a separate `doris-sdk` repo and no longer need
to live here.

### Removed
- `fs_brokers/apache_hdfs_broker/` — broker daemon module
- `sdk/` — `go-doris-sdk` + `java-doris-sdk`
- `docker/runtime/broker/` — broker daemon docker image, and the
`hdfs-broker-doris` compose demo

### Build / CI / docker references cleaned up
`build.sh` (`--broker` / `BUILD_BROKER`), `build-for-release.sh`,
`.github/workflows/build-extension.yml` (`build-broker` job),
`.github/workflows/code-checks.yml`, `.gitignore`,
`docker/runtime/docker-build.sh`, `docker/runtime/all-in-one/Dockerfile`
+ `entry_point.sh`, `docker/runtime/README.md`, and `threat-model.md`.

### Kept (intentionally out of scope)
- `fs_brokers/cdc_client/` (not a broker; still built into BE)
- All FE/BE broker **functionality**: `BrokerMgr`, `BrokerDesc`, broker
load, `fe-filesystem-broker`, the BE filesystem broker module, and
`PaloBrokerService.thrift`

This PR only removes the standalone broker daemon component and the
in-tree SDK sources; the broker load/storage feature in FE/BE is
unchanged, so there is no metadata/edit-log compatibility impact.
2026-07-07 14:00:09 +08:00

116 lines
3.3 KiB
Bash
Executable File

#!/bin/bash
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# get parameters from command line
# convert tags
# build fe, be, ms
# find cpu arch
# download binary tar package.
# extract archive
#
usage() {
echo "$0 <options>
-v specify version to build.
Eg:
$0 -v x.x.x build the "x.x.x" version and the binary will download from https://doris.apache.org/zh-CN/download/ to download binary."
}
version=
OPTS="$(getopt -n "$0" -o 'v:' -- "$*")"
eval set -- "${OPTS}"
while true; do
case "$1" in
-v|--version)
version="$2"
shift 2
;;
--)
shift
break
;;
*)
usage
shift
exit 1
;;
esac
done
version=$(echo $version | sed 's/\s//g')
if [[ "x$version" == "x" ]]; then
usage
exit 1
fi
ARCH=$(uname -m)
url_arch=
sub_path=
if [[ "$ARCH" == "arm64" || "$ARCH" == "aarch64" ]]; then
url_arch="arm64"
sub_path="arm64"
else
url_arch="x64"
sub_path="amd64"
fi
if [[ "$url_arch" == "x64" ]]; then
avx=$(cat /proc/cpuinfo | grep avx2 | wc -l)
if [[ $avx -le 0 ]]; then
url_arch=$url_arch"-noavx2"
fi
fi
URL="https://apache-doris-releases.oss-accelerate.aliyuncs.com/apache-doris-${version}-bin-${url_arch}.tar.gz"
echo "wget the archive binary in current directory!"
wget $URL
echo "extract archive"
tar zxf "apache-doris-${version}-bin-${url_arch}.tar.gz"
echo "distribute binary to corresponding path."
mkdir -p fe/resource/${sub_path}/apache-doris-${version}-bin-${url_arch}
mkdir -p be/resource/${sub_path}/apache-doris-${version}-bin-${url_arch}
mkdir -p ms/resource/${sub_path}/apache-doris-${version}-bin-${url_arch}
mv -f apache-doris-${version}-bin-${url_arch}/fe fe/resource/$sub_path/apache-doris-${version}-bin-${url_arch}/
mv -f apache-doris-${version}-bin-${url_arch}/be be/resource/$sub_path/apache-doris-${version}-bin-${url_arch}/
mv -f apache-doris-${version}-bin-${url_arch}/ms ms/resource/$sub_path/apache-doris-${version}-bin-${url_arch}/
echo "docker build base iamge,tag=apache/doris:base-latest"
cd base-image/ && docker build -t apache/doris:base-latest -f Dockerfile_base .
cd -
echo "docker build fe image,tag=doris.fe:${version}"
cd fe/ && docker build -t doris.fe:${version} -f Dockerfile --build-arg DORIS_VERSION=${version} .
cd -
echo "docker build be image,tag=doris.be:${version}"
cd be/ && docker build -t doris.be:${version} -f Dockerfile --build-arg DORIS_VERSION=${version} .
cd -
echo "docker build ms image,tag=doris.ms:${version}"
cd ms/ && docker build -t doris.ms:${version} -f Dockerfile --build-arg DORIS_VERSION=${version} .
cd -