NIFI-2017: Fixed typo in nf-port.js that was referencing the wrong variable name to determine whether or not a port is transmitting

Fixed merging logic for root group status. Only consider a port transmitting when there is an active request, not when there is a 'queued' request
This closes #1279
This commit is contained in:
Mark Payne 2016-11-29 14:49:12 -05:00 committed by Matt Gilman
parent 1f40f298c0
commit 02f02b245a
3 changed files with 24 additions and 30 deletions

View File

@ -307,6 +307,8 @@ public class StatusMerger {
merge(target.getAggregateSnapshot(), targetReadablePermission, toMerge.getAggregateSnapshot(), toMergeReadablePermission); merge(target.getAggregateSnapshot(), targetReadablePermission, toMerge.getAggregateSnapshot(), toMergeReadablePermission);
target.setTransmitting(Boolean.TRUE.equals(target.isTransmitting()) || Boolean.TRUE.equals(toMerge.isTransmitting()));
if (target.getNodeSnapshots() != null) { if (target.getNodeSnapshots() != null) {
final NodePortStatusSnapshotDTO nodeSnapshot = new NodePortStatusSnapshotDTO(); final NodePortStatusSnapshotDTO nodeSnapshot = new NodePortStatusSnapshotDTO();
nodeSnapshot.setStatusSnapshot(toMerge.getAggregateSnapshot()); nodeSnapshot.setStatusSnapshot(toMerge.getAggregateSnapshot());

View File

@ -16,6 +16,24 @@
*/ */
package org.apache.nifi.remote; package org.apache.nifi.remote;
import static java.util.Objects.requireNonNull;
import java.io.IOException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import org.apache.nifi.authorization.AuthorizationResult; import org.apache.nifi.authorization.AuthorizationResult;
import org.apache.nifi.authorization.AuthorizationResult.Result; import org.apache.nifi.authorization.AuthorizationResult.Result;
import org.apache.nifi.authorization.Authorizer; import org.apache.nifi.authorization.Authorizer;
@ -55,24 +73,6 @@ import org.apache.nifi.util.NiFiProperties;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.io.IOException;
import java.net.SocketTimeoutException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicReference;
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReentrantLock;
import static java.util.Objects.requireNonNull;
public class StandardRootGroupPort extends AbstractPort implements RootGroupPort { public class StandardRootGroupPort extends AbstractPort implements RootGroupPort {
private static final String CATEGORY = "Site to Site"; private static final String CATEGORY = "Site to Site";
@ -81,10 +81,8 @@ public class StandardRootGroupPort extends AbstractPort implements RootGroupPort
private final AtomicReference<Set<String>> groupAccessControl = new AtomicReference<Set<String>>(new HashSet<String>()); private final AtomicReference<Set<String>> groupAccessControl = new AtomicReference<Set<String>>(new HashSet<String>());
private final AtomicReference<Set<String>> userAccessControl = new AtomicReference<Set<String>>(new HashSet<String>()); private final AtomicReference<Set<String>> userAccessControl = new AtomicReference<Set<String>>(new HashSet<String>());
private final ProcessScheduler processScheduler;
private final boolean secure; private final boolean secure;
private final Authorizer authorizer; private final Authorizer authorizer;
private final NiFiProperties nifiProperties;
private final List<IdentityMapping> identityMappings; private final List<IdentityMapping> identityMappings;
@SuppressWarnings("unused") @SuppressWarnings("unused")
@ -105,11 +103,9 @@ public class StandardRootGroupPort extends AbstractPort implements RootGroupPort
final NiFiProperties nifiProperties) { final NiFiProperties nifiProperties) {
super(id, name, processGroup, type, scheduler); super(id, name, processGroup, type, scheduler);
this.processScheduler = scheduler;
setScheduldingPeriod(MINIMUM_SCHEDULING_NANOS + " nanos"); setScheduldingPeriod(MINIMUM_SCHEDULING_NANOS + " nanos");
this.authorizer = authorizer; this.authorizer = authorizer;
this.secure = secure; this.secure = secure;
this.nifiProperties = nifiProperties;
this.identityMappings = IdentityMappingUtil.getIdentityMappings(nifiProperties); this.identityMappings = IdentityMappingUtil.getIdentityMappings(nifiProperties);
this.bulletinRepository = bulletinRepository; this.bulletinRepository = bulletinRepository;
this.scheduler = scheduler; this.scheduler = scheduler;
@ -293,10 +289,6 @@ public class StandardRootGroupPort extends AbstractPort implements RootGroupPort
return false; return false;
} }
if (!requestQueue.isEmpty()) {
return true;
}
requestLock.lock(); requestLock.lock();
try { try {
return !activeRequests.isEmpty(); return !activeRequests.isEmpty();

View File

@ -410,7 +410,7 @@ nf.Port = (function () {
updated.select('text.port-transmission-icon') updated.select('text.port-transmission-icon')
.attr({ .attr({
'font-family': function (d) { 'font-family': function (d) {
if (d.status.aggregateSnapshot.transmitting === true) { if (d.status.transmitting === true) {
return 'FontAwesome'; return 'FontAwesome';
} else { } else {
return 'flowfont'; return 'flowfont';
@ -418,21 +418,21 @@ nf.Port = (function () {
} }
}) })
.text(function (d) { .text(function (d) {
if (d.status.aggregateSnapshot.transmitting === true) { if (d.status.transmitting === true) {
return '\uf140'; return '\uf140';
} else { } else {
return '\ue80a'; return '\ue80a';
} }
}) })
.classed('transmitting', function (d) { .classed('transmitting', function (d) {
if (d.status.aggregateSnapshot.transmitting === true) { if (d.status.transmitting === true) {
return true; return true;
} else { } else {
return false; return false;
} }
}) })
.classed('not-transmitting', function (d) { .classed('not-transmitting', function (d) {
if (d.status.aggregateSnapshot.transmitting !== true) { if (d.status.transmitting !== true) {
return true; return true;
} else { } else {
return false; return false;