This is an automated email from the ASF dual-hosted git repository.
cshannon pushed a commit to branch 2.1
in repository https://gitbox.apache.org/repos/asf/accumulo.git
The following commit(s) were added to refs/heads/2.1 by this push:
new 38952c9226 Update TabletServerBatchReaderIterator to use nanotime
(#4864)
38952c9226 is described below
commit 38952c922648014e74e4e7a5704bfa256f390faa
Author: Christopher L. Shannon <[email protected]>
AuthorDate: Sat Sep 7 14:26:51 2024 -0400
Update TabletServerBatchReaderIterator to use nanotime (#4864)
The iterator now uses a Timer for tracking elapsed time which is based
on nano time instead of System millis
This closes #4804
---
.../accumulo/core/clientImpl/TabletServerBatchReaderIterator.java | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
index a852531bc6..f43f571f6c 100644
---
a/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
+++
b/core/src/main/java/org/apache/accumulo/core/clientImpl/TabletServerBatchReaderIterator.java
@@ -504,7 +504,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
private void doLookups(Map<String,Map<KeyExtent,List<Range>>> binnedRanges,
final ResultReceiver receiver, List<Column> columns) {
- long startTime = System.currentTimeMillis();
+ Timer startTime = Timer.startNew();
int maxTabletsPerRequest = Integer.MAX_VALUE;
long busyTimeout = 0;
@@ -606,7 +606,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
}
private ScanServerData
rebinToScanServers(Map<String,Map<KeyExtent,List<Range>>> binnedRanges,
- long startTime) {
+ Timer startTime) {
ScanServerSelector ecsm = context.getScanServerSelector();
List<TabletIdImpl> tabletIds =
@@ -616,8 +616,7 @@ public class TabletServerBatchReaderIterator implements
Iterator<Entry<Key,Value
// get a snapshot of this once,not each time the plugin request it
var scanAttemptsSnapshot = scanAttempts.snapshot();
- Duration timeoutLeft = Duration.ofMillis(retryTimeout)
- .minus(Duration.ofMillis(System.currentTimeMillis() - startTime));
+ Duration timeoutLeft = Duration.ofMillis(retryTimeout -
startTime.elapsed(MILLISECONDS));
ScanServerSelector.SelectorParameters params = new
ScanServerSelector.SelectorParameters() {
@Override