Till Westmann has submitted this change and it was merged. Change subject: ASTERIXDB-1611: reasonable names for threads ......................................................................
ASTERIXDB-1611: reasonable names for threads Change-Id: I3fea28c9e0ea7c3baad1c7a053adabc71bea2a8a Reviewed-on: https://asterix-gerrit.ics.uci.edu/1092 Sonar-Qube: Jenkins <[email protected]> Tested-by: Jenkins <[email protected]> Integration-Tests: Jenkins <[email protected]> Reviewed-by: Michael Blow <[email protected]> --- M asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java M asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java M asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/work/WorkQueue.java M hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java 7 files changed, 19 insertions(+), 24 deletions(-) Approvals: Michael Blow: Looks good to me, approved Jenkins: Verified; No violations found; Verified diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java index 44bc3bf..f35b844 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/api/common/AsterixHyracksIntegrationUtil.java @@ -72,7 +72,7 @@ for (String ncName : nodes) { NodeControllerService nodeControllerService = new NodeControllerService(createNCConfig(ncName)); nodeControllers.add(nodeControllerService); - Thread ncStartThread = new Thread() { + Thread ncStartThread = new Thread("IntegrationUtil-" + ncName) { @Override public void run() { try { diff --git a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java index 0d5cfb2..bbd400b 100644 --- a/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java +++ b/asterixdb/asterix-app/src/main/java/org/apache/asterix/hyracks/bootstrap/GlobalRecoveryManager.java @@ -203,20 +203,18 @@ * Note: Throwing this illegal state exception will terminate this thread * and feeds listeners will not be notified. */ - LOGGER.severe("Global recovery was not completed successfully" + e); + LOGGER.log(Level.SEVERE, "Global recovery was not completed successfully: ", e); try { MetadataManager.INSTANCE.abortTransaction(mdTxnCtx); } catch (Exception e1) { - if (LOGGER.isLoggable(Level.SEVERE)) { - LOGGER.severe("Exception in aborting" + e.getMessage()); - } + LOGGER.log(Level.SEVERE, "Exception in aborting", e1); throw new IllegalStateException(e1); } } AsterixClusterProperties.INSTANCE.setGlobalRecoveryCompleted(true); LOGGER.info("Global Recovery Completed"); } - }); + }, "RecoveryThread"); setState(newState); recoveryThread.start(); } diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java index 383039e..182cbda 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/MetadataNode.java @@ -1145,6 +1145,9 @@ IValueExtractor<ResultType> valueExtractor, List<ResultType> results) throws MetadataException, IndexException, IOException { IBinaryComparatorFactory[] comparatorFactories = index.getKeyBinaryComparatorFactory(); + if (index.getFile() == null) { + throw new MetadataException("No file for Index " + index.getDataverseName() + "." + index.getIndexName()); + } String resourceName = index.getFile().toString(); IIndex indexInstance = datasetLifecycleManager.getIndex(resourceName); datasetLifecycleManager.open(resourceName); diff --git a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java index f5ccb9e..616c724 100644 --- a/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java +++ b/asterixdb/asterix-metadata/src/main/java/org/apache/asterix/metadata/bootstrap/MetadataBootstrap.java @@ -32,9 +32,9 @@ import org.apache.asterix.common.api.ILocalResourceMetadata; import org.apache.asterix.common.cluster.ClusterPartition; import org.apache.asterix.common.config.AsterixMetadataProperties; -import org.apache.asterix.common.config.DatasetConfig.DatasetType; import org.apache.asterix.common.config.GlobalConfig; import org.apache.asterix.common.config.IAsterixPropertiesProvider; +import org.apache.asterix.common.config.DatasetConfig.DatasetType; import org.apache.asterix.common.context.BaseOperationTracker; import org.apache.asterix.common.context.CorrelatedPrefixMergePolicyFactory; import org.apache.asterix.common.ioopcallbacks.LSMBTreeIOOperationCallbackFactory; @@ -59,10 +59,10 @@ import org.apache.asterix.metadata.entities.FeedPolicyEntity; import org.apache.asterix.metadata.entities.Index; import org.apache.asterix.metadata.entities.InternalDatasetDetails; -import org.apache.asterix.metadata.entities.InternalDatasetDetails.FileStructure; -import org.apache.asterix.metadata.entities.InternalDatasetDetails.PartitioningStrategy; import org.apache.asterix.metadata.entities.Node; import org.apache.asterix.metadata.entities.NodeGroup; +import org.apache.asterix.metadata.entities.InternalDatasetDetails.FileStructure; +import org.apache.asterix.metadata.entities.InternalDatasetDetails.PartitioningStrategy; import org.apache.asterix.metadata.feeds.BuiltinFeedPolicies; import org.apache.asterix.metadata.utils.MetadataConstants; import org.apache.asterix.om.types.BuiltinType; @@ -248,16 +248,8 @@ } public static void insertNodes(MetadataTransactionContext mdTxnCtx) throws Exception { - Iterator<String> iter = nodeNames.iterator(); - // Set<Entry<String, String[]>> set = nodeStores.entrySet(); - // Iterator<Entry<String, String[]>> im = set.iterator(); - - while (iter.hasNext()) { - // Map.Entry<String, String[]> me = (Map.Entry<String, - // String[]>)im.next(); - MetadataManager.INSTANCE.addNode(mdTxnCtx, new Node(iter.next(), 0, 0/* - * , me . getValue ( ) - */)); + for (String nodesName : nodeNames) { + MetadataManager.INSTANCE.addNode(mdTxnCtx, new Node(nodesName, 0, 0)); } } diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java index 1272562..58edf60 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-cc/src/main/java/org/apache/hyracks/control/cc/ClusterControllerService.java @@ -191,7 +191,8 @@ return size() > allowedSize; } }; - workQueue = new WorkQueue(Thread.MAX_PRIORITY); // WorkQueue is in charge of heartbeat as well as other events. + // WorkQueue is in charge of heartbeat as well as other events. + workQueue = new WorkQueue("ClusterController", Thread.MAX_PRIORITY); this.timer = new Timer(true); final ClusterTopology topology = computeClusterTopology(ccConfig); ccContext = new ICCContext() { diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/work/WorkQueue.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/work/WorkQueue.java index 1f61543..f9df54b 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/work/WorkQueue.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-common/src/main/java/org/apache/hyracks/control/common/work/WorkQueue.java @@ -39,14 +39,14 @@ private AtomicInteger dequeueCount; private int threadPriority = Thread.MAX_PRIORITY; - public WorkQueue(int threadPriority) { + public WorkQueue(String id, int threadPriority) { if (threadPriority != Thread.MAX_PRIORITY && threadPriority != Thread.NORM_PRIORITY && threadPriority != Thread.MIN_PRIORITY) { throw new IllegalArgumentException("Illegal thread priority number."); } this.threadPriority = threadPriority; queue = new LinkedBlockingQueue<AbstractWork>(); - thread = new WorkerThread(); + thread = new WorkerThread(id); stopSemaphore = new Semaphore(1); stopped = true; if(DEBUG) { @@ -101,7 +101,8 @@ } private class WorkerThread extends Thread { - WorkerThread() { + WorkerThread(String id) { + setName("Worker:" + id); setDaemon(true); setPriority(threadPriority); } diff --git a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java index ac994a6..8373ebe 100644 --- a/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java +++ b/hyracks-fullstack/hyracks/hyracks-control/hyracks-control-nc/src/main/java/org/apache/hyracks/control/nc/NodeControllerService.java @@ -179,7 +179,7 @@ FullFrameChannelInterfaceFactory.INSTANCE); lccm = new LifeCycleComponentManager(); - queue = new WorkQueue(Thread.NORM_PRIORITY); // Reserves MAX_PRIORITY of the heartbeat thread. + queue = new WorkQueue(id, Thread.NORM_PRIORITY); // Reserves MAX_PRIORITY of the heartbeat thread. jobletMap = new Hashtable<JobId, Joblet>(); timer = new Timer(true); serverCtx = new ServerContext(ServerContext.ServerType.NODE_CONTROLLER, -- To view, visit https://asterix-gerrit.ics.uci.edu/1092 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: merged Gerrit-Change-Id: I3fea28c9e0ea7c3baad1c7a053adabc71bea2a8a Gerrit-PatchSet: 12 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Till Westmann <[email protected]> Gerrit-Reviewer: Jenkins <[email protected]> Gerrit-Reviewer: Michael Blow <[email protected]> Gerrit-Reviewer: Till Westmann <[email protected]>
