You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aurora.apache.org by me...@apache.org on 2017/04/29 21:10:14 UTC
aurora git commit: Fix for unnecessary object serializations
Repository: aurora
Updated Branches:
refs/heads/master c85bffdd6 -> 6a896df63
Fix for unnecessary object serializations
This patch provides a fix for some unnecessary object serilizations that happen on high frequency execution paths and contribute to scheduler's high object creation rate.
Reviewed at https://reviews.apache.org/r/56935/
Project: http://git-wip-us.apache.org/repos/asf/aurora/repo
Commit: http://git-wip-us.apache.org/repos/asf/aurora/commit/6a896df6
Tree: http://git-wip-us.apache.org/repos/asf/aurora/tree/6a896df6
Diff: http://git-wip-us.apache.org/repos/asf/aurora/diff/6a896df6
Branch: refs/heads/master
Commit: 6a896df636f2fd670d809e3c441f74c8292af4ef
Parents: c85bffd
Author: Mehrdad Nurolahzade <me...@apache.org>
Authored: Fri Apr 28 15:19:36 2017 -0700
Committer: Mehrdad Nurolahzade <mn...@twitter.com>
Committed: Fri Apr 28 15:19:36 2017 -0700
----------------------------------------------------------------------
.../apache/aurora/scheduler/events/Webhook.java | 2 +-
.../scheduler/mesos/MesosTaskFactory.java | 16 ++++++++------
.../scheduler/resources/ResourceType.java | 22 +++++++++++++-------
.../scheduler/storage/db/DbTaskStore.java | 2 +-
.../scheduler/storage/mem/MemTaskStore.java | 2 +-
5 files changed, 28 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/aurora/blob/6a896df6/src/main/java/org/apache/aurora/scheduler/events/Webhook.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/events/Webhook.java b/src/main/java/org/apache/aurora/scheduler/events/Webhook.java
index 3e8e38a..3868779 100644
--- a/src/main/java/org/apache/aurora/scheduler/events/Webhook.java
+++ b/src/main/java/org/apache/aurora/scheduler/events/Webhook.java
@@ -70,7 +70,7 @@ public class Webhook implements EventSubscriber {
*/
@Subscribe
public void taskChangedState(TaskStateChange stateChange) {
- LOG.debug("Got an event: {}", stateChange.toString());
+ LOG.debug("Got an event: {}", stateChange);
// Old state is not present because a scheduler just failed over. In that case we do not want to
// resend the entire state.
if (stateChange.getOldState().isPresent()) {
http://git-wip-us.apache.org/repos/asf/aurora/blob/6a896df6/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
index 0d639f6..34ed820 100644
--- a/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
+++ b/src/main/java/org/apache/aurora/scheduler/mesos/MesosTaskFactory.java
@@ -177,9 +177,11 @@ public interface MesosTaskFactory {
}
Iterable<Resource> resources = acceptedOffer.getTaskResources();
- LOG.debug(
- "Setting task resources to {}",
- Iterables.transform(resources, Protobufs::toString));
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(
+ "Setting task resources to {}",
+ Iterables.transform(resources, Protobufs::toString));
+ }
TaskInfo.Builder taskBuilder = TaskInfo.newBuilder()
.setName(JobKeys.canonicalString(Tasks.getJob(task)))
@@ -334,9 +336,11 @@ public interface MesosTaskFactory {
builder.setCommand(builder.getCommand().toBuilder().addAllUris(mesosFetcherUris));
Iterable<Resource> executorResources = acceptedOffer.getExecutorResources();
- LOG.debug(
- "Setting executor resources to {}",
- Iterables.transform(executorResources, Protobufs::toString));
+ if (LOG.isDebugEnabled()) {
+ LOG.debug(
+ "Setting executor resources to {}",
+ Iterables.transform(executorResources, Protobufs::toString));
+ }
builder.clearResources().addAllResources(executorResources);
return builder;
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/6a896df6/src/main/java/org/apache/aurora/scheduler/resources/ResourceType.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/resources/ResourceType.java b/src/main/java/org/apache/aurora/scheduler/resources/ResourceType.java
index c884284..de43eaa 100644
--- a/src/main/java/org/apache/aurora/scheduler/resources/ResourceType.java
+++ b/src/main/java/org/apache/aurora/scheduler/resources/ResourceType.java
@@ -332,7 +332,11 @@ public enum ResourceType implements TEnum {
* @return {@link ResourceType}.
*/
public static ResourceType fromIdValue(int value) {
- return requireNonNull(byField.get(value), "Unmapped value: " + value);
+ ResourceType resourceType = byField.get(value);
+ if (resourceType == null) {
+ throw new NullPointerException("Unmapped value: " + value);
+ }
+ return resourceType;
}
/**
@@ -342,9 +346,11 @@ public enum ResourceType implements TEnum {
* @return {@link ResourceType}.
*/
public static ResourceType fromResource(IResource resource) {
- return requireNonNull(
- byField.get((int) resource.getSetField().getThriftFieldId()),
- "Unknown resource: " + resource);
+ ResourceType resourceType = byField.get((int) resource.getSetField().getThriftFieldId());
+ if (resourceType == null) {
+ throw new NullPointerException("Unknown resource: " + resource);
+ }
+ return resourceType;
}
/**
@@ -354,8 +360,10 @@ public enum ResourceType implements TEnum {
* @return {@link ResourceType}.
*/
public static ResourceType fromResource(Resource resource) {
- return requireNonNull(
- BY_MESOS_NAME.get(resource.getName()),
- "Unknown Mesos resource: " + resource);
+ ResourceType resourceType = BY_MESOS_NAME.get(resource.getName());
+ if (resourceType == null) {
+ throw new NullPointerException("Unknown Mesos resource: " + resource);
+ }
+ return resourceType;
}
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/6a896df6/src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java b/src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java
index a649a6e..5af1a79 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/db/DbTaskStore.java
@@ -101,7 +101,7 @@ class DbTaskStore implements TaskStore.Mutable {
String message = "Query took {} ms: {}";
if (infoLevel) {
LOG.info(message, time, query.get());
- } else {
+ } else if (LOG.isDebugEnabled()) {
LOG.debug(message, time, query.get());
}
http://git-wip-us.apache.org/repos/asf/aurora/blob/6a896df6/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java
index d89e715..964e2fc 100644
--- a/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java
+++ b/src/main/java/org/apache/aurora/scheduler/storage/mem/MemTaskStore.java
@@ -143,7 +143,7 @@ class MemTaskStore implements TaskStore.Mutable {
String message = "Query took {} ms: {}";
if (infoLevel) {
LOG.info(message, time, query.get());
- } else {
+ } else if (LOG.isDebugEnabled()) {
LOG.debug(message, time, query.get());
}