-
Notifications
You must be signed in to change notification settings - Fork 115
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
Should config_ordinal
leak into Config
?
#676
Comments
The property |
Ok, then we probably need to add some TCK tests for this. |
I'd like to understand what is being proposed. Currently Is there a proposal in this issue to make |
Yes. I guess we could leave it as is, but I was mostly wondering if there is any worth is returning it?
I think that |
In practice, then, doesn't this mean that a |
Yes. |
So it is a property, because a |
Perhaps the larger issue goes something like this:
|
So: back to the concrete details of this very particular issue. My take is this: either
Now, why is this particular property name special? Does it start with something like As meta-commentary: this took me several drafts and five bullet points to spell out the rigor around this one tiny nugget of metaconfiguration. A larger discussion in this area is IMHO clearly needed. |
After thinking the issue all over and reading all of the comments, here is my 2nd thought. We could stop this property from surfacing out. However, do we gain anything by doing so? I think there is a valid use case to surface this property: As an end users, I would like to find out the highest ordinal number among my config sources. If someone calls config.getValue("config_ordinal", Integer.class), the highest config_ordinal will be returned. Considering the cons/pros with supressing this property (treating this property special) vs. surfacing this property (normal property), I think surfacing this property has less impact to the existing customers. If we suppressing this property, the current config.getValue("config_ordinal", Integer.class) will throw exception. Since the spec said this |
It is configuration about the configuration system, in other words, and thus metaconfiguration.
It is "reserved" because it is metaconfiguration but is mixed in with regular configuration. That's why it has these seemingly magical characteristics, not because it is "reserved". (What would be the point of reserving configuration? There could be none.) I am fine if we decide basically: "Oops, we messed up; I am not fine if we decide: "Yes, it makes perfect sense for metaconfiguration and configuration to mix like this without any way of telling which is which". I started this discussion not really agreeing with @radcortez's position and I am coming to the end basically supporting a stronger version of it. |
@ljnelson thanks for the detailed proposal. My main point was also to discuss this matter widely and figure out where should we move. I'm +1 on it. |
I'm (obviously) +1 on it too, but I still want to think about it because it is another breaking change. It is a good breaking change, but breaking nonetheless. Thinking bigger: what would the process be within MicroProfile (I should know this as a committer but I don't) to open discussion about larger issues like {waves hands} metaconfiguration in general? Opening a Github issue seems like a terrible tool for such a thing, and hangouts or meetups seem too transient. I've seen some excellent "larger" Github issues in the area of config simply be closed and effectively ignored and so I don't want that to happen. |
I don't believe there is a strict process for it, but probably the mailing list would raise more awareness and bring more people into the discussion. |
Description
The
config_ordinal
is just a local property to aConfigSource
to help with the sort. Does it make sense forconfig_ordinal
to be available inConfig.getPropertyNames
? Or to return a value inConfig.getValue
(and derivatives)?In my opinion I don't think so. As mentioned,
config_ordinal
is associated with a singleConfigSource
with no relationship with the others. Making a call toConfig.getValue
does not have any meaning. It is just the highest available ordinal and we don't even know theConfigSource
. Same for other methods, likeConfig.getPropertyNames
orConfig.getValues
.The text was updated successfully, but these errors were encountered: