Piotr

Not used RDF Delta myself but the Zookeeper issues sound familiar

When anything is trying to talk to Zookeeper if the ZK node they are trying to 
talk to stops responding then the ZK client code will fail and then 
re-establish a session to a diferent node.  BUT this isn’t immediate for a 
couple of reasons:

1) The clients socket connection, if already established, will be blocked until 
it times out
2) The ZK nodes themselves rely on heartbeats between themselves to spot node 
failures, thus there is a minimum time before they consider a node to have 
failed and elect a new leader

So 1 you can improve by tweaking client side connection timeouts [1] and 2 you 
can improve by tweaking Zookeeper node configurations [2]

Also the node that gets killed has an impact that varies, if the leader node is 
killed then the ZK cluster can no longer serve write requests until a new 
leader is elected.  So depending on what the client code is doing at the time 
this can lead to blocked operations until writes are permitted again.  Whereas 
if a follower node is killed the client is only likely to be impacted if it was 
directly communicating with that node, otherwise the cluster continues on 
happily unless it has fallen below the minimum threshold for quorum.

Hope this helps,

Rob

[1] 
https://zookeeper.apache.org/doc/r3.1.2/zookeeperProgrammers.html#ch_zkSessions
[2] https://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_configuration

On 17/08/2020, 17:11, "Piotr Nowara" <piotrnow...@gmail.com> wrote:

    Hi,

    We are testing RDF Delta with three Zookeeper instances. Sometimes when we
    kill one of those Zookeper instances Fuseki freezes for about 30 seconds
    which is bad. Is this expected? Will increasing the number of Zookeper
    instances help to avoid such issues?

    Thanks,
    Piotr Nowara




Reply via email to