Use the duplicate RPC request cache
  to work around protocol problems where non-blocking lock responses
  may be lost, and an error followed by a lost granted response can
  result in a granted lock that the client knows nothing about.
  A cached response helps this for the cases where the multiple
  non-blocking lock requests all use the same xid.