You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by ji...@apache.org on 2015/01/10 12:26:43 UTC
[3/5] tajo git commit: TAJO-1296: Remove obsolete classes from
tajo.master.container package.
TAJO-1296: Remove obsolete classes from tajo.master.container package.
Closes #346
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/5d5b1520
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/5d5b1520
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/5d5b1520
Branch: refs/heads/index_support
Commit: 5d5b152008d25d2605008cd896871b69fd472833
Parents: 3308aab
Author: Hyunsik Choi <hy...@apache.org>
Authored: Sat Jan 10 16:35:26 2015 +0900
Committer: Hyunsik Choi <hy...@apache.org>
Committed: Sat Jan 10 16:35:26 2015 +0900
----------------------------------------------------------------------
CHANGES | 3 +
.../tajo/master/container/TajoContainerId.java | 3 +-
.../master/container/TajoContainerIdPBImpl.java | 100 +++++++++++
.../master/container/TajoConverterUtils.java | 176 -------------------
.../master/container/TajoRecordFactory.java | 31 ----
.../container/TajoRecordFactoryPBImpl.java | 104 -----------
.../container/TajoRecordFactoryProvider.java | 70 --------
.../tajo/master/container/TajoRecords.java | 39 ----
.../impl/pb/TajoContainerIdPBImpl.java | 100 -----------
.../java/org/apache/tajo/worker/TaskRunner.java | 2 +-
10 files changed, 105 insertions(+), 523 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index 8f32d54..646bd11 100644
--- a/CHANGES
+++ b/CHANGES
@@ -282,6 +282,9 @@ Release 0.9.1 - unreleased
TASKS
+ TAJO-1296: Remove obsolete classes from tajo.master.container package.
+ (hyunsik)
+
TAJO-1294: Add index documents. (jihoon)
TAJO-1280: Update the roles of Hyoungjun and Jihun in web site.
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerId.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerId.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerId.java
index 0de5fe0..7bc27c6 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerId.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerId.java
@@ -26,7 +26,6 @@ import org.apache.hadoop.classification.InterfaceStability.Stable;
import org.apache.hadoop.classification.InterfaceStability.Unstable;
import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
import org.apache.hadoop.yarn.api.records.ApplicationId;
-import org.apache.hadoop.yarn.util.Records;
/**
* This class is borrowed from the following source code :
@@ -43,7 +42,7 @@ public abstract class TajoContainerId implements Comparable<TajoContainerId>{
@Unstable
public static TajoContainerId newInstance(ApplicationAttemptId appAttemptId,
int containerId) {
- TajoContainerId id = TajoRecords.newRecord(TajoContainerId.class);
+ TajoContainerId id = new TajoContainerIdPBImpl();
id.setId(containerId);
id.setApplicationAttemptId(appAttemptId);
id.build();
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerIdPBImpl.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerIdPBImpl.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerIdPBImpl.java
new file mode 100644
index 0000000..cf9e012
--- /dev/null
+++ b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoContainerIdPBImpl.java
@@ -0,0 +1,100 @@
+/**
+ * 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.tajo.master.container;
+
+
+import org.apache.hadoop.classification.InterfaceAudience.Private;
+import org.apache.hadoop.classification.InterfaceStability.Unstable;
+import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
+import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationAttemptIdPBImpl;
+import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationAttemptIdProto;
+
+import com.google.common.base.Preconditions;
+import org.apache.tajo.ipc.ContainerProtocol;
+import org.apache.tajo.master.container.TajoContainerId;
+
+/**
+ * This class is borrowed from the following source code :
+ * ${hadoop-yarn-common}/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerIdPBImpl.java
+ *
+ */
+@Private
+@Unstable
+public class TajoContainerIdPBImpl extends TajoContainerId {
+ ContainerProtocol.TajoContainerIdProto proto = null;
+ ContainerProtocol.TajoContainerIdProto.Builder builder = null;
+ private ApplicationAttemptId applicationAttemptId = null;
+
+ public TajoContainerIdPBImpl() {
+ builder = ContainerProtocol.TajoContainerIdProto.newBuilder();
+ }
+
+ public TajoContainerIdPBImpl(ContainerProtocol.TajoContainerIdProto proto) {
+ this.proto = proto;
+ this.applicationAttemptId = convertFromProtoFormat(proto.getAppAttemptId());
+ }
+
+ public ContainerProtocol.TajoContainerIdProto getProto() {
+ return proto;
+ }
+
+ @Override
+ public int getId() {
+ Preconditions.checkNotNull(proto);
+ return proto.getId();
+ }
+
+ @Override
+ protected void setId(int id) {
+ Preconditions.checkNotNull(builder);
+ builder.setId((id));
+ }
+
+
+ @Override
+ public ApplicationAttemptId getApplicationAttemptId() {
+ return this.applicationAttemptId;
+ }
+
+ @Override
+ protected void setApplicationAttemptId(ApplicationAttemptId atId) {
+ if (atId != null) {
+ Preconditions.checkNotNull(builder);
+ builder.setAppAttemptId(convertToProtoFormat(atId));
+ }
+ this.applicationAttemptId = atId;
+ }
+
+ private ApplicationAttemptIdPBImpl convertFromProtoFormat(
+ ApplicationAttemptIdProto p) {
+ return new ApplicationAttemptIdPBImpl(p);
+ }
+
+ private ApplicationAttemptIdProto convertToProtoFormat(
+ ApplicationAttemptId t) {
+ return ((ApplicationAttemptIdPBImpl)t).getProto();
+ }
+
+ @Override
+ protected void build() {
+ proto = builder.build();
+ builder = null;
+ }
+}
+
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoConverterUtils.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoConverterUtils.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoConverterUtils.java
index a6db654..88c4823 100644
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoConverterUtils.java
+++ b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoConverterUtils.java
@@ -53,86 +53,7 @@ import org.apache.hadoop.yarn.factory.providers.RecordFactoryProvider;
@Private
public class TajoConverterUtils {
- public static final String APPLICATION_PREFIX = "application";
public static final String CONTAINER_PREFIX = "container";
- public static final String APPLICATION_ATTEMPT_PREFIX = "appattempt";
-
- /**
- * return a hadoop path from a given url
- *
- * @param url
- * url to convert
- * @return path from {@link URL}
- * @throws URISyntaxException
- */
- public static Path getPathFromYarnURL(URL url) throws URISyntaxException {
- String scheme = url.getScheme() == null ? "" : url.getScheme();
-
- String authority = "";
- if (url.getHost() != null) {
- authority = url.getHost();
- if (url.getUserInfo() != null) {
- authority = url.getUserInfo() + "@" + authority;
- }
- if (url.getPort() > 0) {
- authority += ":" + url.getPort();
- }
- }
-
- return new Path(
- (new URI(scheme, authority, url.getFile(), null, null)).normalize());
- }
-
- /**
- * change from CharSequence to string for map key and value
- * @param env map for converting
- * @return string,string map
- */
- public static Map<String, String> convertToString(
- Map<CharSequence, CharSequence> env) {
-
- Map<String, String> stringMap = new HashMap<String, String>();
- for (Entry<CharSequence, CharSequence> entry: env.entrySet()) {
- stringMap.put(entry.getKey().toString(), entry.getValue().toString());
- }
- return stringMap;
- }
-
- public static URL getYarnUrlFromPath(Path path) {
- return getYarnUrlFromURI(path.toUri());
- }
-
- public static URL getYarnUrlFromURI(URI uri) {
- URL url = RecordFactoryProvider.getRecordFactory(null).newRecordInstance(URL.class);
- if (uri.getHost() != null) {
- url.setHost(uri.getHost());
- }
- if (uri.getUserInfo() != null) {
- url.setUserInfo(uri.getUserInfo());
- }
- url.setPort(uri.getPort());
- url.setScheme(uri.getScheme());
- url.setFile(uri.getPath());
- return url;
- }
-
- public static String toString(ApplicationId appId) {
- return appId.toString();
- }
-
- public static ApplicationId toApplicationId(RecordFactory recordFactory,
- String appIdStr) {
- Iterator<String> it = _split(appIdStr).iterator();
- it.next(); // prefix. TODO: Validate application prefix
- return toApplicationId(recordFactory, it);
- }
-
- private static ApplicationId toApplicationId(RecordFactory recordFactory,
- Iterator<String> it) {
- ApplicationId appId = ApplicationId.newInstance(Long.parseLong(it.next()),
- Integer.parseInt(it.next()));
- return appId;
- }
private static ApplicationAttemptId toApplicationAttemptId(
Iterator<String> it) throws NumberFormatException {
@@ -143,32 +64,10 @@ public class TajoConverterUtils {
return appAttemptId;
}
- private static ApplicationId toApplicationId(
- Iterator<String> it) throws NumberFormatException {
- ApplicationId appId = ApplicationId.newInstance(Long.parseLong(it.next()),
- Integer.parseInt(it.next()));
- return appId;
- }
-
public static String toString(TajoContainerId cId) {
return cId == null ? null : cId.toString();
}
- public static NodeId toNodeId(String nodeIdStr) {
- String[] parts = nodeIdStr.split(":");
- if (parts.length != 2) {
- throw new IllegalArgumentException("Invalid NodeId [" + nodeIdStr
- + "]. Expected host:port");
- }
- try {
- NodeId nodeId =
- NodeId.newInstance(parts[0], Integer.parseInt(parts[1]));
- return nodeId;
- } catch (NumberFormatException e) {
- throw new IllegalArgumentException("Invalid port: " + parts[1], e);
- }
- }
-
public static TajoContainerId toTajoContainerId(String containerIdStr) {
Iterator<String> it = _split(containerIdStr).iterator();
if (!it.next().equals(CONTAINER_PREFIX)) {
@@ -185,79 +84,4 @@ public class TajoConverterUtils {
+ containerIdStr, n);
}
}
-
- public static ApplicationAttemptId toApplicationAttemptId(
- String applicationAttmeptIdStr) {
- Iterator<String> it = _split(applicationAttmeptIdStr).iterator();
- if (!it.next().equals(APPLICATION_ATTEMPT_PREFIX)) {
- throw new IllegalArgumentException("Invalid AppAttemptId prefix: "
- + applicationAttmeptIdStr);
- }
- try {
- return toApplicationAttemptId(it);
- } catch (NumberFormatException n) {
- throw new IllegalArgumentException("Invalid AppAttemptId: "
- + applicationAttmeptIdStr, n);
- }
- }
-
- public static ApplicationId toApplicationId(
- String appIdStr) {
- Iterator<String> it = _split(appIdStr).iterator();
- if (!it.next().equals(APPLICATION_PREFIX)) {
- throw new IllegalArgumentException("Invalid ApplicationId prefix: "
- + appIdStr + ". The valid ApplicationId should start with prefix "
- + APPLICATION_PREFIX);
- }
- try {
- return toApplicationId(it);
- } catch (NumberFormatException n) {
- throw new IllegalArgumentException("Invalid AppAttemptId: "
- + appIdStr, n);
- }
- }
-
- /**
- * Convert a protobuf token into a rpc token and set its service. Supposed
- * to be used for tokens other than RMDelegationToken. For
- * RMDelegationToken, use
- * {@link #convertFromYarn(org.apache.hadoop.yarn.api.records.Token,
- * org.apache.hadoop.io.Text)} instead.
- *
- * @param protoToken the yarn token
- * @param serviceAddr the connect address for the service
- * @return rpc token
- */
- public static <T extends TokenIdentifier> Token<T> convertFromYarn(
- org.apache.hadoop.yarn.api.records.Token protoToken,
- InetSocketAddress serviceAddr) {
- Token<T> token = new Token<T>(protoToken.getIdentifier().array(),
- protoToken.getPassword().array(),
- new Text(protoToken.getKind()),
- new Text(protoToken.getService()));
- if (serviceAddr != null) {
- SecurityUtil.setTokenService(token, serviceAddr);
- }
- return token;
- }
-
- /**
- * Convert a protobuf token into a rpc token and set its service.
- *
- * @param protoToken the yarn token
- * @param service the service for the token
- */
- public static <T extends TokenIdentifier> Token<T> convertFromYarn(
- org.apache.hadoop.yarn.api.records.Token protoToken,
- Text service) {
- Token<T> token = new Token<T>(protoToken.getIdentifier().array(),
- protoToken.getPassword().array(),
- new Text(protoToken.getKind()),
- new Text(protoToken.getService()));
-
- if (service != null) {
- token.setService(service);
- }
- return token;
- }
}
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactory.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactory.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactory.java
deleted file mode 100644
index 2fd8697..0000000
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactory.java
+++ /dev/null
@@ -1,31 +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.tajo.master.container;
-
-import org.apache.hadoop.classification.InterfaceStability.Unstable;
-
-/**
- * This class is borrowed from the following source code :
- * ${hadoop-yarn-api}/src/main/java/org/apache/hadoop/yarn/factories/RecordFactory.java
- *
- */
-@Unstable
-public interface TajoRecordFactory {
- public <T> T newRecordInstance(Class<T> clazz);
-}
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryPBImpl.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryPBImpl.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryPBImpl.java
deleted file mode 100644
index c352a28..0000000
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryPBImpl.java
+++ /dev/null
@@ -1,104 +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.tajo.master.container;
-
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-
-import org.apache.hadoop.classification.InterfaceAudience.Private;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
-import org.apache.hadoop.yarn.factories.RecordFactory;
-import org.apache.tajo.master.container.TajoRecordFactory;
-
-/**
- * This class is borrowed from the following source code :
- * ${hadoop-yarn-common}/src/main/java/org/apache/hadoop/yarn/factories/impl/pb/RecordFactoryPBImpl.java
- */
-@Private
-public class TajoRecordFactoryPBImpl implements TajoRecordFactory {
-
- private static final String PB_IMPL_PACKAGE_SUFFIX = "impl.pb";
- private static final String PB_IMPL_CLASS_SUFFIX = "PBImpl";
-
- private static final TajoRecordFactoryPBImpl self = new TajoRecordFactoryPBImpl();
- private Configuration localConf = new Configuration();
- private ConcurrentMap<Class<?>, Constructor<?>> cache = new ConcurrentHashMap<Class<?>, Constructor<?>>();
-
- private TajoRecordFactoryPBImpl() {
- }
-
- public static TajoRecordFactory get() {
- return self;
- }
-
- @SuppressWarnings("unchecked")
- @Override
- public <T> T newRecordInstance(Class<T> clazz) {
-
- Constructor<?> constructor = cache.get(clazz);
- if (constructor == null) {
- Class<?> pbClazz = null;
- try {
- pbClazz = localConf.getClassByName(getPBImplClassName(clazz));
- } catch (ClassNotFoundException e) {
- throw new YarnRuntimeException("Failed to load class: ["
- + getPBImplClassName(clazz) + "]", e);
- }
- try {
- constructor = pbClazz.getConstructor();
- constructor.setAccessible(true);
- cache.putIfAbsent(clazz, constructor);
- } catch (NoSuchMethodException e) {
- throw new YarnRuntimeException("Could not find 0 argument constructor", e);
- }
- }
- try {
- Object retObject = constructor.newInstance();
- return (T)retObject;
- } catch (InvocationTargetException e) {
- throw new YarnRuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new YarnRuntimeException(e);
- } catch (InstantiationException e) {
- throw new YarnRuntimeException(e);
- }
- }
-
- private String getPBImplClassName(Class<?> clazz) {
- String srcPackagePart = getPackageName(clazz);
- String srcClassName = getClassName(clazz);
- String destPackagePart = srcPackagePart + "." + PB_IMPL_PACKAGE_SUFFIX;
- String destClassPart = srcClassName + PB_IMPL_CLASS_SUFFIX;
- return destPackagePart + "." + destClassPart;
- }
-
- private String getClassName(Class<?> clazz) {
- String fqName = clazz.getName();
- return (fqName.substring(fqName.lastIndexOf(".") + 1, fqName.length()));
- }
-
- private String getPackageName(Class<?> clazz) {
- return clazz.getPackage().getName();
- }
-}
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryProvider.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryProvider.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryProvider.java
deleted file mode 100644
index c260e85..0000000
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecordFactoryProvider.java
+++ /dev/null
@@ -1,70 +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.tajo.master.container;
-
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-import org.apache.hadoop.classification.InterfaceStability.Unstable;
-import org.apache.hadoop.conf.Configuration;
-import org.apache.hadoop.yarn.conf.YarnConfiguration;
-import org.apache.hadoop.yarn.exceptions.YarnRuntimeException;
-
-/**
- * This class is borrowed from the following source code :
- * ${hadoop-yarn-api}/src/main/java/org/apache/hadoop/yarn/factory/providers/RecordFactoryProvider.java
- */
-@Unstable
-public class TajoRecordFactoryProvider {
- private static Configuration defaultConf;
-
- static {
- defaultConf = new Configuration();
- }
-
- private TajoRecordFactoryProvider() {
- }
-
- public static TajoRecordFactory getRecordFactory(Configuration conf) {
- if (conf == null) {
- //Assuming the default configuration has the correct factories set.
- //Users can specify a particular factory by providing a configuration.
- conf = defaultConf;
- }
- return (TajoRecordFactory) getFactoryClassInstance(TajoRecordFactoryPBImpl.class.getCanonicalName());
- }
-
- private static Object getFactoryClassInstance(String factoryClassName) {
- try {
- Class<?> clazz = Class.forName(factoryClassName);
- Method method = clazz.getMethod("get", null);
- method.setAccessible(true);
- return method.invoke(null, null);
- } catch (ClassNotFoundException e) {
- throw new YarnRuntimeException(e);
- } catch (NoSuchMethodException e) {
- throw new YarnRuntimeException(e);
- } catch (InvocationTargetException e) {
- throw new YarnRuntimeException(e);
- } catch (IllegalAccessException e) {
- throw new YarnRuntimeException(e);
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecords.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecords.java b/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecords.java
deleted file mode 100644
index e85edf9..0000000
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/TajoRecords.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.tajo.master.container;
-
-
-import org.apache.hadoop.classification.InterfaceStability.Unstable;
-
-/**
- * This class is borrowed from the following source code :
- * ${hadoop-yarn-api}/src/main/java/org/apache/hadoop/yarn/util/Records.java
- *
- * Convenient API record utils
- */
-@Unstable
-public class TajoRecords {
- // The default record factory
- private static final TajoRecordFactory factory =
- TajoRecordFactoryProvider.getRecordFactory(null);
-
- public static <T> T newRecord(Class<T> cls) {
- return factory.newRecordInstance(cls);
- }
-}
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/master/container/impl/pb/TajoContainerIdPBImpl.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/master/container/impl/pb/TajoContainerIdPBImpl.java b/tajo-core/src/main/java/org/apache/tajo/master/container/impl/pb/TajoContainerIdPBImpl.java
deleted file mode 100644
index 9d31050..0000000
--- a/tajo-core/src/main/java/org/apache/tajo/master/container/impl/pb/TajoContainerIdPBImpl.java
+++ /dev/null
@@ -1,100 +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.tajo.master.container.impl.pb;
-
-
-import org.apache.hadoop.classification.InterfaceAudience.Private;
-import org.apache.hadoop.classification.InterfaceStability.Unstable;
-import org.apache.hadoop.yarn.api.records.ApplicationAttemptId;
-import org.apache.hadoop.yarn.api.records.impl.pb.ApplicationAttemptIdPBImpl;
-import org.apache.hadoop.yarn.proto.YarnProtos.ApplicationAttemptIdProto;
-
-import com.google.common.base.Preconditions;
-import org.apache.tajo.ipc.ContainerProtocol;
-import org.apache.tajo.master.container.TajoContainerId;
-
-/**
- * This class is borrowed from the following source code :
- * ${hadoop-yarn-common}/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerIdPBImpl.java
- *
- */
-@Private
-@Unstable
-public class TajoContainerIdPBImpl extends TajoContainerId {
- ContainerProtocol.TajoContainerIdProto proto = null;
- ContainerProtocol.TajoContainerIdProto.Builder builder = null;
- private ApplicationAttemptId applicationAttemptId = null;
-
- public TajoContainerIdPBImpl() {
- builder = ContainerProtocol.TajoContainerIdProto.newBuilder();
- }
-
- public TajoContainerIdPBImpl(ContainerProtocol.TajoContainerIdProto proto) {
- this.proto = proto;
- this.applicationAttemptId = convertFromProtoFormat(proto.getAppAttemptId());
- }
-
- public ContainerProtocol.TajoContainerIdProto getProto() {
- return proto;
- }
-
- @Override
- public int getId() {
- Preconditions.checkNotNull(proto);
- return proto.getId();
- }
-
- @Override
- protected void setId(int id) {
- Preconditions.checkNotNull(builder);
- builder.setId((id));
- }
-
-
- @Override
- public ApplicationAttemptId getApplicationAttemptId() {
- return this.applicationAttemptId;
- }
-
- @Override
- protected void setApplicationAttemptId(ApplicationAttemptId atId) {
- if (atId != null) {
- Preconditions.checkNotNull(builder);
- builder.setAppAttemptId(convertToProtoFormat(atId));
- }
- this.applicationAttemptId = atId;
- }
-
- private ApplicationAttemptIdPBImpl convertFromProtoFormat(
- ApplicationAttemptIdProto p) {
- return new ApplicationAttemptIdPBImpl(p);
- }
-
- private ApplicationAttemptIdProto convertToProtoFormat(
- ApplicationAttemptId t) {
- return ((ApplicationAttemptIdPBImpl)t).getProto();
- }
-
- @Override
- protected void build() {
- proto = builder.build();
- builder = null;
- }
-}
-
http://git-wip-us.apache.org/repos/asf/tajo/blob/5d5b1520/tajo-core/src/main/java/org/apache/tajo/worker/TaskRunner.java
----------------------------------------------------------------------
diff --git a/tajo-core/src/main/java/org/apache/tajo/worker/TaskRunner.java b/tajo-core/src/main/java/org/apache/tajo/worker/TaskRunner.java
index f0da0cd..23efffa 100644
--- a/tajo-core/src/main/java/org/apache/tajo/worker/TaskRunner.java
+++ b/tajo-core/src/main/java/org/apache/tajo/worker/TaskRunner.java
@@ -31,7 +31,7 @@ import org.apache.tajo.conf.TajoConf.ConfVars;
import org.apache.tajo.engine.query.TaskRequestImpl;
import org.apache.tajo.ipc.QueryMasterProtocol.QueryMasterProtocolService;
import org.apache.tajo.master.container.TajoContainerId;
-import org.apache.tajo.master.container.impl.pb.TajoContainerIdPBImpl;
+import org.apache.tajo.master.container.TajoContainerIdPBImpl;
import org.apache.tajo.master.container.TajoConverterUtils;
import org.apache.tajo.rpc.CallFuture;
import org.apache.tajo.rpc.NullCallback;