Author: tmckay
Date: 2013-06-19 18:13:58 +0000 (Wed, 19 Jun 2013)
New Revision: 5754
Modified:
trunk/sage/python/sage/aviary/aviaryoperations.py
Log:
Stub implementation to allow addition of external name nodes and job trackers
Modified: trunk/sage/python/sage/aviary/aviaryoperations.py
===================================================================
--- trunk/sage/python/sage/aviary/aviaryoperations.py 2013-06-19 17:38:03 UTC (rev 5753)
+++ trunk/sage/python/sage/aviary/aviaryoperations.py 2013-06-19 18:13:58 UTC (rev 5754)
@@ -7,6 +7,7 @@
import time
import sage
import socket
+import copy
from datetime import datetime
from threading import Lock
@@ -76,7 +77,6 @@
# Nice, friendly strings for error messages on lookup
_nice = {("SCHEDULER","JOB"): "job service",
("CUSTOM","QUERY_SERVER"): "query service",
- ("SCHEDULER","HADOOP"): "hadoop service",
("COLLECTOR","POOL"): "collector service",
("SCHEDULER","HADOOP"): "hadoop service"}
@@ -1027,6 +1027,11 @@
# Equivalence? We don't want no stinking QMF structural equivalence!
self.use_MethodResult_for_sync_calls = False
+ # This lock protects external name_node and job_tracker lists
+ self._hadoop_lock = Lock()
+ self._external_name_nodes = []
+ self._external_job_trackers = []
+
def start_name_node(self, host, bin_file, owner, description, callback):
assert callable(callback)
@@ -1104,6 +1109,28 @@
def get_task_tracker_list(self, owner=None, callback=None):
return self._get_node_list(self.get_task_tracker, owner, callback)
+ def add_external_name_node(self, ipc, url):
+ self._hadoop_lock.acquire()
+ self._external_name_nodes.append((ipc, url))
+ self._hadoop_lock.release()
+
+ def get_external_name_nodes(self):
+ self._hadoop_lock.acquire()
+ res = copy.deepcopy(self._external_name_nodes)
+ self._hadoop_lock.release()
+ return res
+
+ def add_external_job_tracker(self, ipc, url):
+ self._hadoop_lock.acquire()
+ self._external_job_trackers.append((ipc, url))
+ self._hadoop_lock.release()
+
+ def get_external_job_trackers(self):
+ self._hadoop_lock.acquire()
+ res = copy.deepcopy(self._external_job_trackers)
+ self._hadoop_lock.release()
+ return res
+
def _make_id(self, client, val):
def url(v):
Show replies by date