Github user keith-turner commented on a diff in the pull request:

    https://github.com/apache/accumulo/pull/220#discussion_r102774271
  
    --- Diff: 
server/master/src/main/java/org/apache/accumulo/master/replication/RemoveCompleteReplicationRecords.java
 ---
    @@ -216,4 +220,13 @@ protected long removeRowIfNecessary(BatchWriter bw, 
SortedMap<Key,Value> columns
     
         return recordsRemoved;
       }
    +
    +  /*
    +   * Metrics calls snapshot. Largest time stamp will be found for each 
snapshot then reset.
    +   */
    +  private void collectLatency(Long createdTime) {
    +    long latency = System.currentTimeMillis() - createdTime;
    --- End diff --
    
    I looked into this a bit more to see if using nanoTime would be reasonable 
across processes.  The following is from the nanoTime javaodc
    
    ```
    Returns the current value of the running Java Virtual Machine's 
high-resolution time source, in nanoseconds. This method can only be used to 
measure elapsed time and is not related to any other notion of system or 
wall-clock time.
    ```
    
    Given this documentation, if the times are persisted and used across 
multiple processes then I think using `nanoTime()` would be inappropriate. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to