Utilities using jcommander for boolean argument can be misleading #13845
Replies: 6 comments
-
|
+1, I got a lot of feedback because of these confusions. A explicit param |
Beta Was this translation helpful? Give feedback.
-
|
Can we list out all such boolean flags? are they all fixable without causing any side-effects 'silently' i.e changing behavior for the Hudi streamer run .. This discussion will be more actionable with that analysis |
Beta Was this translation helpful? Give feedback.
-
|
Here is the list of configs in hudi-utilities that default to true (6 in total): And these configs default to false (62 in total): |
Beta Was this translation helpful? Give feedback.
-
|
@wombatu-kun the ones with issue is the ones that default to true? |
Beta Was this translation helpful? Give feedback.
-
|
@xushiyan can you please actively drive the discussions you re starting. :) |
Beta Was this translation helpful? Give feedback.
-
|
Yes @vinothchandar , we only concerned about default there are a few sync tool related options that are default Approach 1: keep behaviors compatibleKeep everything as is, tweak the option parsing to accept Approach 2: breaking changesThis approach is about rename, drop, or change default for applicable options, reducing number of options. For Rename For Drop the option, always print output. For drop the option, using HMS sync mode as default For remove the all options like For drop these; always perform these behaviors:
All these are breaking changes that should be flagged in a major release that has these. If approach 1 is doable, then anyway can go for it. For those changes listed in the approach 2, we can select the changes that make more sense and improve usability, then implement and flag them in the release. Please share your thoughts. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
When people use Hudi utilities, many of them are not aware of
--a-boolean-flagbeing present meanstrue, and by following other args' pattern, they tend to set--a-boolean-flag truewhich resulted inTo improve this experience, we should allow both ways to set a boolean arg. People should be able to
To go further, any boolean arg used by utilities should be changed to default false. This may lead to breaking some usage, but it's a necessary step to align the expectations.
Beta Was this translation helpful? Give feedback.
All reactions