Hello! You are confusing baseline with backups here.
You should have 1 backup to afford losing a node. You should have all data nodes in the baseline. Regards, -- Ilya Kasnacheev ср, 5 авг. 2020 г. в 17:56, John Smith <java.dev....@gmail.com>: > I mean I have 3 nodes and the baseline is set to 3. Does it mean if I put > 2 as baseline then I can lose at least 1? If I remove one node from > baseline does it mean it will not store data? > > Or is it better to have 3 baseline nodes and add a 4th node? In that case > if I still lose a baseline node will I still be able to do operations on > the cache? > > On Wed, 5 Aug 2020 at 08:21, John Smith <java.dev....@gmail.com> wrote: > >> I have 3 nodes and baseline topology is 3 so if I lose 1 I guess it's >> enough... Should it be 2? >> >> On Tue., Aug. 4, 2020, 10:57 a.m. Ilya Kasnacheev, < >> ilya.kasnach...@gmail.com> wrote: >> >>> Hello! >>> >>> What is your baseline topology at this moment? It means just that: you >>> have lost enough nodes of your distributed grid that data is nowhere to be >>> found now. >>> >>> Regards, >>> -- >>> Ilya Kasnacheev >>> >>> >>> пн, 3 авг. 2020 г. в 19:12, John Smith <java.dev....@gmail.com>: >>> >>>> I get the below exception on my client... >>>> >>>> #1 I rebooted the cache nodes error still continued. >>>> #2 restarted the client node error went away. >>>> #3 this seems to happen every few weeks. >>>> #4 is there some sort of timeout values and retries I can put? >>>> #5 cache operations seem to block when rebooting the nodes (I have 3 >>>> nodes). Is there a way not to block? >>>> >>>> javax.cache.CacheException: class >>>> org.apache.ignite.internal.processors.cache.CacheInvalidStateException: >>>> Failed to execute cache operation (all partition owners have left the grid, >>>> partition data has been lost) [cacheName=xxxxxx, part=273, key=16479796986] >>>> at >>>> org.apache.ignite.internal.processors.cache.GridCacheUtils.convertToCacheException(GridCacheUtils.java:1337) >>>> at >>>> org.apache.ignite.internal.processors.cache.IgniteCacheFutureImpl.convertException(IgniteCacheFutureImpl.java:62) >>>> at >>>> org.apache.ignite.internal.util.future.IgniteFutureImpl.get(IgniteFutureImpl.java:157) >>>> at >>>> com.xxxxxx.common.vertx.ext.data.impl.IgniteCacheRepository.lambda$executeAsync$394d953f$1(IgniteCacheRepository.java:59) >>>> at >>>> org.apache.ignite.internal.util.future.AsyncFutureListener$1.run(AsyncFutureListener.java:53) >>>> at >>>> com.xxxxxx.common.vertx.ext.data.impl.VertxIgniteExecutorAdapter.lambda$execute$0(VertxIgniteExecutorAdapter.java:18) >>>> at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:369) >>>> at >>>> io.vertx.core.impl.EventLoopContext.lambda$executeAsync$0(EventLoopContext.java:38) >>>> at >>>> io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164) >>>> at >>>> io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472) >>>> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:497) >>>> at >>>> io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989) >>>> at >>>> io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) >>>> at >>>> io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) >>>> at java.lang.Thread.run(Thread.java:748) >>>> Caused by: >>>> org.apache.ignite.internal.processors.cache.CacheInvalidStateException: >>>> Failed to execute cache operation (all partition owners have left the grid, >>>> partition data has been lost) [cacheName=xxxxxx, part=273, key=16479796986] >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFutureAdapter.validatePartitionOperation(GridDhtTopologyFutureAdapter.java:161) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTopologyFutureAdapter.validateCache(GridDhtTopologyFutureAdapter.java:116) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicSingleUpdateFuture.mapOnTopology(GridNearAtomicSingleUpdateFuture.java:417) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridNearAtomicAbstractUpdateFuture.map(GridNearAtomicAbstractUpdateFuture.java:248) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$26.apply(GridDhtAtomicCache.java:1146) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache$26.apply(GridDhtAtomicCache.java:1144) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.asyncOp(GridDhtAtomicCache.java:761) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.update0(GridDhtAtomicCache.java:1144) >>>> at >>>> org.apache.ignite.internal.processors.cache.distributed.dht.atomic.GridDhtAtomicCache.putAsync0(GridDhtAtomicCache.java:641) >>>> at >>>> org.apache.ignite.internal.processors.cache.GridCacheAdapter.putAsync(GridCacheAdapter.java:2828) >>>> at >>>> org.apache.ignite.internal.processors.cache.GridCacheAdapter.putAsync(GridCacheAdapter.java:2809) >>>> at >>>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.putAsync0(IgniteCacheProxyImpl.java:1125) >>>> at >>>> org.apache.ignite.internal.processors.cache.IgniteCacheProxyImpl.putAsync(IgniteCacheProxyImpl.java:1114) >>>> at >>>> org.apache.ignite.internal.processors.cache.GatewayProtectedCacheProxy.putAsync(GatewayProtectedCacheProxy.java:832) >>>> at >>>> com.xxxxxx.common.vertx.ext.data.impl.IgniteCacheRepository.lambda$put$0(IgniteCacheRepository.java:27) >>>> at >>>> com.xxxxxx.common.vertx.ext.data.impl.IgniteCacheRepository.executeAsync(IgniteCacheRepository.java:55) >>>> at >>>> com.xxxxxx.common.vertx.ext.data.impl.IgniteCacheRepository.put(IgniteCacheRepository.java:27) >>>> at com.xxxxxx.service.impl.xxxxxx.put(xxxxxx.java:52) >>>> at com.xxxxxx.impl.xxxxxx.moV1(xxxxxx.java:134) >>>> at com.xxxxxx.api.xxxxxx.moV1(xxxxxx.java:100) >>>> at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1034) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:131) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:128) >>>> at >>>> com.xxxxxx.common.vertx.ext.web.handler.impl.JsonLoggerHandlerImpl.handle(JsonLoggerHandlerImpl.java:168) >>>> at >>>> com.xxxxxx.common.vertx.ext.web.handler.impl.JsonLoggerHandlerImpl.handle(JsonLoggerHandlerImpl.java:24) >>>> at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1034) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:95) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:128) >>>> at >>>> com.xxxxxx.common.vertx.ext.web.handler.impl.OutputTrxInfoOnErrorHandlerImpl.handle(OutputTrxInfoOnErrorHandlerImpl.java:18) >>>> at >>>> com.xxxxxx.common.vertx.ext.web.handler.impl.OutputTrxInfoOnErrorHandlerImpl.handle(OutputTrxInfoOnErrorHandlerImpl.java:10) >>>> at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1034) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:95) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:128) >>>> at >>>> com.xxxxxx.common.vertx.ext.web.handler.impl.TransactionDateTimeHandlerImpl.handle(TransactionDateTimeHandlerImpl.java:19) >>>> at >>>> com.xxxxxx.common.vertx.ext.web.handler.impl.TransactionDateTimeHandlerImpl.handle(TransactionDateTimeHandlerImpl.java:11) >>>> at io.vertx.ext.web.impl.RouteState.handleContext(RouteState.java:1034) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImplBase.iterateNext(RoutingContextImplBase.java:131) >>>> at >>>> io.vertx.ext.web.impl.RoutingContextImpl.next(RoutingContextImpl.java:128) >>>> at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:54) >>>> at io.vertx.ext.web.impl.RouterImpl.handle(RouterImpl.java:36) >>>> at io.vertx.ext.web.Router.accept(Router.java:64) >>>> at >>>> io.vertx.core.http.impl.WebSocketRequestHandler.handle(WebSocketRequestHandler.java:50) >>>> at >>>> io.vertx.core.http.impl.WebSocketRequestHandler.handle(WebSocketRequestHandler.java:32) >>>> at >>>> io.vertx.core.http.impl.Http1xServerConnection.handleMessage(Http1xServerConnection.java:136) >>>> at io.vertx.core.impl.ContextImpl.executeTask(ContextImpl.java:369) >>>> at io.vertx.core.impl.EventLoopContext.execute(EventLoopContext.java:43) >>>> at io.vertx.core.impl.ContextImpl.executeFromIO(ContextImpl.java:232) >>>> at >>>> io.vertx.core.net.impl.VertxHandler.channelRead(VertxHandler.java:173) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) >>>> at >>>> io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93) >>>> at >>>> io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:101) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) >>>> at >>>> io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:321) >>>> at >>>> io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:295) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357) >>>> at >>>> io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379) >>>> at >>>> io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365) >>>> at >>>> io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919) >>>> at >>>> io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:163) >>>> at >>>> io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714) >>>> at >>>> io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650) >>>> at >>>> io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576) >>>> at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493) >>>> ... 4 common frames omitted >>>> >>>