in myriad-scheduler/src/main/java/org/apache/myriad/scheduler/yarn/interceptor/CompositeInterceptor.java [88:103]
public void beforeReleaseContainers(List<ContainerId> containers, SchedulerApplicationAttempt attempt){
if (containers != null && attempt != null) {
for (YarnSchedulerInterceptor interceptor : interceptors.values()) {
List<ContainerId> filteredContainers = new ArrayList<>();
for (ContainerId containerId: containers) {
NodeId nodeId = attempt.getRMContainer(containerId).getContainer().getNodeId();
if ((nodeId != null && interceptor.getCallBackFilter().allowCallBacksForNode(nodeId))) {
filteredContainers.add(containerId);
}
}
if (!filteredContainers.isEmpty()) {
interceptor.beforeReleaseContainers(filteredContainers, attempt);
}
}
}
}