You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by yz...@apache.org on 2017/10/13 17:43:28 UTC
[43/50] [abbrv] ignite git commit: IGNITE-6219 -
IgniteCache#loadCache executes local load in caller thread
IGNITE-6219 - IgniteCache#loadCache executes local load in caller thread
(cherry picked from commit e5f45fd)
(cherry picked from commit 2a6658e)
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/ae9c6d60
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/ae9c6d60
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/ae9c6d60
Branch: refs/heads/ignite-2.1.5-p1
Commit: ae9c6d603d04a46b4603d97d7db986bb33801228
Parents: 25e4706
Author: Dmitriy Govorukhin <dm...@gmail.com>
Authored: Fri Sep 22 15:33:37 2017 +0300
Committer: Dmitriy Govorukhin <dm...@gmail.com>
Committed: Fri Sep 22 15:33:37 2017 +0300
----------------------------------------------------------------------
.../apache/ignite/IgniteSystemProperties.java | 10 +++++++++
.../processors/task/GridTaskWorker.java | 22 +++++++++++++++++++-
.../resources/META-INF/classnames.properties | 2 ++
3 files changed, 33 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/ae9c6d60/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
index ec79026..9992b0b 100644
--- a/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
+++ b/modules/core/src/main/java/org/apache/ignite/IgniteSystemProperties.java
@@ -24,6 +24,7 @@ import java.util.Map;
import java.util.Properties;
import javax.net.ssl.HostnameVerifier;
import org.apache.ignite.cluster.ClusterGroup;
+import org.apache.ignite.configuration.PersistentStoreConfiguration;
import org.apache.ignite.internal.marshaller.optimized.OptimizedMarshaller;
import org.apache.ignite.lang.IgnitePredicate;
import org.jetbrains.annotations.Nullable;
@@ -706,6 +707,11 @@ public final class IgniteSystemProperties {
public static final String IGNITE_ENABLE_FORCIBLE_NODE_KILL = "IGNITE_ENABLE_FORCIBLE_NODE_KILL";
/**
+ * If this property is set, then Ignite will use Async File IO factory by default.
+ */
+ public static final String IGNITE_USE_ASYNC_FILE_IO_FACTORY = "IGNITE_USE_ASYNC_FILE_IO_FACTORY";
+
+ /**
* Tasks stealing will be started if tasks queue size per data-streamer thread exceeds this threshold.
* <p>
* Default value is {@code 4}.
@@ -721,6 +727,10 @@ public final class IgniteSystemProperties {
*/
public static final String IGNITE_WAL_LOG_TX_RECORDS = "IGNITE_WAL_LOG_TX_RECORDS";
+ /** If this property is set, {@link PersistentStoreConfiguration#writeThrottlingEnabled} will be overridden to true
+ * independent of initial value in configuration. */
+ public static final String IGNITE_OVERRIDE_WRITE_THROTTLING_ENABLED = "IGNITE_OVERRIDE_WRITE_THROTTLING_ENABLED";
+
/**
* Enforces singleton.
*/
http://git-wip-us.apache.org/repos/asf/ignite/blob/ae9c6d60/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
index 74fe57d..b94a427 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/task/GridTaskWorker.java
@@ -574,7 +574,7 @@ class GridTaskWorker<T, R> extends GridWorker implements GridTimeoutObject {
if (F.isEmpty(jobs))
return;
- Collection<GridJobResultImpl> jobResList = new ArrayList<>(jobs.size());
+ List<GridJobResultImpl> jobResList = new ArrayList<>(jobs.size());
Collection<ComputeJobSibling> sibs = new ArrayList<>(jobs.size());
@@ -632,6 +632,26 @@ class GridTaskWorker<T, R> extends GridWorker implements GridTimeoutObject {
// Set mapped flag.
ses.onMapped();
+ // Move local jobs to the end of the list, because
+ // they will be invoked in current thread that will hold other
+ // jobs.
+ int jobResSize = jobResList.size();
+
+ if (jobResSize > 1) {
+ UUID locId = ctx.discovery().localNode().id();
+
+ for (int i = 0; i < jobResSize; i++) {
+ UUID jobNodeId = jobResList.get(i).getNode().id();
+
+ if (jobNodeId.equals(locId) && i < jobResSize - 1) {
+ Collections.swap(jobResList, i, jobResSize - 1);
+
+ jobResSize--;
+ i--;
+ }
+ }
+ }
+
// Send out all remote mappedJobs.
for (GridJobResultImpl res : jobResList) {
evtLsnr.onJobSend(this, res.getSibling());
http://git-wip-us.apache.org/repos/asf/ignite/blob/ae9c6d60/modules/core/src/main/resources/META-INF/classnames.properties
----------------------------------------------------------------------
diff --git a/modules/core/src/main/resources/META-INF/classnames.properties b/modules/core/src/main/resources/META-INF/classnames.properties
index e64363d..fd60bd4 100644
--- a/modules/core/src/main/resources/META-INF/classnames.properties
+++ b/modules/core/src/main/resources/META-INF/classnames.properties
@@ -2098,3 +2098,5 @@ org.apache.ignite.transactions.TransactionTimeoutException
org.apache.ignite.util.AttributeNodeFilter
org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIO
org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory
+org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIO
+org.apache.ignite.internal.processors.cache.persistence.file.AsyncFileIOFactory