Uploaded image for project: 'Red Hat Data Grid'
  1. Red Hat Data Grid
  2. JDG-7442

[RESP] INFO doesn't detect client crashes for blocking and watched clients

XMLWordPrintable

    • False
    • None
    • False

      If a user executes blocking command and then kills the connection (ctrl+c, kill 9) while the command is being blocked, the server won't register client going away for that particular metric. It'll register client going away though through connected_clients.

      It seems that internally the server will still fulfill the blocking request even though the client is away.

      The same issue applies more or less for WATCH. The server keeps information about watched key by a client that no longer exist.

      Infinispan:

      127.0.0.1:11222> info clients
      connected_clients:1
      blocked_clients:0
      127.0.0.1:11222> blpop mylist 0
      ...
      # Kill (ctrl+c, kill 9) and reconnect here
      ...
      127.0.0.1:11222> info clients
      connected_clients:1
      blocked_clients:1
      127.0.0.1:11222> lpush mylist element
      (integer) 1
      127.0.0.1:11222> info clients
      connected_clients:1
      blocked_clients:0
      127.0.0.1:11222> lpop mylist
      (nil)
      

      Redis:

      127.0.0.1:6379> info clients
      connected_clients:1
      blocked_clients:0
      127.0.0.1:6379> blpop mylist 0
      ...
      # Kill (ctrl+c, kill 9) and reconnect here
      ...
      127.0.0.1:6379> info clients
      connected_clients:1
      blocked_clients:0
      127.0.0.1:6379> lpush mylist element
      (integer) 1
      127.0.0.1:6379> lpop mylist
      "element"
      

              rh-ee-jbolina Jose Bolina
              rhn-support-pdrobek Pavel Drobek
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated: