On 15/06/2014 4:58 a.m., Alex Rousskov wrote: > On 06/11/2014 08:52 AM, Tsantilas Christos wrote: > >> I must also note that this patch adds an inconsistency. All annotation >> key=values pairs received from helpers, accumulated to the existing key >> notes values. The clt_conn_id=Id pair is always unique and replaces the >> existing clt_conn_id=Id annotation pair. >> We may want to make all annotations unique, or maybe implement a >> configuration mechanism to define which annotations are overwriting >> their previous values and which appending the new values. > > I suggest making all annotations unique (i.e., new values overwrite old > ones) because helpers that want to accumulate annotation values can do > that by returning old values along with new ones: > > received by helper: name=v1 > returned by helper: name=v1,v2 > > Please note that the opposite does not work: If annotation values are > always accumulated, a helper cannot overwrite/remove the old value. >
Doing that would mean passing all existing annotations to every helper lookup. Which would seriously degrade the helper result caching. Amos