guluo2016 commented on PR #5553:
URL: https://github.com/apache/hbase/pull/5553#issuecomment-1838473445

   > Looking at the jira description, I think we should add the check at master 
side? We should reject the request at very beginning.
   
   This can only partially solve the problem.
   
   There is a scenario,  the problem is still exists.
   1. We create a RegionObserver
   2. We obtain HRegion object in method prePut
   3. We can flush this region with a non-existing family by calling 
flushcache() directly
   4. Finally, we still get NPE, and the region woule fall into busying forever 
(RegionTooBusyException)
   
   For example:
   ```java
   @Override  
   public void prePut(ObserverContext<RegionCoprocessorEnvironment> c, Put put, 
WALEdit edit) throws IOException {
        HRegion region = (HRegion) c.getEnvironment().getRegion()
        region.flushcache(Arrays.asList("non-family".getBytes()), false, 
FlushLifeCycleTracker.DUMMY);
   }
   ```
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@hbase.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to