Release Apache SkyWalking BanyanDB 0.7.0
SkyWalking BanyanDB 0.7.0 is released. Go to downloads page to find release tars.
File System Changes
- Bump up the version of the file system to 1.1.0 which is not compatible with the previous version.
- Move the series index into segment.
- Swap the segment and the shard.
- Move indexed values in a measure from data files to index files.
- Merge elementIDs.bin and timestamps.bin into a single file.
Features
- Check unregistered nodes in background.
- Improve sorting performance of stream.
- Add the measure query trace.
- Assign a separate lookup table to each group in the maglev selector.
- Convert the async local pipeline to a sync pipeline.
- Add the stream query trace.
- Add the topN query trace.
- Introduce the round-robin selector to Liaison Node.
- Optimize query performance of series index.
- Add liaison, remote queue, storage(rotation), time-series tables, metadata cache and scheduler metrics.
- Add HTTP health check endpoint for the data node.
- Add slow query log for the distributed query and local query.
- Support applying the index rule to the tag belonging to the entity.
- Add search analyzer “url” which breaks test into tokens at any non-letter and non-digit character.
- Introduce “match_option” to the “match” query.
Bugs
- Fix the filtering of stream in descending order by timestamp.
- Fix querying old data points when the data is in a newer part. A version column is introduced to each data point and stored in the timestamp file.
- Fix the bug that duplicated data points from different data nodes are returned.
- Fix the bug that the data node can’t re-register to etcd when the connection is lost.
- Fix memory leak in sorting the stream by the inverted index.
- Fix the wrong array flags parsing in command line. The array flags should be parsed by “StringSlice” instead of “StringArray”.
- Fix a bug that the Stream module didn’t support duplicated in index-based filtering and sorting
- Fix the bug that segment’s reference count is increased twice when the controller try to create an existing segment.
- Fix a bug where a distributed query would return an empty result if the “limit” was set much lower than the “offset”.
- Fix duplicated measure data in a single part.
- Fix several “sync.Pool” leak issues by adding a tracker to the pool.
- Fix panic when removing a expired segment.
- Fix panic when reading a disorder block of measure. This block’s versions are not sorted in descending order.
- Fix the bug that the etcd client doesn’t reconnect when facing the context timeout in the startup phase.
- Fix the bug that the long running query doesn’t stop when the context is canceled.
- Fix the bug that merge block with different tags or fields.
- Fix the bug that the pending measure block is not released when a full block is merged.
Documentation
- Introduce new doc menu structure.
- Add installation on Docker and Kubernetes.
- Add quick-start guide.
- Add web-ui interacting guide.
- Add bydbctl interacting guide.
- Add cluster management guide.
- Add operation related documents: configuration, troubleshooting, system, upgrade, and observability.
Chores
- Bump up the version of infra e2e framework.
- Separate the monolithic release package into two packages: banyand and bydbctl.
- Separate the monolithic Docker image into two images: banyand and bydbctl.
- Update CI to publish linux/amd64 and linux/arm64 Docker images.
- Make the build system compiles the binary based on the platform which is running on.
- Push “skywalking-banyandb:
-testing” image for e2e and stress test. This image contains bydbctl to do a health check. - Set etcd-client log level to “error” and etcd-server log level to “warn”.
- Push “skywalking-banyandb:
-slim” image for the production environment. This image doesn’t contain bydbctl and Web UI. - Bump go to 1.23.