To follow up, it does appear that the scenario I described will cause the LeaseException, i.e. if you have a large table, and you scan it with a filter that skips many rows, the client can timeout waiting for a response from the region server with the next matching row, which leads to a LeaseException.
I increased hbase.rpc.timeout to resolve the issue.
On Feb 20, 2012, at 4:47 PM, Bryan Keller wrote:
> I'm seeing "lease does not exist" exceptions under some circumstances, e.g.
> org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hbase.regionserver.LeaseException: lease '4341530003498786620' does not exist
> After reading some about the exception, I was wondering if the following will cause it. Say I have a very large table with some scattered values I am looking for. I am using a filter to search for these rows. Each call to scanner.next() might need to scan through several million rows before it finds one that matches the filter.
> Could this cause the lease to timeout if it takes several minutes to find a filter match, or is there a client-server keep-alive message of some sort that prevents this?
> It also looks like this might have been caused by a region server that went down and the cluster didn't recover gracefully.