-
Notifications
You must be signed in to change notification settings - Fork 3.8k
Fix kafka image migration #47108
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix kafka image migration #47108
Conversation
pr: milvus-io#45902 issue: milvus-io#45834 Signed-off-by: SpadeA <[email protected]>
…o#45859 (milvus-io#45898) issue: milvus-io#45728 pr: milvus-io#45730 When mixcoord is in standby mode and shutdown is triggered, the ProcessActiveStandBy goroutine may panic if context cancellation occurs. This happens because the error handling didn't check for context.Canceled errors before panicking. Changes: - Add context cancellation check in mix_coord Register() before panic - Check s.ctx.Err() == context.Canceled and gracefully exit - Remove unused ForceActiveStandby() function from session_util This ensures standby mixcoord can shutdown gracefully without panic when context is cancelled during the standby process. Signed-off-by: Wei Liu <[email protected]>
…ilvus-io#45894) issue: milvus-io#45353 pr: milvus-io#45354 Signed-off-by: Shawn Wang <[email protected]>
issue: milvus-io#45486 pr: milvus-io#45487 This commit refactors the chunk writing system by introducing a two-phase approach: size calculation followed by writing to a target. This enables efficient group chunk creation where multiple fields share a single mmap region, significantly reducing the number of mmap system calls and VMAs. - Optimize `mmap` usage: single `mmap` per group chunk instead of per field - Split ChunkWriter into two phases: - `calculate_size()`: Pre-compute required memory without allocation - `write_to_target()`: Write data to a provided ChunkTarget - Implement `ChunkMmapGuard` for unified mmap region lifecycle management - Handles `munmap` and file cleanup via RAII - Shared via `std::shared_ptr` across multiple chunks in a group --------- Signed-off-by: Shawn Wang <[email protected]>
…oading size (milvus-io#45891) issue: milvus-io#44857 pr: milvus-io#45222 Signed-off-by: Shawn Wang <[email protected]>
issue: milvus-io#41435 pr: milvus-io#45929 fix some usage tracking bugs in caching layer. Signed-off-by: Shawn Wang <[email protected]>
upgrade the etcd client and dependency to 2.5.23 related: milvus-io#45947 pr: milvus-io#44666 issue: milvus-io#44614 Signed-off-by: xiaofanluan <[email protected]>
…io#45958) issue: milvus-io#43040 pr: milvus-io#45900 Signed-off-by: Shawn Wang <[email protected]>
…-io#45956) issue: milvus-io#45887 pr: milvus-io#45955 --------- Signed-off-by: Buqian Zheng <[email protected]>
…ng balance (milvus-io#45963) Cherry-pick from master pr: milvus-io#45961 Related to milvus-io#45960 When QueryCoord restarts or reconnects to etcd, the rewatchNodes function previously skipped handleNodeUp for QueryNodes in stopping state. This caused stopping balance to fail because necessary components were not initialized: - Task scheduler executor was not added - Dist handler was not started - Node was not registered in resource manager This fix ensures handleNodeUp is always called for new nodes regardless of their stopping state, followed by handleNodeStopping if the node is stopping. This allows the graceful shutdown process to correctly migrate segments and channels away from stopping nodes. --------- Signed-off-by: Congqi Xia <[email protected]>
…#45904) milvus-io#45842 pr: milvus-io#45914 Signed-off-by: junjie.jiang <[email protected]>
…5940) master pr: milvus-io#45396 Signed-off-by: zhuwenxing <[email protected]>
…milvus-io#45950) pr: milvus-io#45625 Signed-off-by: zhuwenxing <[email protected]>
pr: milvus-io#45875 Signed-off-by: luzhang <[email protected]> Co-authored-by: luzhang <[email protected]>
pr: milvus-io#45888 Signed-off-by: luzhang <[email protected]> Co-authored-by: luzhang <[email protected]>
issue: milvus-io#45724 pr: milvus-io#45968 --------- Signed-off-by: chyezh <[email protected]>
issue: milvus-io#45812 pr: milvus-io#45921 - 2.6 proxy will try to forward DWL to 2.5 proxy if streaming service is not ready Signed-off-by: chyezh <[email protected]>
…dd query limit (milvus-io#45948) master pr: milvus-io#45901 Signed-off-by: zhuwenxing <[email protected]>
Bump milvus & proto version Also bump golang.org/x/crypto to v0.45.0 fixing CVE-2025-47914 Related to milvus-io#45976 --------- Signed-off-by: Congqi Xia <[email protected]>
…os checker (milvus-io#45986) master pr: milvus-io#45985 Replace direct self.schema access and describe_collection() calls with get_schema() method to ensure consistent schema handling with complete struct_fields information. Also fix FlushChecker error handling and change schema log level from info to debug. Signed-off-by: zhuwenxing <[email protected]>
issue: milvus-io#45977 pr: milvus-io#45978 Signed-off-by: chyezh <[email protected]>
…-io#45992) Follow up for milvus-io#45971 Update the `milvus/pkg/v2` dependency in both root and client modules to align with the latest v2.6.7 release, and improve Makefile lint-fix target logging. --------- Signed-off-by: Congqi Xia <[email protected]>
…odes (milvus-io#45949) (milvus-io#45991) issue: milvus-io#45865 pr: milvus-io#45949 - Modified leader_checker.go to include all nodes (RO + RW) instead of only RW nodes, preventing channel balance from stucking on RO nodes - Added debug logging in segment_checker.go when no shard leader found - Enhanced target_observer.go with detailed logging for delegator check failures to improve debugging visibility - Fixed integration tests: - Temporarily disabled partial result counter assertion in partial_result_on_node_down_test.go pending concurrent issue fix - Increased transfer channel timeout from 10s to 20s in manual_rolling_upgrade_test.go to avoid flaky test caused by target update interval (10s) --------- Signed-off-by: Wei Liu <[email protected]>
…ilvus-io#46013) issue: milvus-io#46006 pr: milvus-io#46007 Upgrade apache/pulsar-client-go from v0.15.1 to v0.17.0 to fix send buffer race condition (apache/pulsar-client-go#1394) Signed-off-by: Wei Liu <[email protected]>
pr: milvus-io#45809 Signed-off-by: nico <[email protected]>
…vus-io#45980) pr: milvus-io#45621 --------- Signed-off-by: Zhikun Yao <[email protected]> Co-authored-by: zhikunyao <[email protected]>
issue: milvus-io#45640 pr: milvus-io#46004 Signed-off-by: chyezh <[email protected]>
issue: milvus-io#45812 pr: milvus-io#46020 Signed-off-by: chyezh <[email protected]>
Bump milvus version to v2.6.7 Signed-off-by: sre-ci-robot [email protected] Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
relate: milvus-io#42589 pr: milvus-io#45736 milvus-io#45099 milvus-io#44923 milvus-io#45984 --------- Signed-off-by: aoiasd <[email protected]>
…ilvus-io#46929) (milvus-io#47014) Cherry-pick from master pr: milvus-io#46929 related: milvus-io#46928 Add segment_storage_version label to track segment counts by storage version (V1=0, V2=2). This enables monitoring segment distribution across different storage formats. Changes: * Add segmentStorageVersionLabelName constant in metrics.go * Update DataCoordNumSegments GaugeVec with new label * Update segMetricMutation struct to track storage version dimension * Update all WithLabelValues calls in meta.go * Add unit tests for the new label Signed-off-by: shaoting-huang <[email protected]>
…us-io#47023) issue: milvus-io#47016 pr: milvus-io#47022 - the node id of mixcoord may roll back, so it doesn't promise monotonic incresing. - use the revision of session to promise it strongly. Signed-off-by: chyezh <[email protected]>
milvus-io#46994 pr: milvus-io#47017 Signed-off-by: junjie.jiang <[email protected]>
issue: milvus-io#42937 /kind enhancement https://github.com/zilliztech/knowhere/releases/tag/v2.6.9 /branch-feature Signed-off-by: xianliang.li <[email protected]>
Cherry-pick from master pr: milvus-io#46907 fix: milvus-io#46906 Signed-off-by: xiaofanluan <[email protected]>
…ation (milvus-io#47046) issue: milvus-io#47044 master pr: milvus-io#47045 --------- Signed-off-by: Cai Zhang <[email protected]>
Signed-off-by: Congqi Xia <[email protected]>
pr: milvus-io#47052 Signed-off-by: junjie.jiang <[email protected]>
milvus-io#47081) milvus-io#47077 pr: milvus-io#47080 Signed-off-by: junjie.jiang <[email protected]>
issue: milvus-io#44452 pr: milvus-io#47070 --------- Signed-off-by: Buqian Zheng <[email protected]>
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: lmzzzzz1 The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
[ci-v2-notice] To rerun ci-v2 checks, comment with:
If you have any questions or requests, please contact @zhikunyao. |
|
@lmzzzzz1 Thanks for your contribution. Please submit with DCO, see the contributing guide https://github.com/milvus-io/milvus/blob/master/CONTRIBUTING.md#developer-certificate-of-origin-dco. |
|
Invalid PR Title Format Detected Your PR submission does not adhere to our required standards. To ensure clarity and consistency, please meet the following criteria:
Required Title Structure: Where Example: Please review and update your PR to comply with these guidelines. |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #47108 +/- ##
==========================================
+ Coverage 76.09% 76.71% +0.61%
==========================================
Files 1884 1920 +36
Lines 294531 300333 +5802
==========================================
+ Hits 224120 230387 +6267
+ Misses 63009 62511 -498
- Partials 7402 7435 +33
🚀 New features to boost your workflow:
|
Summary of ChangesHello @lmzzzzz1, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request delivers a comprehensive set of updates aimed at improving the system's foundation, build processes, and client-facing capabilities. It ensures compatibility with newer Go versions, refines CI/CD pipelines for greater stability, and introduces new data handling features in the client SDK. The underlying C++ core benefits from optimized memory management, more precise JSON query processing, and a robust cancellation framework, all contributing to a more efficient and reliable system. Highlights
🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console. Ignored Files
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request primarily focuses on updating Go and Etcd versions across various Dockerfiles and Jenkins configurations, along with significant enhancements to the Go client SDK to support StructArrayField and introduce a new QueryIterator for paginated query results. It also refines GitHub Actions caching for macOS builds, updates Mergify rules to incorporate new macOS code checks, and modifies Makefile targets for C++ builds to include a new plan-parser-so dependency. Logging configurations are adjusted, and several Milvus configuration parameters are updated, including new MaxSim metric types. A notable change in the C++ core involves refactoring ChunkWriter to support ChunkMmapGuard for memory-mapped files and fixing a bug in VectorArrayChunkWriter related to sliced Arrow ListArrays. Additionally, the RTreeIndex now supports building and loading from growing segments, and the JsonFlatIndex has improved handling for JSON path parsing and mixed numeric types in range queries. The CDC module's controller logic has been refactored to use an event-driven model for replication management, and the GetReplicateInfo API now takes a request object instead of a simple string.
| plan-parser-so: | ||
| @echo "Building plan parser shared library ..." | ||
| @source $(PWD)/scripts/setenv.sh && \ | ||
| mkdir -p $(PWD)/internal/core/output/lib $(PWD)/internal/core/output/include && \ | ||
| go env -w CGO_ENABLED="1" && \ | ||
| GO111MODULE=on $(GO) build -buildmode=c-shared -o $(PWD)/internal/core/output/lib/libmilvus-planparser.so $(PWD)/internal/parser/planparserv2/cwrapper/wrapper.go && \ | ||
| mv $(PWD)/internal/core/output/lib/libmilvus-planparser.h $(PWD)/internal/core/output/include/libmilvus-planparser.h && \ | ||
| cp $(PWD)/internal/parser/planparserv2/cwrapper/milvus_plan_parser.h $(PWD)/internal/core/output/include/ && \ | ||
| g++ -std=c++17 -shared -fPIC -o $(PWD)/internal/core/output/lib/libmilvus-planparser-cpp.so $(PWD)/internal/parser/planparserv2/cwrapper/milvus_plan_parser.cpp \ | ||
| -I$(PWD)/internal/core/output/include \ | ||
| -L$(PWD)/internal/core/output/lib -lmilvus-planparser \ | ||
| $(planparser_rpath_flag) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The plan-parser-so target is quite complex, involving multiple steps to build a C++ shared library from Go source code. While the commands themselves seem correct, adding comments to explain the purpose of each step would greatly improve its readability and maintainability for future developers. For example, explaining why libmilvus-planparser.so is built from Go first, and then a C++ wrapper libmilvus-planparser-cpp.so is built linking against it.
plan-parser-so:
@echo "Building plan parser shared library ..."
@source $(PWD)/scripts/setenv.sh && \
# Create output directories for the shared library and headers
mkdir -p $(PWD)/internal/core/output/lib $(PWD)/internal/core/output/include && \
# Enable CGO for building shared library from Go
go env -w CGO_ENABLED="1" && \
# Build the Go code as a C-style shared library (.so)
GO111MODULE=on $(GO) build -buildmode=c-shared -o $(PWD)/internal/core/output/lib/libmilvus-planparser.so $(PWD)/internal/parser/planparserv2/cwrapper/wrapper.go && \
# Move the auto-generated C header to the include directory
mv $(PWD)/internal/core/output/lib/libmilvus-planparser.h $(PWD)/internal/core/output/include/libmilvus-planparser.h && \
# Copy the manually-written C++ wrapper header
cp $(PWD)/internal/parser/planparserv2/cwrapper/milvus_plan_parser.h $(PWD)/internal/core/output/include/ && \
# Compile the C++ wrapper, linking against the Go-generated shared library
g++ -std=c++17 -shared -fPIC -o $(PWD)/internal/core/output/lib/libmilvus-planparser-cpp.so $(PWD)/internal/parser/planparserv2/cwrapper/milvus_plan_parser.cpp \
-I$(PWD)/internal/core/output/include \
-L$(PWD)/internal/core/output/lib -lmilvus-planparser \
$(planparser_rpath_flag)
fix: #47107