# IGNITE-187 Fixes for spi start.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/6554e9a5 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/6554e9a5 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/6554e9a5 Branch: refs/heads/sprint-2 Commit: 6554e9a5dd53c10c3bfecacefdab66ad83778990 Parents: 44b5c4e Author: AKuznetsov <akuznet...@gridgain.com> Authored: Wed Mar 4 16:04:47 2015 +0700 Committer: AKuznetsov <akuznet...@gridgain.com> Committed: Wed Mar 4 16:04:47 2015 +0700 ---------------------------------------------------------------------- .../internal/managers/GridManagerAdapter.java | 21 +++++++++++++++----- .../checkpoint/GridCheckpointManager.java | 5 ++++- .../collision/GridCollisionManager.java | 5 ++++- .../discovery/GridDiscoveryManager.java | 1 - .../managers/indexing/GridIndexingManager.java | 5 ++++- .../swapspace/GridSwapSpaceManager.java | 5 ++++- 6 files changed, 32 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6554e9a5/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java index 7c692e3..2a0aaec 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/GridManagerAdapter.java @@ -161,20 +161,31 @@ public abstract class GridManagerAdapter<T extends IgniteSpi> implements GridMan } /** - * Starts wrapped SPI. + * Inject resources into wrapped SPI. * - * @throws IgniteCheckedException If wrapped SPI could not be started. + * @throws IgniteCheckedException If injection failed. */ - protected final void startSpi() throws IgniteCheckedException { - Collection<String> names = U.newHashSet(spis.length); - + protected final void injectSpi() throws IgniteCheckedException { for (T spi : spis) { // Inject all spi resources. ctx.resource().inject(spi); // Inject SPI internal objects. inject(spi); + } + } + + /** + * Starts wrapped SPI. + * + * @throws IgniteCheckedException If wrapped SPI could not be started. + */ + protected final void startSpi() throws IgniteCheckedException { + Collection<String> names = U.newHashSet(spis.length); + injectSpi(); + + for (T spi : spis) { try { Map<String, Object> retval = spi.getNodeAttributes(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6554e9a5/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java index 291930b..bcaa70a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/checkpoint/GridCheckpointManager.java @@ -75,8 +75,11 @@ public class GridCheckpointManager extends GridManagerAdapter<CheckpointSpi> { /** {@inheritDoc} */ @Override public void start() throws IgniteCheckedException { - if (ctx.config().isDaemon()) + if (ctx.config().isDaemon()) { + injectSpi(); + return; + } for (CheckpointSpi spi : getSpis()) { spi.setCheckpointListener(new CheckpointListener() { http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6554e9a5/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java index 2f00fb7..e38617a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/collision/GridCollisionManager.java @@ -44,8 +44,11 @@ public class GridCollisionManager extends GridManagerAdapter<CollisionSpi> { /** {@inheritDoc} */ @Override public void start() throws IgniteCheckedException { - if (ctx.config().isDaemon()) + if (ctx.config().isDaemon()) { + injectSpi(); + return; + } startSpi(); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6554e9a5/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java index bfa4fae..e7020c1 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java @@ -53,7 +53,6 @@ import java.util.zip.*; import static java.util.concurrent.TimeUnit.*; import static org.apache.ignite.events.EventType.*; import static org.apache.ignite.internal.IgniteNodeAttributes.*; -import static org.apache.ignite.internal.IgniteVersionUtils.*; import static org.apache.ignite.plugin.segmentation.GridSegmentationPolicy.*; /** http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6554e9a5/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java index 3fe7839..5e734a2 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/indexing/GridIndexingManager.java @@ -45,8 +45,11 @@ public class GridIndexingManager extends GridManagerAdapter<IndexingSpi> { * @throws IgniteCheckedException Thrown in case of any errors. */ @Override public void start() throws IgniteCheckedException { - if (ctx.config().isDaemon()) + if (ctx.config().isDaemon()) { + injectSpi(); + return; + } if (!enabled()) U.warn(log, "Indexing is disabled (to enable please configure GridIndexingSpi)."); http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/6554e9a5/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java index ef999d7..2b7fbeb 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/swapspace/GridSwapSpaceManager.java @@ -50,8 +50,11 @@ public class GridSwapSpaceManager extends GridManagerAdapter<SwapSpaceSpi> { /** {@inheritDoc} */ @Override public void start() throws IgniteCheckedException { - if (ctx.config().isDaemon()) + if (ctx.config().isDaemon()) { + injectSpi(); + return; + } getSpi().setListener(new SwapSpaceSpiListener() { @Override public void onSwapEvent(int evtType, @Nullable String spaceName, @Nullable byte[] keyBytes) {