Fix Jindo DataLoad without target for multi mount Datasets#5631
Fix Jindo DataLoad without target for multi mount Datasets#5631Nakshatra480 wants to merge 2 commits intofluid-cloudnative:masterfrom
Conversation
Summary of ChangesHello @Nakshatra480, 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 enhances the JindoRuntime's data loading capabilities by introducing a more robust handling mechanism for datasets with multiple mount points when no explicit target is specified in the 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. 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.
Code Review
This pull request correctly fixes an issue where a Jindo DataLoad would fail if no target paths were specified for a dataset with multiple mounts. The logic now correctly falls back to using the dataset's mount points, with a default replica count of 1. The implementation is clear and the addition of a unit test for the multi-mount scenario is a great improvement. I've added one suggestion to further enhance test coverage by including an edge case.
Signed-off-by: Nakshatra Sharma <nakshatra.sharma3012@gmail.com>
6f7a6bf to
406ea8d
Compare
Signed-off-by: Nakshatra Sharma <nakshatrasharma@Nakshatras-MacBook-Air.local>
|
|
@cheyang pls review these changes and give me the feedback if anything comes up thanks |



Closes #4439
Summary
This PR fixes Jindo
DataLoadbehavior whenspec.targetis not set but the targetDatasethas multiple mounts.DataLoad.spec.targetis specified, behavior is unchanged.DataLoad.spec.targetis empty, the controller now derivestargetPathsfromDataset.spec.mounts(one entry per mount path, replicas default to 1).genDataLoadValue.This addresses the issue where a JindoRuntime
DataLoadcould fail when notargetwas provided for a dataset with multiple mount points (see issue #4439).Implementation details
Updated
JindoEngine.genDataLoadValueto:spec.target.targetDataset.Spec.Mountswhenspec.targetis empty, buildingcdataload.TargetPathentries with:Pathfrom the mountPathReplicasset to1FluidNativedecided viautils.IsTargetPathUnderFluidNativeMounts.Extended
Test_genDataLoadValueto include:"dataset with multiple mounts and no explicit target":/mnt0,/mnt1) are translated intoTargetPathswith correctReplicasandFluidNativevalues.loadMemorydataandhdfsConfigare still set as before.Why this change
For JindoRuntime, users reasonably expect a
DataLoadwithoutspec.targetto preload all dataset mounts. Previously, this scenario was not handled explicitly, leading to failures when the dataset had multiple mount points. By falling back to dataset mounts, we align the controller behavior with user expectations and the other runtimes’ patterns.Testing
go test ./pkg/ddc/jindo -run Test_genDataLoadValue$Test_genDataLoadValuecases continue to pass.