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