Repository: ambari Updated Branches: refs/heads/trunk b8c1cb699 -> e663b5cf4
AMBARI-17009 Removed Dead code from hive view jdbc implementation.(Ashwin Rajeev via dipayanb) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/e663b5cf Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/e663b5cf Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/e663b5cf Branch: refs/heads/trunk Commit: e663b5cf40dd88c0ba47df922fd7dc71083c3bfa Parents: b8c1cb6 Author: Dipayan Bhowmick <[email protected]> Authored: Fri Jun 3 08:49:28 2016 +0530 Committer: Dipayan Bhowmick <[email protected]> Committed: Fri Jun 3 08:49:28 2016 +0530 ---------------------------------------------------------------------- .../view/hive2/resources/jobs/Aggregator.java | 38 +---- .../hive2/resources/jobs/FileResourceShort.java | 55 -------- .../jobs/IOperationHandleResourceManager.java | 39 ------ .../view/hive2/resources/jobs/JobService.java | 10 +- .../view/hive2/resources/jobs/LogParser.java | 139 ------------------ .../jobs/OperationHandleResourceManager.java | 110 --------------- .../resources/jobs/StoredOperationHandle.java | 140 ------------------- .../view/hive2/resources/jobs/viewJobs/Job.java | 16 +-- .../resources/jobs/viewJobs/JobController.java | 10 -- .../jobs/viewJobs/JobControllerFactory.java | 1 - .../jobs/viewJobs/JobControllerImpl.java | 90 +----------- 11 files changed, 15 insertions(+), 633 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/Aggregator.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/Aggregator.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/Aggregator.java index 0f6a938..e7553dd 100644 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/Aggregator.java +++ b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/Aggregator.java @@ -21,7 +21,6 @@ package org.apache.ambari.view.hive2.resources.jobs; import org.apache.ambari.view.hive2.persistence.utils.FilteringStrategy; import org.apache.ambari.view.hive2.persistence.utils.Indexed; import org.apache.ambari.view.hive2.persistence.utils.ItemNotFound; -import org.apache.ambari.view.hive2.persistence.utils.OnlyOwnersFilteringStrategy; import org.apache.ambari.view.hive2.resources.IResourceManager; import org.apache.ambari.view.hive2.resources.files.FileService; import org.apache.ambari.view.hive2.resources.jobs.atsJobs.HiveQueryId; @@ -63,21 +62,18 @@ public class Aggregator { LoggerFactory.getLogger(Aggregator.class); private final IATSParser ats; - private final IOperationHandleResourceManager operationHandleResourceManager; private IResourceManager<Job> viewJobResourceManager; public Aggregator(IResourceManager<Job> jobResourceManager, - IOperationHandleResourceManager operationHandleResourceManager, IATSParser ats) { this.viewJobResourceManager = jobResourceManager; - this.operationHandleResourceManager = operationHandleResourceManager; this.ats = ats; } public List<Job> readAll(String username) { - Set<String> addedOperationIds = new HashSet<String>(); + Set<String> addedOperationIds = new HashSet<>(); - List<Job> allJobs = new LinkedList<Job>(); + List<Job> allJobs = new LinkedList<>(); for (HiveQueryId atsHiveQuery : ats.getHiveQueryIdsList(username)) { TezDagId atsTezDag = getTezDagFromHiveQueryId(atsHiveQuery); @@ -101,22 +97,6 @@ public class Aggregator { addedOperationIds.add(atsHiveQuery.operationId); } - //cover case when operationId is present, but not exists in ATS - //e.g. optimized queries without executing jobs, like "SELECT * FROM TABLE" - for (Job job : viewJobResourceManager.readAll(new OnlyOwnersFilteringStrategy(username))) { - List<StoredOperationHandle> operationHandles = operationHandleResourceManager.readJobRelatedHandles(job); - assert operationHandles.size() <= 1; - - if (operationHandles.size() > 0) { - StoredOperationHandle operationHandle = operationHandles.get(0); - - if (!addedOperationIds.contains(hexStringToUrlSafeBase64(operationHandle.getGuid()))) { - //e.g. query without hadoop job: select * from table - allJobs.add(job); - } - } - } - return allJobs; } @@ -219,10 +199,10 @@ public class Aggregator { } protected Job getJobByOperationId(final String opId) throws ItemNotFound { - List<StoredOperationHandle> operationHandles = operationHandleResourceManager.readAll(new FilteringStrategy() { + List<Job> operationHandles = viewJobResourceManager.readAll(new FilteringStrategy() { @Override public boolean isConform(Indexed item) { - StoredOperationHandle opHandle = (StoredOperationHandle) item; + Job opHandle = (Job) item; return opHandle.getGuid().equals(opId); } @@ -235,7 +215,7 @@ public class Aggregator { if (operationHandles.size() != 1) throw new ItemNotFound(); - return viewJobResourceManager.read(operationHandles.get(0).getJobId()); + return viewJobResourceManager.read(operationHandles.get(0).getId()); } protected static String urlSafeBase64ToHexString(String urlsafeBase64) { @@ -248,12 +228,4 @@ public class Aggregator { return sb.toString(); } - protected static String hexStringToUrlSafeBase64(String hexString) { - byte[] decoded = new byte[hexString.length() / 2]; - - for (int i = 0; i < hexString.length(); i += 2) { - decoded[i / 2] = (byte) Integer.parseInt(String.format("%c%c", hexString.charAt(i), hexString.charAt(i + 1)), 16); - } - return Base64.encodeBase64URLSafeString(decoded); - } } http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/FileResourceShort.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/FileResourceShort.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/FileResourceShort.java deleted file mode 100644 index 7a47a40..0000000 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/FileResourceShort.java +++ /dev/null @@ -1,55 +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.ambari.view.hive2.resources.jobs; - -import org.apache.commons.beanutils.BeanUtils; - -import java.lang.reflect.InvocationTargetException; -import java.util.Map; - -public class FileResourceShort { - public FileResourceShort() {} - public FileResourceShort(Map<String, Object> stringObjectMap) throws InvocationTargetException, IllegalAccessException { - BeanUtils.populate(this, stringObjectMap); - } - - private Integer id; - private String path; - - public FileResourceShort(Integer id, String path) { - this.id = id; - this.path = path; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getPath() { - return path; - } - - public void setPath(String path) { - this.path = path; - } -} http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/IOperationHandleResourceManager.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/IOperationHandleResourceManager.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/IOperationHandleResourceManager.java deleted file mode 100644 index 8b8f6a2..0000000 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/IOperationHandleResourceManager.java +++ /dev/null @@ -1,39 +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.ambari.view.hive2.resources.jobs; - -import org.apache.ambari.view.hive2.persistence.utils.ItemNotFound; -import org.apache.ambari.view.hive2.resources.IResourceManager; -import org.apache.ambari.view.hive2.resources.jobs.viewJobs.Job; - -import java.util.List; - -public interface IOperationHandleResourceManager extends IResourceManager<StoredOperationHandle> { - List<StoredOperationHandle> readJobRelatedHandles(Job job); - - List<Job> getHandleRelatedJobs(StoredOperationHandle operationHandle); - - Job getJobByHandle(StoredOperationHandle handle) throws ItemNotFound; - - //void putHandleForJob(TOperationHandle h, ExecuteJob job); - - boolean containsHandleForJob(Job job); - - StoredOperationHandle getHandleForJob(Job job) throws ItemNotFound; -} http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobService.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobService.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobService.java index d94057a..4fa7f2a 100644 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobService.java +++ b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/JobService.java @@ -93,8 +93,6 @@ public class JobService extends BaseService { ViewResourceHandler handler; private JobResourceManager resourceManager; - private IOperationHandleResourceManager opHandleResourceManager; - //private UserLocalConnection connectionLocal = new UserLocalConnection(); protected final static Logger LOG = LoggerFactory.getLogger(JobService.class); @@ -108,17 +106,11 @@ public class JobService extends BaseService { return resourceManager; } - protected IOperationHandleResourceManager getOperationHandleResourceManager() { - if (opHandleResourceManager == null) { - opHandleResourceManager = new OperationHandleResourceManager(getSharedObjectsFactory()); - } - return opHandleResourceManager; - } protected Aggregator getAggregator() { if (aggregator == null) { IATSParser atsParser = getSharedObjectsFactory().getATSParser(); - aggregator = new Aggregator(getResourceManager(), getOperationHandleResourceManager(), atsParser); + aggregator = new Aggregator(getResourceManager(), atsParser); } return aggregator; } http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/LogParser.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/LogParser.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/LogParser.java deleted file mode 100644 index 70a736f..0000000 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/LogParser.java +++ /dev/null @@ -1,139 +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.ambari.view.hive2.resources.jobs; - -import java.util.LinkedHashSet; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -public class LogParser { - public static final Pattern HADOOP_MR_APPS_RE = Pattern.compile("(http[^\\s]*/proxy/([a-z0-9_]+?)/)"); - public static final Pattern HADOOP_TEZ_APPS_RE = Pattern.compile("\\(Executing on YARN cluster with App id ([a-z0-9_]+?)\\)"); - private LinkedHashSet<AppId> appsList; - - private LogParser() {} - - public static LogParser parseLog(String logs) { - LogParser parser = new LogParser(); - - parser.setAppsList(parseApps(logs, parser)); - return parser; - } - - public static LinkedHashSet<AppId> parseApps(String logs, LogParser parser) { - LinkedHashSet<AppId> mrAppIds = getMRAppIds(logs); - LinkedHashSet<AppId> tezAppIds = getTezAppIds(logs); - - LinkedHashSet<AppId> appIds = new LinkedHashSet<AppId>(); - appIds.addAll(mrAppIds); - appIds.addAll(tezAppIds); - - return appIds; - } - - private static LinkedHashSet<AppId> getMRAppIds(String logs) { - Matcher m = HADOOP_MR_APPS_RE.matcher(logs); - LinkedHashSet<AppId> list = new LinkedHashSet<AppId>(); - while (m.find()) { - AppId applicationInfo = new AppId(); - applicationInfo.setTrackingUrl(m.group(1)); - applicationInfo.setIdentifier(m.group(2)); - list.add(applicationInfo); - } - return list; - } - - private static LinkedHashSet<AppId> getTezAppIds(String logs) { - Matcher m = HADOOP_TEZ_APPS_RE.matcher(logs); - LinkedHashSet<AppId> list = new LinkedHashSet<AppId>(); - while (m.find()) { - AppId applicationInfo = new AppId(); - applicationInfo.setTrackingUrl(""); - applicationInfo.setIdentifier(m.group(1)); - list.add(applicationInfo); - } - return list; - } - - public void setAppsList(LinkedHashSet<AppId> appsList) { - this.appsList = appsList; - } - - public LinkedHashSet<AppId> getAppsList() { - return appsList; - } - - public AppId getLastAppInList() { - Object[] appIds = appsList.toArray(); - if (appIds.length == 0) { - return null; - } - return (AppId) appIds[appsList.size()-1]; - } - - public static class AppId { - private String trackingUrl; - private String identifier; - - public String getTrackingUrl() { - return trackingUrl; - } - - public void setTrackingUrl(String trackingUrl) { - this.trackingUrl = trackingUrl; - } - - public String getIdentifier() { - return identifier; - } - - public void setIdentifier(String identifier) { - this.identifier = identifier; - } - - @Override - public boolean equals(Object o) { - if (this == o) return true; - if (!(o instanceof AppId)) return false; - - AppId appId = (AppId) o; - - if (!identifier.equals(appId.identifier)) return false; - - return true; - } - - @Override - public int hashCode() { - return identifier.hashCode(); - } - } - - public static class EmptyAppId extends AppId { - @Override - public String getTrackingUrl() { - return ""; - } - - @Override - public String getIdentifier() { - return ""; - } - } -} http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/OperationHandleResourceManager.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/OperationHandleResourceManager.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/OperationHandleResourceManager.java deleted file mode 100644 index 93c4f0a..0000000 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/OperationHandleResourceManager.java +++ /dev/null @@ -1,110 +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.ambari.view.hive2.resources.jobs; - -import org.apache.ambari.view.hive2.persistence.IStorageFactory; -import org.apache.ambari.view.hive2.persistence.utils.FilteringStrategy; -import org.apache.ambari.view.hive2.persistence.utils.Indexed; -import org.apache.ambari.view.hive2.persistence.utils.ItemNotFound; -import org.apache.ambari.view.hive2.resources.SharedCRUDResourceManager; -import org.apache.ambari.view.hive2.resources.jobs.viewJobs.Job; - -import java.util.List; - -public class OperationHandleResourceManager extends SharedCRUDResourceManager<StoredOperationHandle> - implements IOperationHandleResourceManager { - /** - * Constructor - */ - public OperationHandleResourceManager(IStorageFactory storageFabric) { - super(StoredOperationHandle.class, storageFabric); - } - - @Override - public List<StoredOperationHandle> readJobRelatedHandles(final Job job) { - return storageFactory.getStorage().loadAll(StoredOperationHandle.class, new FilteringStrategy() { - @Override - public boolean isConform(Indexed item) { - StoredOperationHandle handle = (StoredOperationHandle) item; - return (handle.getJobId() != null && handle.getJobId().equals(job.getId())); - } - - @Override - public String whereStatement() { - return "jobId = '" + job.getId() + "'"; - } - }); - } - - @Override - public StoredOperationHandle getHandleForJob(Job job) throws ItemNotFound { - List<StoredOperationHandle> jobRelatedHandles = readJobRelatedHandles(job); - if (jobRelatedHandles.size() == 0) - throw new ItemNotFound(); - return jobRelatedHandles.get(0); - } - - @Override - public List<Job> getHandleRelatedJobs(final StoredOperationHandle operationHandle) { - return storageFactory.getStorage().loadAll(Job.class, new FilteringStrategy() { - @Override - public boolean isConform(Indexed item) { - Job job = (Job) item; - return (job.getId() != null && job.getId().equals(operationHandle.getJobId())); - } - - @Override - public String whereStatement() { - return "id = '" + operationHandle.getJobId() + "'"; - } - }); - } - - @Override - public Job getJobByHandle(StoredOperationHandle handle) throws ItemNotFound { - List<Job> handleRelatedJobs = getHandleRelatedJobs(handle); - if (handleRelatedJobs.size() == 0) - throw new ItemNotFound(); - return handleRelatedJobs.get(0); - } - - /*@Override - public void putHandleForJob(TOperationHandle h, ExecuteJob job) { - StoredOperationHandle handle = StoredOperationHandle.buildFromTOperationHandle(h); - handle.setJobId(job.getId()); - - List<StoredOperationHandle> jobRelatedHandles = readJobRelatedHandles(job); - if (jobRelatedHandles.size() > 0) { - handle.setId(jobRelatedHandles.get(0).getId()); // update existing - try { - update(handle, jobRelatedHandles.get(0).getId()); - } catch (ItemNotFound itemNotFound) { - throw new ServiceFormattedException("E050 Error when updating operation handle: " + itemNotFound.toString(), itemNotFound); - } - } else { - create(handle); - } - }*/ - - @Override - public boolean containsHandleForJob(Job job) { - List<StoredOperationHandle> jobRelatedHandles = readJobRelatedHandles(job); - return jobRelatedHandles.size() > 0; - } -} http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/StoredOperationHandle.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/StoredOperationHandle.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/StoredOperationHandle.java deleted file mode 100644 index 68f2487..0000000 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/StoredOperationHandle.java +++ /dev/null @@ -1,140 +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.ambari.view.hive2.resources.jobs; - -import org.apache.ambari.view.hive2.persistence.utils.Indexed; -import org.apache.commons.beanutils.PropertyUtils; - -import java.lang.reflect.InvocationTargetException; -import java.util.Map; - -/** - * Bean to represent TOperationHandle stored in DB - */ -public class StoredOperationHandle implements Indexed { - private boolean hasResultSet; - private double modifiedRowCount; - private int operationType; - private String guid; - private String secret; - - private String jobId; - - private String id; - - public StoredOperationHandle() {} - public StoredOperationHandle(Map<String, Object> stringObjectMap) throws InvocationTargetException, IllegalAccessException { - for (Map.Entry<String, Object> entry : stringObjectMap.entrySet()) { - try { - PropertyUtils.setProperty(this, entry.getKey(), entry.getValue()); - } catch (NoSuchMethodException e) { - //do nothing, skip - } - } - } - - - /*public static StoredOperationHandle buildFromTOperationHandle(TOperationHandle handle) { - StoredOperationHandle storedHandle = new StoredOperationHandle(); - //bool hasResultSet - storedHandle.setHasResultSet(handle.isHasResultSet()); - //optional double modifiedRowCount - storedHandle.setModifiedRowCount(handle.getModifiedRowCount()); - //TOperationType operationType - storedHandle.setOperationType(handle.getOperationType().getValue()); - //THandleIdentifier operationId - storedHandle.setGuid(Hex.encodeHexString(handle.getOperationId().getGuid())); - storedHandle.setSecret(Hex.encodeHexString(handle.getOperationId().getSecret())); - return storedHandle; - }*/ - - /*public TOperationHandle toTOperationHandle() { - TOperationHandle handle = new TOperationHandle(); - handle.setHasResultSet(isHasResultSet()); - handle.setModifiedRowCount(getModifiedRowCount()); - handle.setOperationType(TOperationType.findByValue(getOperationType())); - THandleIdentifier identifier = new THandleIdentifier(); - try { - identifier.setGuid(Hex.decodeHex(getGuid().toCharArray())); - identifier.setSecret(Hex.decodeHex(getSecret().toCharArray())); - } catch (DecoderException e) { - throw new ServiceFormattedException("E060 Wrong identifier of OperationHandle is stored in DB"); - } - handle.setOperationId(identifier); - return handle; - }*/ - - public boolean isHasResultSet() { - return hasResultSet; - } - - public void setHasResultSet(boolean hasResultSet) { - this.hasResultSet = hasResultSet; - } - - public double getModifiedRowCount() { - return modifiedRowCount; - } - - public void setModifiedRowCount(double modifiedRowCount) { - this.modifiedRowCount = modifiedRowCount; - } - - public int getOperationType() { - return operationType; - } - - public void setOperationType(int operationType) { - this.operationType = operationType; - } - - public String getGuid() { - return guid; - } - - public void setGuid(String guid) { - this.guid = guid; - } - - public String getSecret() { - return secret; - } - - public void setSecret(String secret) { - this.secret = secret; - } - - public String getJobId() { - return jobId; - } - - public void setJobId(String jobId) { - this.jobId = jobId; - } - - @Override - public String getId() { - return id; - } - - @Override - public void setId(String id) { - this.id = id; - } -} http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/Job.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/Job.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/Job.java index 2caba5e..816e77a 100644 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/Job.java +++ b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/Job.java @@ -28,14 +28,14 @@ import java.io.Serializable; * Interface for ExecuteJob bean to create Proxy for it */ public interface Job extends Serializable,Indexed,PersonalResource { - public static final String JOB_STATE_UNKNOWN = "UNKNOWN"; - public static final String JOB_STATE_INITIALIZED = "INITIALIZED"; - public static final String JOB_STATE_RUNNING = "RUNNING"; - public static final String JOB_STATE_FINISHED = "SUCCEEDED"; - public static final String JOB_STATE_CANCELED = "CANCELED"; - public static final String JOB_STATE_CLOSED = "CLOSED"; - public static final String JOB_STATE_ERROR = "ERROR"; - public static final String JOB_STATE_PENDING = "PENDING"; + String JOB_STATE_UNKNOWN = "UNKNOWN"; + String JOB_STATE_INITIALIZED = "INITIALIZED"; + String JOB_STATE_RUNNING = "RUNNING"; + String JOB_STATE_FINISHED = "SUCCEEDED"; + String JOB_STATE_CANCELED = "CANCELED"; + String JOB_STATE_CLOSED = "CLOSED"; + String JOB_STATE_ERROR = "ERROR"; + String JOB_STATE_PENDING = "PENDING"; String getId(); http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobController.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobController.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobController.java index 8cc120b..46a87d9 100644 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobController.java +++ b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobController.java @@ -22,10 +22,6 @@ import org.apache.ambari.view.hive2.persistence.utils.ItemNotFound; public interface JobController { - //OperationHandleController.OperationStatus getStatus() throws ItemNotFound, HiveClientException, NoOperationStatusSetException; - - //TODO: New implementation - void submit() throws Throwable; void cancel() throws ItemNotFound; @@ -38,12 +34,6 @@ public interface JobController { */ Job getJobPOJO(); - //Cursor getResults() throws ItemNotFound; - - //TODO: New implementation - - boolean hasResults() throws ItemNotFound; - void afterCreation(); void update(); http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerFactory.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerFactory.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerFactory.java index 45c7379..8428a87 100644 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerFactory.java +++ b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerFactory.java @@ -33,7 +33,6 @@ public class JobControllerFactory implements IJobControllerFactory { @Override public JobController createControllerForJob(Job job) { return new JobControllerImpl(context, job, - //sharedObjectsFactory.getOperationHandleControllerFactory(), sharedObjectsFactory.getSavedQueryResourceManager(), sharedObjectsFactory.getATSParser(), sharedObjectsFactory.getHdfsApi()); http://git-wip-us.apache.org/repos/asf/ambari/blob/e663b5cf/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerImpl.java ---------------------------------------------------------------------- diff --git a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerImpl.java b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerImpl.java index 31b531b..a3edc8f 100644 --- a/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerImpl.java +++ b/contrib/views/hive-next/src/main/java/org/apache/ambari/view/hive2/resources/jobs/viewJobs/JobControllerImpl.java @@ -22,7 +22,6 @@ import org.apache.ambari.view.ViewContext; import org.apache.ambari.view.hive2.client.AsyncJobRunner; import org.apache.ambari.view.hive2.client.AsyncJobRunnerImpl; import org.apache.ambari.view.hive2.client.ConnectionConfig; -import org.apache.ambari.view.hive2.client.HiveClientRuntimeException; import org.apache.ambari.view.hive2.persistence.utils.ItemNotFound; import org.apache.ambari.view.hive2.resources.jobs.ModifyNotificationDelegate; import org.apache.ambari.view.hive2.resources.jobs.ModifyNotificationInvocationHandler; @@ -36,9 +35,6 @@ import org.apache.ambari.view.hive2.utils.ServiceFormattedException; import org.apache.ambari.view.hive2.ConnectionFactory; import org.apache.ambari.view.hive2.ConnectionSystem; import org.apache.ambari.view.hive2.actor.message.AsyncJob; -import org.apache.ambari.view.hive2.actor.message.job.AsyncExecutionFailed; -import org.apache.ambari.view.hive2.internal.AsyncExecutionSuccess; -import org.apache.ambari.view.hive2.internal.Either; import org.apache.ambari.view.utils.hdfs.HdfsApi; import org.apache.ambari.view.utils.hdfs.HdfsApiException; import org.apache.ambari.view.utils.hdfs.HdfsUtil; @@ -49,9 +45,7 @@ import org.slf4j.LoggerFactory; import java.io.IOException; import java.lang.reflect.Proxy; import java.text.SimpleDateFormat; -import java.util.Arrays; import java.util.Date; -import java.util.List; public class JobControllerImpl implements JobController, ModifyNotificationDelegate { private final static Logger LOG = @@ -63,7 +57,6 @@ public class JobControllerImpl implements JobController, ModifyNotificationDeleg private Job job; private boolean modified; - //private OperationHandleControllerFactory opHandleControllerFactory; private SavedQueryResourceManager savedQueryResourceManager; private IATSParser atsParser; @@ -72,19 +65,15 @@ public class JobControllerImpl implements JobController, ModifyNotificationDeleg * Warning: Create JobControllers ONLY using JobControllerFactory! */ public JobControllerImpl(ViewContext context, Job job, - //OperationHandleControllerFactory opHandleControllerFactory, SavedQueryResourceManager savedQueryResourceManager, IATSParser atsParser, HdfsApi hdfsApi) { this.context = context; setJobPOJO(job); - //this.opHandleControllerFactory = opHandleControllerFactory; this.savedQueryResourceManager = savedQueryResourceManager; this.atsParser = atsParser; this.hdfsApi = hdfsApi; - //UserLocalConnection connectionLocal = new UserLocalConnection(); - //this.hiveConnection = new ConnectionController(opHandleControllerFactory, connectionLocal.get(context)); } public String getQueryForJob() { @@ -110,11 +99,6 @@ public class JobControllerImpl implements JobController, ModifyNotificationDeleg } } - /*@Override - public OperationHandleController.OperationStatus getStatus() throws ItemNotFound, HiveClientException, NoOperationStatusSetException { - OperationHandleController handle = opHandleControllerFactory.getHandleForJob(job); - return handle.getOperationStatus(); - }*/ @Override public void submit() throws Throwable { @@ -122,8 +106,6 @@ public class JobControllerImpl implements JobController, ModifyNotificationDeleg String query = getQueryForJob(); ConnectionSystem system = ConnectionSystem.getInstance(); AsyncJobRunner asyncJobRunner = new AsyncJobRunnerImpl(context, system.getOperationController(context), system.getActorSystem()); - // create async Job - // AsyncJob asyncJob = new AsyncJob(job.getId(), context.getUsername(), getStatements(jobDatabase, query), job.getLogFile(), context); asyncJobRunner.submitJob(getHiveConnectionConfig(), asyncJob, job); @@ -140,72 +122,14 @@ public class JobControllerImpl implements JobController, ModifyNotificationDeleg @Override public void cancel() throws ItemNotFound { - //OperationHandleController handle = opHandleControllerFactory.getHandleForJob(job); - //handle.cancel(); + //TODO: Cancel job } @Override public void update() { - updateOperationStatus(); - updateOperationLogs(); - updateJobDuration(); } - public void updateOperationStatus() { - try { - - //OperationHandleController handle = opHandleControllerFactory.getHandleForJob(job); - //OperationHandleController.OperationStatus status = handle.getOperationStatus(); - /*job.setStatus(status.status); - job.setStatusMessage(status.message); - job.setSqlState(status.sqlState);*/ - LOG.debug("Status of job#" + job.getId() + " is " + job.getStatus()); - - } catch (Exception /*NoOperationStatusSetException*/ e) { - LOG.info("Operation state is not set for job#" + job.getId()); - - } /*catch (HiveErrorStatusException e) { - LOG.debug("Error updating status for job#" + job.getId() + ": " + e.getMessage()); - job.setStatus(ExecuteJob.JOB_STATE_UNKNOWN); - - } catch (HiveClientException e) { - throw new HiveClientFormattedException(e); - - } catch (ItemNotFound itemNotFound) { - LOG.debug("No TOperationHandle for job#" + job.getId() + ", can't update status"); - }*/ - } - - public void updateOperationLogs() { - try { - //OperationHandleController handle = opHandleControllerFactory.getHandleForJob(job); - //String logs = handle.getLogs(); - - //LogParser info = LogParser.parseLog(logs); - //LogParser.AppId app = info.getLastAppInList(); - /*if (app != null) { - job.setApplicationId(app.getIdentifier()); - }*/ - - String logFilePath = job.getLogFile(); - //HdfsUtil.putStringToFile(hdfsApi, logFilePath, logs); - - } catch (HiveClientRuntimeException ex) { - LOG.error("Error while fetching logs: " + ex.getMessage()); - } /*catch (ItemNotFound itemNotFound) { - LOG.debug("No TOperationHandle for job#" + job.getId() + ", can't read logs"); - } catch (HdfsApiException e) { - throw new ServiceFormattedException(e); - }*/ - } - - public boolean isJobEnded() { - String status = job.getStatus(); - return status.equals(Job.JOB_STATE_FINISHED) || status.equals(Job.JOB_STATE_CANCELED) || - status.equals(Job.JOB_STATE_CLOSED) || status.equals(Job.JOB_STATE_ERROR) || - status.equals(Job.JOB_STATE_UNKNOWN); // Unknown is not finished, but polling makes no sense - } @Override public Job getJob() { @@ -230,18 +154,6 @@ public class JobControllerImpl implements JobController, ModifyNotificationDeleg this.jobUnproxied = jobPOJO; } - /*@Override - public Cursor getResults() throws ItemNotFound { - OperationHandleController handle = opHandleControllerFactory.getHandleForJob(job); - return handle.getResults(); - }*/ - - @Override - public boolean hasResults() throws ItemNotFound { - //OperationHandleController handle = opHandleControllerFactory.getHandleForJob(job); - //return handle.hasResults(); - return false; - } @Override public void afterCreation() {
