You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "ramkrishna.s.vasudevan (Created) (JIRA)" <ji...@apache.org> on 2011/12/27 07:42:30 UTC

[jira] [Created] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
---------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: HBASE-5097
                 URL: https://issues.apache.org/jira/browse/HBASE-5097
             Project: HBase
          Issue Type: Bug
            Reporter: ramkrishna.s.vasudevan
            Priority: Blocker


In HRegionServer.java openScanner()
{code}
      r.prepareScanner(scan);
      RegionScanner s = null;
      if (r.getCoprocessorHost() != null) {
        s = r.getCoprocessorHost().preScannerOpen(scan);
      }
      if (s == null) {
        s = r.getScanner(scan);
      }
      if (r.getCoprocessorHost() != null) {
        s = r.getCoprocessorHost().postScannerOpen(scan, s);
      }
{code}
If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
{code}
java.lang.NullPointerException
	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)

{code}

Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Status: Patch Available  (was: Open)
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "Andrew Purtell (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176287#comment-13176287 ] 

Andrew Purtell commented on HBASE-5097:
---------------------------------------

Wouldn't hurt. 
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl updated HBASE-5097:
---------------------------------

    Fix Version/s:     (was: 0.94.1)
                   0.94.0
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.94.0, 0.96.0
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176165#comment-13176165 ] 

Zhihong Yu commented on HBASE-5097:
-----------------------------------

Should we catch the NullPointer exception and provide better message ?
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13177493#comment-13177493 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

Looks good. How about:
{code}
...
if (r.getCoprocessorHost() != null) {
  RegionScanner temp = r.getCoprocessorHost().postScannerOpen(scan, s);
  if (temp == null) {
    LOG.warn("PostScannerOpen impl returning null. Check the RegionObserver implementation.");
  } else {
    s = temp;
  }
}
...
{code}
That way the temporary RegionScanner is local to the postScanner check making it (IMHO) easier to read.

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13177494#comment-13177494 ] 

Zhihong Yu commented on HBASE-5097:
-----------------------------------

{code}
       if (s == null) {
         s = r.getScanner(scan);
+        temp = s;
       }
{code}
How about naming temp 'savedScanner' ?

I think the assignment should be outside the above if block:
{code}
       if (s == null) {
         s = r.getScanner(scan);
       }
+      savedScanner = s;
{code}
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176701#comment-13176701 ] 

Zhihong Yu edited comment on HBASE-5097 at 12/28/11 4:58 PM:
-------------------------------------------------------------

fair enough. So if postScannerOpen() returns null we just won't create a scanner?
Might lead to hard to detect problems. 
                
      was (Author: lhofhansl):
    fair enough. So if postOpenScanner returns null we just won't create a scanner?
Might lead to hard to detect problems. 
                  
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Issue Comment Edited] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Issue Comment Edited) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176701#comment-13176701 ] 

Zhihong Yu edited comment on HBASE-5097 at 12/28/11 4:57 PM:
-------------------------------------------------------------

fair enough. So if postOpenScanner returns null we just won't create a scanner?
Might lead to hard to detect problems. 
                
      was (Author: lhofhansl):
    fair enough. So if posyOpenScanner returns null we just won't create a scanner?
Might lead to hard to detect problems. 
                  
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178979#comment-13178979 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

+1 on patch (with fixed indentation :) ). Test failures must be unrelated.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13244736#comment-13244736 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

This can be closed, no?
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.94.0, 0.96.0
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242066#comment-13242066 ] 

Hudson commented on HBASE-5097:
-------------------------------

Integrated in HBase-TRUNK-security #154 (See [https://builds.apache.org/job/HBase-TRUNK-security/154/])
    HBASE-5097 RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE (Ram) (Revision 1307036)

     Result = FAILURE
ramkrishna : 
Files : 
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Status: Open  (was: Patch Available)
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176456#comment-13176456 ] 

ramkrishna.s.vasudevan commented on HBASE-5097:
-----------------------------------------------

@Lars..

Ok Lars..I too accept it..
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hadoop QA (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13177520#comment-13177520 ] 

Hadoop QA commented on HBASE-5097:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12508902/HBASE-5097.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    -1 javadoc.  The javadoc tool appears to have generated -151 warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 76 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

    +1 core tests.  The patch passed unit tests in .

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/637//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/637//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/637//console

This message is automatically generated.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13241567#comment-13241567 ] 

Hudson commented on HBASE-5097:
-------------------------------

Integrated in HBase-0.94 #65 (See [https://builds.apache.org/job/HBase-0.94/65/])
    HBASE-5097 RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE (Ram) (Revision 1307035)

     Result = SUCCESS
ramkrishna : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176140#comment-13176140 ] 

ramkrishna.s.vasudevan commented on HBASE-5097:
-----------------------------------------------

Ya.. My bad..:(..
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Zhihong Yu updated HBASE-5097:
------------------------------

    Summary: RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE  (was: Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.)
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242450#comment-13242450 ] 

Hudson commented on HBASE-5097:
-------------------------------

Integrated in HBase-0.94-security #6 (See [https://builds.apache.org/job/HBase-0.94-security/6/])
    HBASE-5097 RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE (Ram) (Revision 1307035)

     Result = SUCCESS
ramkrishna : 
Files : 
* /hbase/branches/0.94/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Component/s: coprocessors
    
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Priority: Blocker
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Assigned] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Assigned) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan reassigned HBASE-5097:
---------------------------------------------

    Assignee: ramkrishna.s.vasudevan
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Status: Patch Available  (was: Open)
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176440#comment-13176440 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

Hmmm. There is no default implementation for an interface. Are you referring to the default implementation generated for you by eclipse?
I just don't think this is a bug.



                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Priority: Major  (was: Blocker)

Changing the priority.
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13241493#comment-13241493 ] 

ramkrishna.s.vasudevan commented on HBASE-5097:
-----------------------------------------------

Committed to 0.94, 0.92 and trunk.  Sorry for the delay in committing the patches.
Thanks to Stack, Andy, Lars and Ted for the review.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13246959#comment-13246959 ] 

Hudson commented on HBASE-5097:
-------------------------------

Integrated in HBase-0.92-security #104 (See [https://builds.apache.org/job/HBase-0.92-security/104/])
    HBASE-5097 RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE (Ram) (Revision 1307034)

     Result = FAILURE
ramkrishna : 
Files : 
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.94.0, 0.96.0
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Attachment: HBASE-5097.patch

Trunk patch
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Status: Open  (was: Patch Available)
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Attachment: HBASE-5097_2.patch

Indention problem occured by mistake.  Corrected patch uploaded.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13242478#comment-13242478 ] 

Hudson commented on HBASE-5097:
-------------------------------

Integrated in HBase-TRUNK #2698 (See [https://builds.apache.org/job/HBase-TRUNK/2698/])
    HBASE-5097 RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE (Ram) (Revision 1307036)

     Result = FAILURE
ramkrishna : 
Files : 
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178712#comment-13178712 ] 

ramkrishna.s.vasudevan commented on HBASE-5097:
-----------------------------------------------

@Lars and @Ted
Will submit a patch soon
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Andrew Purtell (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179727#comment-13179727 ] 

Andrew Purtell commented on HBASE-5097:
---------------------------------------

+1 on fixed patch.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13238121#comment-13238121 ] 

ramkrishna.s.vasudevan commented on HBASE-5097:
-----------------------------------------------

This patch is not committed yet.!!
I will do that today..
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176689#comment-13176689 ] 

Zhihong Yu commented on HBASE-5097:
-----------------------------------

I think the case here is that we should check for s not being null before calling addScanner(s).
Some user may deliberately write code where preScannerOpen and postScannerOpen implementations return null to stall initialization.

Eugene implemented feature to take off bad-behaving coprocessors through hbase.coprocessor.abortonerror config parameter (see CoprocessorHost.handleCoprocessorThrowable).
I think we should cover this case as well.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13238532#comment-13238532 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

Feel free to put it in 0.94.0. Will cut an RC today.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178897#comment-13178897 ] 

Zhihong Yu commented on HBASE-5097:
-----------------------------------

The indentation is off. Should have used two spaces.

Otherwise patch looks good.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "Andrew Purtell (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176117#comment-13176117 ] 

Andrew Purtell commented on HBASE-5097:
---------------------------------------

Are you inheriting from {{BaseRegionObserver}}? I'd guess not?
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "stack (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13179834#comment-13179834 ] 

stack commented on HBASE-5097:
------------------------------

+1 on patch
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hudson (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13241788#comment-13241788 ] 

Hudson commented on HBASE-5097:
-------------------------------

Integrated in HBase-0.92 #342 (See [https://builds.apache.org/job/HBase-0.92/342/])
    HBASE-5097 RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE (Ram) (Revision 1307034)

     Result = SUCCESS
ramkrishna : 
Files : 
* /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java

                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Fix Version/s: 0.94.1
                   0.96.0
                   0.92.2
    
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.96.0, 0.94.1
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13177555#comment-13177555 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

@Ted and @Ram... What do you think of my idea above?
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13177560#comment-13177560 ] 

Zhihong Yu commented on HBASE-5097:
-----------------------------------

I think Lars' idea is fine.
Naming temp 'savedScanner' should be in next patch.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Hadoop QA (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13178946#comment-13178946 ] 

Hadoop QA commented on HBASE-5097:
----------------------------------

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12509324/HBASE-5097_1.patch
  against trunk revision .

    +1 @author.  The patch does not contain any @author tags.

    -1 tests included.  The patch doesn't appear to include any new or modified tests.
                        Please justify why no new tests are needed for this patch.
                        Also please list what manual steps were performed to verify this patch.

    -1 javadoc.  The javadoc tool appears to have generated -151 warning messages.

    +1 javac.  The applied patch does not increase the total number of javac compiler warnings.

    -1 findbugs.  The patch appears to introduce 77 new Findbugs (version 1.3.9) warnings.

    +1 release audit.  The applied patch does not increase the total number of release audit warnings.

     -1 core tests.  The patch failed these unit tests:
                       org.apache.hadoop.hbase.mapreduce.TestImportTsv
                  org.apache.hadoop.hbase.mapred.TestTableMapReduce
                  org.apache.hadoop.hbase.mapreduce.TestHFileOutputFormat

Test results: https://builds.apache.org/job/PreCommit-HBASE-Build/653//testReport/
Findbugs warnings: https://builds.apache.org/job/PreCommit-HBASE-Build/653//artifact/trunk/patchprocess/newPatchFindbugsWarnings.html
Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/653//console

This message is automatically generated.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Andrew Purtell (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176786#comment-13176786 ] 

Andrew Purtell commented on HBASE-5097:
---------------------------------------

bq. We should save the non-null s before calling postScannerOpen(). If postScannerOpen() returns null, we can use the saved scanner.

... and emit a warning. Sounds good.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "ramkrishna.s.vasudevan (Updated) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

ramkrishna.s.vasudevan updated HBASE-5097:
------------------------------------------

    Attachment: HBASE-5097_1.patch

Addressed comments from Lars and Ted.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176701#comment-13176701 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

fair enough. So if posyOpenScanner returns null we just won't create a scanner?
Might lead to hard to detect problems. 
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "ramkrishna.s.vasudevan (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176402#comment-13176402 ] 

ramkrishna.s.vasudevan commented on HBASE-5097:
-----------------------------------------------

@Lars

I implemented RegionObserver and not BaseRegionObserver.  In BaseRegionObserver we return a regionscanner so it will not cause any problem.  But if we implement RegionObserver then default will be null value.  That is the problem.  
                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Lars Hofhansl (Resolved) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Lars Hofhansl resolved HBASE-5097.
----------------------------------

    Resolution: Fixed

To answer my own question: Yes :)
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>            Assignee: ramkrishna.s.vasudevan
>             Fix For: 0.92.2, 0.94.0, 0.96.0
>
>         Attachments: HBASE-5097.patch, HBASE-5097_1.patch, HBASE-5097_2.patch
>
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.

Posted by "Lars Hofhansl (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176296#comment-13176296 ] 

Lars Hofhansl commented on HBASE-5097:
--------------------------------------

Not a big fan of catching NPEs. We can add a null check somewhere in the code, but catching NPEs is bad design (IMHO).

@Ram: How did you actually do this? You need to implement RegionObserver, so you cannot compile unless you provide an implementation of postScannerOpen. Or did you class not even implement RegionObserver?

                
> Coprocessor RegionObserver implementation without preScannerOpen and postScannerOpen Impl is throwing NPE and so failing the system initialization.
> ---------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Commented] (HBASE-5097) RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE

Posted by "Zhihong Yu (Commented) (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-5097?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13176705#comment-13176705 ] 

Zhihong Yu commented on HBASE-5097:
-----------------------------------

We should save the non-null s before calling postScannerOpen().
If postScannerOpen() returns null, we can use the saved scanner.
                
> RegionObserver implementation whose preScannerOpen and postScannerOpen Impl return null can stall the system initialization through NPE
> ---------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HBASE-5097
>                 URL: https://issues.apache.org/jira/browse/HBASE-5097
>             Project: HBase
>          Issue Type: Bug
>          Components: coprocessors
>            Reporter: ramkrishna.s.vasudevan
>
> In HRegionServer.java openScanner()
> {code}
>       r.prepareScanner(scan);
>       RegionScanner s = null;
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().preScannerOpen(scan);
>       }
>       if (s == null) {
>         s = r.getScanner(scan);
>       }
>       if (r.getCoprocessorHost() != null) {
>         s = r.getCoprocessorHost().postScannerOpen(scan, s);
>       }
> {code}
> If we dont have implemention for postScannerOpen the RegionScanner is null and so throwing nullpointer 
> {code}
> java.lang.NullPointerException
> 	at java.util.concurrent.ConcurrentHashMap.put(ConcurrentHashMap.java:881)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.addScanner(HRegionServer.java:2282)
> 	at org.apache.hadoop.hbase.regionserver.HRegionServer.openScanner(HRegionServer.java:2272)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.hadoop.hbase.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:364)
> 	at org.apache.hadoop.hbase.ipc.HBaseServer$Handler.run(HBaseServer.java:1326)
> {code}
> Making this defect as blocker.. Pls feel free to change the priority if am wrong.  Also correct me if my way of trying out coprocessors without implementing postScannerOpen is wrong.  Am just a learner.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira