ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a.@apache.org
Subject [7/8] incubator-ignite git commit: ignite-1093
Date Tue, 11 Aug 2015 16:32:13 GMT
ignite-1093


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6a733ef9
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6a733ef9
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6a733ef9

Branch: refs/heads/ignite-1093
Commit: 6a733ef9165096f4c75e71874938cfc83a6998f8
Parents: db72f53
Author: Anton Vinogradov <vinogradov.anton@gmail.com>
Authored: Tue Aug 11 19:15:03 2015 +0300
Committer: Anton Vinogradov <vinogradov.anton@gmail.com>
Committed: Tue Aug 11 19:15:03 2015 +0300

----------------------------------------------------------------------
 .../dht/preloader/GridDhtPartitionDemander.java | 44 ++++++++++++++++++++
 1 file changed, 44 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6a733ef9/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
index fca9f53..30a04c0 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/preloader/GridDhtPartitionDemander.java
@@ -120,6 +120,50 @@ public class GridDhtPartitionDemander {
      *
      */
     void start() {
+        int rebalanceOrder = cctx.config().getRebalanceOrder();
+
+        if (!CU.isMarshallerCache(cctx.name())) {
+            if (log.isDebugEnabled())
+                log.debug("Waiting for marshaller cache preload [cacheName=" + cctx.name()
+ ']');
+
+            try {
+                cctx.kernalContext().cache().marshallerCache().preloader().syncFuture().get();
+            }
+            catch (IgniteInterruptedCheckedException ignored) {
+                if (log.isDebugEnabled())
+                    log.debug("Failed to wait for marshaller cache preload future (grid is
stopping): " +
+                        "[cacheName=" + cctx.name() + ']');
+
+                return;
+            }
+            catch (IgniteCheckedException e) {
+                throw new Error("Ordered preload future should never fail: " + e.getMessage(),
e);
+            }
+        }
+
+        if (rebalanceOrder > 0) {
+            IgniteInternalFuture<?> fut = cctx.kernalContext().cache().orderedPreloadFuture(rebalanceOrder);
+
+            try {
+                if (fut != null) {
+                    if (log.isDebugEnabled())
+                        log.debug("Waiting for dependant caches rebalance [cacheName=" +
cctx.name() +
+                            ", rebalanceOrder=" + rebalanceOrder + ']');
+
+                    fut.get();
+                }
+            }
+            catch (IgniteInterruptedCheckedException ignored) {
+                if (log.isDebugEnabled())
+                    log.debug("Failed to wait for ordered rebalance future (grid is stopping):
" +
+                        "[cacheName=" + cctx.name() + ", rebalanceOrder=" + rebalanceOrder
+ ']');
+
+                return;
+            }
+            catch (IgniteCheckedException e) {
+                throw new Error("Ordered rebalance future should never fail: " + e.getMessage(),
e);
+            }
+        }
     }
 
     /**


Mime
View raw message