We have been using coprocessors to create secondary indexes as well as
doing some sanity checks on incoming data.

Especially in the last case, we planned to use the prePut event to reject
Puts to hbase that did not pass our sanity checks for incoming data. I had
expected being able to signal the client ingesting data into hbase via
throwing a custom exception, but learned that the regionserver the
coprocessor is installed on basically only have two options in the face of
a coprocessor throwing an exception: unloading the coprocessor or shutting
down.

This behaviour surprises me since coprocessors almost by definition contain
application logic, and exceptions are a standard way of signalling in
application logic. Are there any plans to make the signal handling work
better wrt. clients in coprocessors? Or have I simply misunderstood the
intention of coprocessors here?

Thanks in advance and best regards,
Steen Manniche

Reply via email to