I made a typo in my previous email, I meant to say "not allowing", i.e. if a config' type is Boolean, do not accept "true" as the value.
On Thu, Feb 6, 2014 at 8:30 AM, Jay Kreps <jay.kr...@gmail.com> wrote: > Guozhang, > > In spirit I agree with you, but it is really annoying if I can't say > props.put("config.a", 45) > props.put("config.b", true) > > This is especially true because config will actually come from elsewhere > and may have the appropriate type so in reality you end up with > props.put("config.a", Integer.toString(theValue)) > and the error is usually pretty confusing because it is like > "Invalid value true, not a boolean!" > > Since the type is specified I can't think of any corner case with confusing > behavior. > > -Jay > > -Jay > > > On Wed, Feb 5, 2014 at 5:30 PM, Guozhang Wang <wangg...@gmail.com> wrote: > > > I like the helper function in all except in parseType: is it better to be > > restrict about types, i.e. now allowing "true" if the type is really > > Boolean? > > > > > > On Wed, Feb 5, 2014 at 5:06 PM, Joel Koshy <jjkosh...@gmail.com> wrote: > > > > > Overall, +1 on sticking with key-values for configs. > > > > > > > > > > Con: The IDE gives nice auto-completion for pojos. > > > > > > > > Con: There are some advantages to javadoc as a documentation > mechanism > > > for > > > > java people. > > > > > > Optionally, both the above cons can be addressed (to some degree) by > > > wrapper config POJOs that read in the config. i.e., the client will > > > provide a KV config, but then we (internally) would load that into a > > > specific config POJO that will be helpful for auto-completion and > > > javadocs and convenience for our internal implementation (as opposed > > > to using getLong/getString, etc. which could cause runtime exceptions > > > if done incorrectly). The javadoc in the pojo would need a @value link > > > to the original config key string if it is to show up in the generated > > > javadoc. > > > > > > > > > > show you the value of the constant, just the variable name (unless > you > > > > discover how to unhide it). That is fine for the clients, but for the > > > > > > Figuring out a way to un-hide it would be preferable to having to keep > > > the website as the single source of documentation (even if it is > > > generated from the javadoc) and make the javadoc link to it. I tried, > > > but was unsuccessful so unless someone knows how to do that the above > > > approach is the next-best alternative. > > > > > > > server would be very weird especially for non-java people. We could > > > attempt > > > > to duplicate documentation between the javadoc and the ConfigDef but > > > given > > > > our struggle to get well-documented config in a single place this > seems > > > > unwise. > > > > > > > > So I recommend we have a single source for documentation of these and > > > that > > > > that source be the website documentation on configuration that covers > > > > clients and server and that that be generated off the config defs. > The > > > > javadoc on KafkaProducer will link to this table so it should be > quite > > > > convenient to discover. > > > > > > > > > > > > -- > > -- Guozhang > > > -- -- Guozhang