John, This page covers all the aspects of backups in Ignite (what are those, how to configure, etc.): https://www.gridgain.com/docs/latest/developers-guide/configuring-caches/configuring-backups
As for the 5 nodes cluster with the persistence, yes, all those have to be added to be in the same baseline topology. - Denis On Thu, Aug 6, 2020 at 8:26 AM John Smith <[email protected]> wrote: > Ok if I have 5 nodes with persistence then all nodes need to be in > baseline? > > Also what are the docs for backup to make sure I have it right? > > > On Thu, 6 Aug 2020 at 10:08, Ilya Kasnacheev <[email protected]> > wrote: > >> 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 <[email protected]>: >> >>> 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 <[email protected]> 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, < >>>> [email protected]> 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 <[email protected]>: >>>>> >>>>>> 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 >>>>>> >>>>>
