提交 8bc42352 编写于 作者: A Andrews 提交者: Matteo Merli

Fixes to some of the issues reported by fbinfer static code analyzer (#344)

上级 f5722415
......@@ -246,7 +246,7 @@ class ManagedCursorContainer implements Iterable<ManagedCursor> {
Item right = getRight(item);
if (right != null && right.position.compareTo(item.position) < 0) {
Item left = getLeft(item);
if (left.position.compareTo(right.position) < 0) {
if (left != null && left.position.compareTo(right.position) < 0) {
j = left;
} else {
j = right;
......
......@@ -1319,6 +1319,11 @@ public class SimpleLoadManagerImpl implements LoadManager, ZooKeeperCacheListene
if (isAboveLoadLevel(lr.getSystemResourceUsage(), overloadThreshold)) {
ResourceType bottleneckResourceType = lr.getBottleneckResourceType();
Map<String, NamespaceBundleStats> bundleStats = lr.getSortedBundleStats(bottleneckResourceType);
if (bundleStats == null) {
log.warn("Null bundle stats for bundle {}", lr.getName());
continue;
}
// 1. owns only one namespace
if (bundleStats.size() == 1) {
// can't unload one namespace, just issue a warning message
......
......@@ -81,11 +81,13 @@ public class SimpleResourceAllocationPolicies {
}
public boolean isPrimaryBroker(NamespaceName namespace, String broker) {
return getNamespaceIsolationPolicy(namespace).isPrimaryBroker(broker);
NamespaceIsolationPolicy nsPolicy = getNamespaceIsolationPolicy(namespace);
return (nsPolicy != null) ? nsPolicy.isPrimaryBroker(broker) : false;
}
public boolean isSecondaryBroker(NamespaceName namespace, String broker) {
return getNamespaceIsolationPolicy(namespace).isSecondaryBroker(broker);
NamespaceIsolationPolicy nsPolicy = getNamespaceIsolationPolicy(namespace);
return (nsPolicy != null) ? nsPolicy.isSecondaryBroker(broker) : false;
}
public boolean isSharedBroker(String broker) {
......@@ -101,6 +103,7 @@ public class SimpleResourceAllocationPolicies {
}
public boolean shouldFailoverToSecondaries(NamespaceName namespace, int totalPrimaryCandidates) {
return getNamespaceIsolationPolicy(namespace).shouldFailover(totalPrimaryCandidates);
NamespaceIsolationPolicy nsPolicy = getNamespaceIsolationPolicy(namespace);
return (nsPolicy != null) ? nsPolicy.shouldFailover(totalPrimaryCandidates) : false;
}
}
......@@ -46,7 +46,6 @@ import org.slf4j.LoggerFactory;
import com.google.common.collect.Lists;
import com.google.common.hash.Hashing;
import com.yahoo.pulsar.broker.LocalBrokerData;
import com.yahoo.pulsar.broker.PulsarServerException;
import com.yahoo.pulsar.broker.PulsarService;
import com.yahoo.pulsar.broker.ServiceConfiguration;
......@@ -67,12 +66,10 @@ import com.yahoo.pulsar.common.policies.data.BrokerAssignment;
import com.yahoo.pulsar.common.policies.data.BundlesData;
import com.yahoo.pulsar.common.policies.data.LocalPolicies;
import com.yahoo.pulsar.common.policies.data.NamespaceOwnershipStatus;
import com.yahoo.pulsar.common.policies.data.loadbalancer.LoadReport;
import com.yahoo.pulsar.common.policies.data.loadbalancer.ServiceLookupData;
import com.yahoo.pulsar.common.policies.impl.NamespaceIsolationPolicies;
import com.yahoo.pulsar.common.util.Codec;
import com.yahoo.pulsar.common.util.ObjectMapperFactory;
import com.yahoo.pulsar.zookeeper.ZooKeeperCache.Deserializer;
/**
* The <code>NamespaceService</code> provides resource ownership lookup as well as resource ownership claiming services
......
......@@ -47,6 +47,7 @@ import com.yahoo.pulsar.client.api.AuthenticationDataProvider;
import com.yahoo.pulsar.client.api.AuthenticationFactory;
import com.yahoo.pulsar.client.api.ClientConfiguration;
import com.yahoo.pulsar.client.api.PulsarClientException;
import com.yahoo.pulsar.client.impl.auth.AuthenticationDisabled;
import com.yahoo.pulsar.common.util.SecurityUtility;
/**
......@@ -98,7 +99,7 @@ public class PulsarAdmin implements Closeable {
* the ClientConfiguration object to be used to talk with Pulsar
*/
public PulsarAdmin(URL serviceUrl, ClientConfiguration pulsarConfig) throws PulsarClientException {
this.auth = pulsarConfig != null ? pulsarConfig.getAuthentication() : null;
this.auth = pulsarConfig != null ? pulsarConfig.getAuthentication() : new AuthenticationDisabled();
LOG.debug("created: serviceUrl={}, authMethodName={}", serviceUrl,
auth != null ? auth.getAuthMethodName() : null);
......
......@@ -103,6 +103,7 @@ public class CmdProduce {
byte[] fileBytes = new byte[(int) f.length()];
fis.read(fileBytes);
messageBodies.add(fileBytes);
fis.close();
}
} catch (Exception e) {
......
......@@ -183,6 +183,9 @@ public class ConsumerStats implements Serializable {
}
void updateCumulativeStats(ConsumerStats stats) {
if (stats == null) {
return;
}
numMsgsReceived.add(stats.numMsgsReceived.longValue());
numBytesReceived.add(stats.numBytesReceived.longValue());
numReceiveFailed.add(stats.numReceiveFailed.longValue());
......
......@@ -199,6 +199,9 @@ public class ProducerStats implements Serializable {
}
void updateCumulativeStats(ProducerStats stats) {
if (stats == null) {
return;
}
numMsgsSent.add(stats.numMsgsSent.longValue());
numBytesSent.add(stats.numBytesSent.longValue());
numSendFailed.add(stats.numSendFailed.longValue());
......
......@@ -158,7 +158,7 @@ public class NamespaceIsolationPolicies {
BrokerAssignment brokerAssignment = this.getBrokerAssignment(nsPolicy, brkStatus.getBrokerAddress());
if (brokerAssignment == BrokerAssignment.primary) {
// Only add to candidates if allowed by policy
if (nsPolicy.isPrimaryBrokerAvailable(brkStatus)) {
if (nsPolicy != null && nsPolicy.isPrimaryBrokerAvailable(brkStatus)) {
primaryCandidates.add(brkStatus);
}
} else if (brokerAssignment == BrokerAssignment.secondary) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册