@@ -670,7 +670,10 @@ Release 2.7.0 - UNRELEASED
HADOOP-11446. S3AOutputStream should use shared thread pool to
avoid OutOfMemoryError. (Ted Yu via stevel)
-
+
+ HADOOP-11459. Fix recent findbugs in ActiveStandbyElector, NetUtils
+ and ShellBasedIdMapping (vinayakumarb)
Release 2.6.0 - 2014-11-18
INCOMPATIBLE CHANGES
@@ -1064,7 +1064,9 @@ public class ActiveStandbyElector implements StatCallback, StringCallback {
public void process(WatchedEvent event) {
hasReceivedEvent.countDown();
try {
- hasSetZooKeeper.await(zkSessionTimeout, TimeUnit.MILLISECONDS);
+ if (!hasSetZooKeeper.await(zkSessionTimeout, TimeUnit.MILLISECONDS)) {
+ LOG.debug("Event received with stale zk");
+ }
ActiveStandbyElector.this.processWatchEvent(
zk, event);
} catch (Throwable t) {
@@ -288,7 +288,7 @@ public class NetUtils {
fqHost = SecurityUtil.getByName(host).getHostName();
// slight race condition, but won't hurt
- canonicalizedHostCache.put(host, fqHost);
+ canonicalizedHostCache.putIfAbsent(host, fqHost);
} catch (UnknownHostException e) {
fqHost = host;
}
@@ -290,7 +290,7 @@ public class ShellBasedIdMapping implements IdMappingServiceProvider {
return true;
- private void initStaticMapping() throws IOException {
+ private synchronized void initStaticMapping() throws IOException {
staticMapping = new StaticMapping(
new HashMap<Integer, Integer>(), new HashMap<Integer, Integer>());
if (staticMappingFile.exists()) {