In timeline service v2, ColumnHelper#getPutTimestamp supplements the timestamp and is called by ColumnHelper#store. This is not conditional and called for every put.
We need to ensure that the cell timestamps for metrics in entity and application (and sub application) tables are "correct" timestamps since we will be enabling TTLs for these cells.
The supplemented timestamp is to be used only in the flow run table by the coprocessor which intercepts all reads & writes to cells in this table. It looks at the supplemented timestamp to figure out which app id this particular cell belongs to. This is done in order to ensure no collision occurs when two apps belonging to same flow run write the same metric at the same timestamp.
Discovered in the discussion in