abdullah alamoudi has uploaded a new change for review.
https://asterix-gerrit.ics.uci.edu/1491
Change subject: Change name resolution order to Node name -> DNS
......................................................................
Change name resolution order to Node name -> DNS
Change-Id: I2bbfc8d9d8469c444f6c70bd3a77654892aeb42f
---
M
asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/NodeResolver.java
1 file changed, 12 insertions(+), 24 deletions(-)
git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb
refs/changes/91/1491/1
diff --git
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/NodeResolver.java
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/NodeResolver.java
index 9970f27..84346c4 100644
---
a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/NodeResolver.java
+++
b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/util/NodeResolver.java
@@ -38,46 +38,34 @@
public class NodeResolver implements INodeResolver {
//TODO: change this call and replace by calling AsterixClusterProperties
private static final Random random = new Random();
- private static final Map<InetAddress, Set<String>> ncMap = new
HashMap<InetAddress, Set<String>>();
- private static final Set<String> ncs = new HashSet<String>();
+ private static final Map<InetAddress, Set<String>> ncMap = new HashMap<>();
+ private static final Set<String> ncs = new HashSet<>();
@Override
public String resolveNode(String value) throws AsterixException {
- UnknownHostException uhe = null;
try {
if (ncMap.isEmpty()) {
NodeResolver.updateNCs();
+ }
+ if (ncs.contains(value)) {
+ return value;
+ } else {
+ NodeResolver.updateNCs();
+ if (ncs.contains(value)) {
+ return value;
+ }
}
InetAddress ipAddress = null;
try {
ipAddress = InetAddress.getByName(value);
} catch (UnknownHostException e) {
- uhe = e;
- }
- if (ipAddress == null) {
- if (ncs.contains(value)) {
- return value;
- } else {
- NodeResolver.updateNCs();
- if (ncs.contains(value)) {
- return value;
- } else {
- throw new
AsterixException(ErrorCode.NODE_RESOLVER_COULDNT_RESOLVE_ADDRESS, uhe, value,
- ncs.toString());
- }
- }
-
+ throw new
AsterixException(ErrorCode.NODE_RESOLVER_UNABLE_RESOLVE_HOST, e, value);
}
Set<String> nodeControllers = ncMap.get(ipAddress);
if (nodeControllers == null || nodeControllers.isEmpty()) {
throw new
AsterixException(ErrorCode.NODE_RESOLVER_NO_NODE_CONTROLLERS, value);
}
- String chosenNCId = nodeControllers.toArray(new String[]
{})[random.nextInt(nodeControllers.size())];
- return chosenNCId;
- } catch (UnknownHostException e) {
- throw new
AsterixException(ErrorCode.NODE_RESOLVER_UNABLE_RESOLVE_HOST, value);
- } catch (AsterixException ae) {
- throw ae;
+ return nodeControllers.toArray(new String[]
{})[random.nextInt(nodeControllers.size())];
} catch (Exception e) {
throw new AsterixException(e);
}
--
To view, visit https://asterix-gerrit.ics.uci.edu/1491
To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2bbfc8d9d8469c444f6c70bd3a77654892aeb42f
Gerrit-PatchSet: 1
Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Owner: abdullah alamoudi <[email protected]>