fluo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Christopher <ctubb...@apache.org>
Subject Re: Oracle Server Javadoc
Date Fri, 22 Dec 2017 08:04:51 GMT
Is it not already obvious that it carries these properties from the
existing wording? Or is there something ambiguous in the current wording
that requires more rigorous technical jargon for clarity? It would probably
be best to avoid too much technical jargon unless it adds significant
clarity to an otherwise ambiguous wording. In this case, I suspect it's
possible to describe its simple behavior with simple English.

On Fri, Dec 22, 2017, 01:36 Kenneth Mcfarland <
kennethpaulmcfarland@gmail.com> wrote:

> Here is what the oracle server says right now as from OracleServer.java:
>
> /**
>  * Oracle server is the responsible for providing incrementing logical
> timestamps to clients. It
>  * should never give the same timestamp to two clients and it should always
> provide an incrementing
>  * timestamp.
>  *
>  * <p>
>  * If multiple oracle servers are run, they will choose a leader and
> clients will automatically
>  * connect to that leader. If the leader goes down, the client will
> automatically fail over to the
>  * next leader. In the case where an oracle fails over, the next oracle
> will begin a new block of
>  * timestamps.
>  */
>
> I'd like to add some information to the first paragraph, and this might be
> useful just because.
> The conditions in the first paragraph create what is known as a strict
> ordering [1].
> There are 3 conditions for a strict ordering on a set, let S be a set:
>
> 1) irreflexive:  a < a is false for all a the timestamp gives out, TFAE: a
> is unique, and a != a for any a in S
>
> 2) antisymmetric: if a < b then ! b < a, for all a,b in S. This is pretty
> obvious but fundamental.
>
> 3) transitive: a < b and b < c then a < c, for all a,b,c in S. Again this
> is intuitive. Note by 1 that a != b and b !=c (and to be silly a != c is
> obvious), there must be three unique time stamps.
>
> Another equivalent definition is 'strictly increasing' [3], 'monotonic
> increasing' [2].
>
> Calling the allocateTimestamp function strictly increasing or a strictly
> increasing function is also a pretty intuitive and mathematically sound
> statement. This would make precise what is being said in the first
> paragraph. Please give comments if this is too much geek/math or if its ok.
>
>
>
> [1] http://mathworld.wolfram.com/StrictOrder.html
> [2] http://mathworld.wolfram.com/MonotoneIncreasing.html
> [3] http://mathworld.wolfram.com/StrictlyIncreasingFunction.html
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message