You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@reef.apache.org by ss...@apache.org on 2016/07/13 19:37:29 UTC
reef git commit: [REEF-1485] Delete deprecated
LegacyLocalAddressProvider
Repository: reef
Updated Branches:
refs/heads/master 026b5ea60 -> c1317750d
[REEF-1485] Delete deprecated LegacyLocalAddressProvider
JIRA:
[REEF-1485](https://issues.apache.org/jira/browse/REEF-1485)
Pull request:
This closes #1070
Project: http://git-wip-us.apache.org/repos/asf/reef/repo
Commit: http://git-wip-us.apache.org/repos/asf/reef/commit/c1317750
Tree: http://git-wip-us.apache.org/repos/asf/reef/tree/c1317750
Diff: http://git-wip-us.apache.org/repos/asf/reef/diff/c1317750
Branch: refs/heads/master
Commit: c1317750d63611828346c14886c2d9298f91a4be
Parents: 026b5ea
Author: Mariia Mykhailova <ma...@apache.org>
Authored: Wed Jul 6 13:20:20 2016 -0700
Committer: Sergey Dudoladov <ss...@apache.org>
Committed: Wed Jul 13 12:34:15 2016 -0700
----------------------------------------------------------------------
.../src/main/resources/findbugs-exclude.xml | 4 -
.../address/LegacyLocalAddressProvider.java | 128 -------------------
2 files changed, 132 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/reef/blob/c1317750/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
----------------------------------------------------------------------
diff --git a/lang/java/reef-common/src/main/resources/findbugs-exclude.xml b/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
index b69df5f..b7e4436 100644
--- a/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
+++ b/lang/java/reef-common/src/main/resources/findbugs-exclude.xml
@@ -134,10 +134,6 @@
<Bug pattern="SC_START_IN_CTOR" />
</Match>
<Match>
- <Class name="org.apache.reef.wake.remote.address.LegacyLocalAddressProvider$AddressComparator" />
- <Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" />
- </Match>
- <Match>
<Class name="org.apache.reef.wake.remote.impl.RemoteEventComparator" />
<Bug pattern="SE_COMPARATOR_SHOULD_BE_SERIALIZABLE" />
</Match>
http://git-wip-us.apache.org/repos/asf/reef/blob/c1317750/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/address/LegacyLocalAddressProvider.java
----------------------------------------------------------------------
diff --git a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/address/LegacyLocalAddressProvider.java b/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/address/LegacyLocalAddressProvider.java
deleted file mode 100644
index 140c337..0000000
--- a/lang/java/reef-wake/wake/src/main/java/org/apache/reef/wake/remote/address/LegacyLocalAddressProvider.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.reef.wake.remote.address;
-
-import org.apache.reef.tang.Configuration;
-import org.apache.reef.tang.Tang;
-import org.apache.reef.wake.exception.WakeRuntimeException;
-
-import javax.inject.Inject;
-import java.net.Inet4Address;
-import java.net.InetAddress;
-import java.net.NetworkInterface;
-import java.net.SocketException;
-import java.util.Comparator;
-import java.util.Enumeration;
-import java.util.TreeSet;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * An implementation of LocalAddressProvider using the (removed) code from NetUtils.getLocalAddress().
- * @deprecated in 0.14. Use HostnameBasedLocalAddressProvider instead
- */
-@Deprecated
-public final class LegacyLocalAddressProvider implements LocalAddressProvider {
- private static final Logger LOG = Logger.getLogger(LegacyLocalAddressProvider.class.getName());
- private final AtomicReference<String> cached = new AtomicReference<>();
-
- /**
- * Injectable constructor for Tang only.
- */
- @Inject
- private LegacyLocalAddressProvider() {
- LOG.log(Level.FINE, "Instantiating LegacyLocalAddressProvider");
- }
-
- @Override
- public String getLocalAddress() {
- // This method is surprisingly slow: It was causing unit test timeouts, so we memoize the result.
- if (cached.get() == null) {
- final Enumeration<NetworkInterface> ifaces;
- try {
- ifaces = NetworkInterface.getNetworkInterfaces();
- final TreeSet<Inet4Address> sortedAddrs = new TreeSet<>(new AddressComparator());
- // There is an idea of virtual / subinterfaces exposed by java here.
- // We're not walking around looking for those because the javadoc says:
-
- // "NOTE: can use getNetworkInterfaces()+getInetAddresses() to obtain all IP addresses for this node"
-
- while (ifaces.hasMoreElements()) {
- final NetworkInterface iface = ifaces.nextElement();
-// if(iface.isUp()) { // leads to slowness and non-deterministic return values, so don't call isUp().
- final Enumeration<InetAddress> addrs = iface.getInetAddresses();
- while (addrs.hasMoreElements()) {
- final InetAddress a = addrs.nextElement();
- if (a instanceof Inet4Address) {
- sortedAddrs.add((Inet4Address) a);
- }
-// }
- }
- }
- if (sortedAddrs.isEmpty()) {
- throw new WakeRuntimeException("This machine apparently doesn't have any IP addresses (not even 127.0.0.1) " +
- "on interfaces that are up.");
- }
- cached.set(sortedAddrs.pollFirst().getHostAddress());
- LOG.log(Level.FINE, "Local address is {0}", cached.get());
- } catch (final SocketException e) {
- throw new WakeRuntimeException("Unable to get local host address", e);
- }
- }
- return cached.get();
- }
-
- @Override
- public Configuration getConfiguration() {
- return Tang.Factory.getTang().newConfigurationBuilder()
- .bind(LocalAddressProvider.class, LegacyLocalAddressProvider.class)
- .build();
- }
-
- private static class AddressComparator implements Comparator<Inet4Address> {
-
- // get unsigned byte.
- private static int u(final byte b) {
- return (int) b; // & 0xff;
- }
-
- @Override
- public int compare(final Inet4Address aa, final Inet4Address ba) {
- final byte[] a = aa.getAddress();
- final byte[] b = ba.getAddress();
- // local subnet comes after all else.
- if (a[0] == 127 && b[0] != 127) {
- return 1;
- }
- if (a[0] != 127 && b[0] == 127) {
- return -1;
- }
- for (int i = 0; i < 4; i++) {
- if (u(a[i]) < u(b[i])) {
- return -1;
- }
- if (u(a[i]) > u(b[i])) {
- return 1;
- }
- }
- return 0;
- }
- }
-}