Hello everyone,
We have been facing a situation on trafodion, where we are hitting the
hbase.client.scanner.timeout.period scenario:
basically, when doing queries that require spilling to disk because of high
complexity of what is involved, the underlying hbase scanner serving one of
the operation involved in the complex query cannot call the next() withing
the timeout specify... too busy taking care of other business.
This is legit scenario, and I was wondering why in the code, special care
is done to make sure that client side, if a DNRIOE of type
unknownScannerException shows up, and the
hbase.client.scanner.timeout.period time elapsed, we make sure to throw a
scannerTimeoutException, instead of just let it go and reset scanner.

I imagine that the lease time out implementation on region server side is
supposed to protect from resource leak of scanner object server side. But I
am not sure why we would make it so that client side throw this timeout
exception, when in fact what just happened was that client was too busy to
call next() on time.

I am sure there is a reason, but cannot figure it out :-).

BTW, I found this JIRA, talking about exact same thing:
https://issues.apache.org/jira/browse/HBASE-2161 but with no resolution.

Any help understanding the reason of the timeout thrwown client side
instead of an automatic reset would be much appreciated,
Best regards,
Eric Owhadi

Reply via email to