Skip to content

Commit 2e12f1d

Browse files
committed
qos-adjuster: use pnfsid for internal bookkeeping
Motivation: The QoSAdjusterTaskMap keeps track of in-flight tasks in a Map<String, Task>. The string is always the result of PnfsID.toString call. Thus, PnfsID can be used directly. Modification: Update QoSAdjusterTaskMap to use PnfsIDs instead of strings in a key in the `index` map. Result: More obvious key usage. Acked-by: Paul Millar Target: master Require-book: no Require-notes: no
1 parent ef27b1f commit 2e12f1d

1 file changed

Lines changed: 8 additions & 9 deletions

File tree

‎modules/dcache-qos/src/main/java/org/dcache/qos/services/adjuster/data/QoSAdjusterTaskMap.java‎

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ public final class QoSAdjusterTaskMap extends RunnableModule implements CellInfo
104104
private final Lock write = lock.writeLock();
105105
private final Lock read = lock.readLock();
106106

107-
private final Map<String, QoSAdjusterTask> index = new ConcurrentHashMap<>();
107+
private final Map<PnfsId, QoSAdjusterTask> index = new ConcurrentHashMap<>();
108108
private final Deque<QoSAdjusterTask> runningQueue = new LinkedBlockingDeque<>();
109109
private final Deque<QoSAdjusterTask> readyQueue = new LinkedBlockingDeque<>();
110110
private final Deque<QoSAdjusterTask> waitingQueue = new LinkedBlockingDeque<>();
@@ -142,7 +142,7 @@ public final class QoSAdjusterTaskMap extends RunnableModule implements CellInfo
142142
public void cancel(PnfsId pnfsId) {
143143
write.lock();
144144
try {
145-
QoSAdjusterTask task = index.get(pnfsId.toString());
145+
QoSAdjusterTask task = index.get(pnfsId);
146146
if (task != null) {
147147
LOGGER.debug("TaskMap cancel {}", pnfsId);
148148
task.cancel("Cancelled by admin/user.");
@@ -432,7 +432,7 @@ public void updateTask(PoolMigrationCopyFinishedMessage message) {
432432
PnfsId pnfsId = message.getPnfsId();
433433
read.lock();
434434
try {
435-
QoSAdjusterTask task = index.get(pnfsId.toString());
435+
QoSAdjusterTask task = index.get(pnfsId);
436436
if (task == null) {
437437
/*
438438
* Treat the missing entry benignly,
@@ -462,7 +462,7 @@ public void updateTask(PnfsId pnfsId, Optional<String> target, CacheException ex
462462

463463
read.lock();
464464
try {
465-
task = index.get(pnfsId.toString());
465+
task = index.get(pnfsId);
466466
if (task == null) {
467467
/*
468468
* Treat the missing entry benignly,
@@ -483,11 +483,10 @@ public void updateTask(PnfsId pnfsId, Optional<String> target, CacheException ex
483483

484484
@GuardedBy("write")
485485
private boolean add(PnfsId pnfsId, QoSAdjusterTask task) {
486-
String key = pnfsId.toString();
487-
if (index.containsKey(key)) {
486+
if (index.containsKey(pnfsId)) {
488487
return false;
489488
}
490-
index.put(key, task);
489+
index.put(pnfsId, task);
491490
readyQueue.add(task);
492491
return true;
493492
}
@@ -507,11 +506,11 @@ private void handleTerminatedTask(QoSAdjusterTask task) {
507506
if (task.getException() != null && retry < maxRetries) {
508507
LOGGER.debug("TaskMap handleTerminatedTask, readding {}", task.getPnfsId());
509508
task = new QoSAdjusterTask(task, retry + 1);
510-
index.put(task.getPnfsId().toString(), task);
509+
index.put(task.getPnfsId(), task);
511510
readyQueue.add(task);
512511
} else {
513512
LOGGER.debug("TaskMap handleTerminatedTask, removing {}", task.getPnfsId());
514-
index.remove(task.getPnfsId().toString());
513+
index.remove(task.getPnfsId());
515514
history.add(task.getPnfsId(), task.toHistoryString(), task.getException() != null);
516515
counters.recordTask(task);
517516
taskHandler.notifyAdjustmentCompleted(task);

0 commit comments

Comments
 (0)