Hi, In current implementation write-behind store can lose writes even if only one nodes fails. This can be improved by adding backup queues [1], but it's not implemented yet.
Also, it's possible to get inconsistent state in this case. Only synchronous write-through can guarantee that there are no data loss. [1] https://issues.apache.org/jira/browse/IGNITE-1897 2017-05-22 12:34 GMT+03:00 rickynauvaldy <[email protected]>: > Hello, I'm trying to create an environment of client server connection > where > I run 3 server nodes that load data from db (similar to this [1]) which > will > be use as a failover [2], and 3 client nodes which write data to cache > using > loops. It will then be written to the database using write-behind with the > reason of performance [3]. In this test, while the clients are writing, I > purposely stop the server node one-by-on to see the failover. In [2] it > said > that "/jobs are automatically transferred to other available nodes for > re-execution/". It does, actually, but when I stopped the second server > node, exception appeared: > > [15:57:23,218][SEVERE][tcp-client-disco-sock-writer-#2% > null%][TcpDiscoverySpi] > Failed to send message: TcpDiscoveryClientMetricsUpdateMessage > [super=TcpDiscoveryAbstractMessage [sndNodeId=null, > id=c11df5f2c51-30c473c1-464c-40fa-92f2-c8cbbeb34658, verifierNodeId=null, > topVer=0, pendingIdx=0, failedNodes=null, isClient=true]] > java.net.SocketException: Socket is closed > at java.net.Socket.getSendBufferSize(Unknown Source) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi. > socketStream(TcpDiscoverySpi.java:1352) > at > org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi. > writeToSocket(TcpDiscoverySpi.java:1464) > at > org.apache.ignite.spi.discovery.tcp.ClientImpl$ > SocketWriter.body(ClientImpl.java:1216) > at org.apache.ignite.spi.IgniteSpiThread.run( > IgniteSpiThread.java:62) > > I thought this is expected, and the writing process continues. The problem > is after it continues, the data written by client nodes are inconsistent. > Is > this normal? > > Thanks, > Ricky > > [1] > http://apache-ignite-users.70518.x6.nabble.com/How-to-do- > write-behind-caching-td12138.html > [2] https://apacheignite.readme.io/docs/fault-tolerance > [3] > http://apache-ignite-users.70518.x6.nabble.com/Database- > transaction-updating-more-than-1-table-from-CacheStore-td4197.html > > > > ----- > -- Ricky > -- > View this message in context: http://apache-ignite-users. > 70518.x6.nabble.com/Client-Server-Persistent-Store-Fault- > Tolerance-tp13054.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. >
