  Causal consistency is in an intermediate consistency model that can be
achieved together with high availability and high performance requirements even
in presence of network partitions. There are several proposals in the
literature for causally consistent data stores. Thanks to the use of single
scalar physical clocks, GentleRain has a throughput higher than other proposals
such as COPS or Orbe. However, both of its correctness and performance relay on
monotonic synchronized physical clocks. Specifically, if physical clocks go
backward its correctness is violated. In addition, GentleRain is sensitive on
the clock synchronization, and clock skew may slow write operations in
GenlteRain. In this paper, we want to solve this issue in GenlteRain by using
Hybrid Logical Clock (HLC) instead of physical clocks. Using HLC, GentleRain
protocl is not sensitive on the clock skew anymore. In addition, even if clocks
go backward, the correctness of the system is not violated. Furthermore, by
HLC, we timestamp versions with a clock very close to the physical clocks.
Thus, we can take causally consistency snapshot of the system at any give
physical time. We call GentleRain protocol with HLCs GentleRain+. We have
implemented GentleRain+ protocol, and have evaluated it experimentally.
GentleRain+ provides faster write operations compare to GentleRain that rely
solely on physical clocks to achieve causal consistency. We have also shown
that using HLC instead of physical clock does not have any overhead. Thus, it
makes GentleRain more robust on clock anomalies at no cost.
