This is an automated email from the ASF dual-hosted git repository. ilyak pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/ignite.git
The following commit(s) were added to refs/heads/master by this push: new c510805 IGNITE-14308 Convert exception to warning in case of local deployment with unexpected node id. c510805 is described below commit c51080583a505842262ab5a4541aeb7e4878966e Author: Ilya Kasnacheev <ilya.kasnach...@gmail.com> AuthorDate: Fri Mar 5 18:06:16 2021 +0300 IGNITE-14308 Convert exception to warning in case of local deployment with unexpected node id. --- .../cache/GridCacheDeploymentManager.java | 25 ++++++++++++++-------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java index afd67b2..31c2b14 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheDeploymentManager.java @@ -603,14 +603,15 @@ public class GridCacheDeploymentManager<K, V> extends GridCacheSharedManagerAdap if (locDep0 != null) { // Will copy sequence number to bean. dep = new GridDeploymentInfoBean(locDep0); + + checkDeploymentIsCorrect(dep, deployable, false); } } + else + checkDeploymentIsCorrect(dep, deployable, true); - if (dep != null) { - checkDeploymentIsCorrect(dep, deployable); - + if (dep != null) deployable.prepare(dep); - } if (log.isDebugEnabled()) log.debug("Prepared grid cache deployable [dep=" + dep + ", deployable=" + deployable + ']'); @@ -622,16 +623,22 @@ public class GridCacheDeploymentManager<K, V> extends GridCacheSharedManagerAdap * * @param deployment Deployment. * @param deployable Deployable message. + * @param failIfNotCorrect Flag determining whether to throw exception or just warn. * @throws IgnitePeerToPeerClassLoadingException If deployment is incorrect. */ - private void checkDeploymentIsCorrect(GridDeploymentInfoBean deployment, GridCacheDeployable deployable) + private void checkDeploymentIsCorrect(GridDeploymentInfoBean deployment, GridCacheDeployable deployable, + boolean failIfNotCorrect) throws IgnitePeerToPeerClassLoadingException { if (deployment.participants() == null && !cctx.localNode().id().equals(deployment.classLoaderId().globalId())) { - throw new IgnitePeerToPeerClassLoadingException("Failed to use deployment to prepare deployable, " + - "because local node id does not correspond with class loader id, and there are no more participants " + - "[localNodeId=" + cctx.localNode().id() + ", deployment=" + deployment + ", deployable=" + deployable + - ", locDep=" + locDep.get() + "]"); + String msg = "Should not use deployment to prepare deployable, because local node id does not correspond " + + "with class loader id, and there are no more participants [locNodeId=" + cctx.localNode().id() + + ", deployment=" + deployment + ", deployable=" + deployable + ", locDep=" + locDep.get() + "]"; + + if (failIfNotCorrect) + throw new IgnitePeerToPeerClassLoadingException(msg); + + log.warning(msg); } }