What about specifying dimensions in config, like joinTimeout=5s
Internally it is always stored in millis. пт, 23 дек. 2022 г. в 11:53, Pavel Tupitsyn <ptupit...@apache.org>: > Agree with the proposal. > Those properties go into config files (json/hocon), and it is difficult to > navigate to relevant docs from there. > > I would go with point 3 - longer suffixes like Millis - to make it > unambiguous. > > On Fri, Dec 23, 2022 at 10:06 AM Roman Puchkovskiy < > roman.puchkovs...@gmail.com> wrote: > > > Hi Igniters! > > > > In Ignite 3, in configuration schemas, we have some properties that > > define durations/intervals (usually, these are timeout durations). > > Almost always they are defined without mentioning the duration unit, > > like this: > > > > /** Node join timeout. */ > > @Value(hasDefault = true) > > public int joinTimeout = 5_000; > > > > This makes a user puzzled about the unit of measure: it might be > > milliseconds (as it often is), but who knows. > > It seems beneficial to include the unit of measure in names of such > > properties, like joinTimeoutMs or joinTimeoutMillis. > > > > We might try to solve this via documentation, but, when a property > > name speaks by itself, we don't need to reach for the documentation at > > all, so it still seems better to have it in a name (and, if you edit a > > config file, reaching for documentation might be a bit more > > time-consuming than navigating to a method javadoc in an IDE). > > > > We could do one of the following: > > > > 1. Do not change the naming schema, just improve the documentation; we > > might also establish a strong convention of always having all > > durations in the same unit (like milliseconds) [there is a > > disadvantage: if we add a property that is naturally measured in, say, > > hours, we would still have to use millis, which would make > > configuration very cumbersome with all these zeros] > > 2. Use short suffixes (ns/ms/sec/min/hr/days): joinTimeoutMs. There is > > a problem with microseconds if we ever need them (how do we abbreviate > > it according to this style?) > > 3. Use longer suffixes (nanos/micros/millis/secs/mins/hours/days): > > joinTimeoutMillis. A bit longer than the previous one. > > 4. ... or something else? > > > > What do you think? > > > -- Best regards, Alexei Scherbakov