Vector timestamps provide a way of recording the causal relationships between events in a distributed computation. We draw attention to a limitation of such timestamps when used to reconstruct computations in which message overtaking occurred. Key words: Distributed systems, vector time, logical clocks, timestamps, debugging 1 Causality in distributed systems In a landmark article, Lamport [7] defined the causal relationships among events occurring in a message-passing distributed computation as the smallest relation ‘→’ such that (1) if e and f are events in the same process, and e occurs before f, then e → f, (2) if event e denotes transmission of a message m by a process, and event f denotes reception of the same message m by another process, then e → f, and (3) if e → f and f → g, then e → g. 2 Vector time A number of researchers, most notably Mattern [8] and Fidge [4], later independently proposed vector clocks as a timestamping mechanism for distributed computat...
Colin J. Fidge