[jira] [Created] (HBASE-18336) Operations on Table reference's does not work in hbase-shell as per help messages/documentation
Abhishek Kumar created HBASE-18336: -- Summary: Operations on Table reference's does not work in hbase-shell as per help messages/documentation Key: HBASE-18336 URL: https://issues.apache.org/jira/browse/HBASE-18336 Project: HBase Issue Type: Bug Components: documentation, shell Reporter: Abhishek Kumar Priority: Trivial Many shell command's help messages suggest that table references in shell can be kept for method calls, but it does not seem to be working. It looks like that its done on purpose (HBASE-15965) for shell 'interactive' mode, may be we can update shell command's help messages/documentation to reflect that it can work only in 'non-interactive' mode. -- This message was sent by Atlassian JIRA (v6.4.14#64029)
[jira] [Commented] (HBASE-18030) Negative tag length for hbase block/hfile
[ https://issues.apache.org/jira/browse/HBASE-18030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16006200#comment-16006200 ] Abhishek Kumar commented on HBASE-18030: I am using HBase 1.1.2 > Negative tag length for hbase block/hfile > - > > Key: HBASE-18030 > URL: https://issues.apache.org/jira/browse/HBASE-18030 > Project: HBase > Issue Type: Bug > Components: hbase, regionserver >Affects Versions: 1.1.2 >Reporter: Abhishek Kumar > > 2017-04-29 14:24:14,135 ERROR > [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected > throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. > Block offset: 3707853, block length: 72841, position: 0 (without header). at > org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) > I am not not using any hbase tags feature. > The Increment operation from the application side is triggering this error. > The same is happening when scanner is run on this table. It feels that one or > more particular HFile block is corrupt (with negative tagLength). > hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} > Returning the result > hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} > ROW COLUMN+CELL > > > ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid > currTagsLen -32701. Block offset: 272031, block length: 72441, position: > 32487 (without header). > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18030) Negative tag length for hbase block/hfile
[ https://issues.apache.org/jira/browse/HBASE-18030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16006159#comment-16006159 ] Abhishek Kumar commented on HBASE-18030: I have per cell TTL (i.e. I am setting TTL per Increment) > Negative tag length for hbase block/hfile > - > > Key: HBASE-18030 > URL: https://issues.apache.org/jira/browse/HBASE-18030 > Project: HBase > Issue Type: Bug > Components: hbase, regionserver >Affects Versions: 1.1.2 >Reporter: Abhishek Kumar > > 2017-04-29 14:24:14,135 ERROR > [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected > throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. > Block offset: 3707853, block length: 72841, position: 0 (without header). at > org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) > I am not not using any hbase tags feature. > The Increment operation from the application side is triggering this error. > The same is happening when scanner is run on this table. It feels that one or > more particular HFile block is corrupt (with negative tagLength). > hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} > Returning the result > hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} > ROW COLUMN+CELL > > > ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid > currTagsLen -32701. Block offset: 272031, block length: 72441, position: > 32487 (without header). > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18030) Negative tag length for hbase block/hfile
[ https://issues.apache.org/jira/browse/HBASE-18030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16006022#comment-16006022 ] Abhishek Kumar commented on HBASE-18030: hbase(main):022:0> major_compact 'tablename' 0 row(s) in 0.1280 seconds Compaction is done. after every error line (Invalid currTagsLen -32712) this follows: 2017-05-11 07:31:00,745 INFO [hdps01.labs.ops.use1a.i.riva.co,16020,1493962926376_ChoreService_2] regionserver.HRegionServer: hdps01.labs.ops.use1a.i.riva.co,16020,1493962926376-MemstoreFlusherChore requesting flush for region ,,1493782145821.db8a11a78836a33cdd045e5c6fcf4b6c. after a delay of 10433 I can still see 5 HFiles for weekly column family > Negative tag length for hbase block/hfile > - > > Key: HBASE-18030 > URL: https://issues.apache.org/jira/browse/HBASE-18030 > Project: HBase > Issue Type: Bug > Components: hbase, regionserver >Affects Versions: 1.1.2 >Reporter: Abhishek Kumar > > 2017-04-29 14:24:14,135 ERROR > [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected > throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. > Block offset: 3707853, block length: 72841, position: 0 (without header). at > org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) > I am not not using any hbase tags feature. > The Increment operation from the application side is triggering this error. > The same is happening when scanner is run on this table. It feels that one or > more particular HFile block is corrupt (with negative tagLength). > hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} > Returning the result > hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} > ROW COLUMN+CELL > > > ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid > currTagsLen -32701. Block offset: 272031, block length: 72441, position: > 32487 (without header). > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18030) Negative tag length for hbase block/hfile
[ https://issues.apache.org/jira/browse/HBASE-18030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16005974#comment-16005974 ] Abhishek Kumar commented on HBASE-18030: My table is having two column family (weekly, daily) and using TTL. For me, these are very basic features for tables with increments. The weekly column family has small files and I don't see them compacting (total 5 HFiles). This is not the case with daily column family, which has just 1 HFile. hbase(main):016:0> get 'table-name', 'rowkey', 'daily:a' 0 row(s) in 0.0100 seconds hbase(main):017:0> get 'table-name', 'rowkey', 'weekly:a' ERROR: java.io.IOException: Invalid currTagsLen -32723. Block offset: 0, block length: 69222, position: 3447 (without header). at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2172) A cron runs at my application service (3 of them) which flushes all the increments it accumulated, one by one to hbase. Nothing suspicious about the whole flow or any patterns I have observed. I am trying to remove TTL and moving to just 1 column family to see if it is fixing the issue. > Negative tag length for hbase block/hfile > - > > Key: HBASE-18030 > URL: https://issues.apache.org/jira/browse/HBASE-18030 > Project: HBase > Issue Type: Bug > Components: hbase, regionserver >Affects Versions: 1.1.2 >Reporter: Abhishek Kumar > > 2017-04-29 14:24:14,135 ERROR > [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected > throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. > Block offset: 3707853, block length: 72841, position: 0 (without header). at > org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) > I am not not using any hbase tags feature. > The Increment operation from the application side is triggering this error. > The same is happening when scanner is run on this table. It feels that one or > more particular HFile block is corrupt (with negative tagLength). > hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} > Returning the result > hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} > ROW COLUMN+CELL > > > ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid > currTagsLen -32701. Block offset: 272031, block length: 72441, position: > 32487 (without header). > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-18030) Negative tag length for hbase block/hfile
[ https://issues.apache.org/jira/browse/HBASE-18030?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16005905#comment-16005905 ] Abhishek Kumar commented on HBASE-18030: I copied that table to another table and it worked for few days. But yesterday in the new table, again facing the same issue. Let me know what kind of tests you are asking, I will do that. > Negative tag length for hbase block/hfile > - > > Key: HBASE-18030 > URL: https://issues.apache.org/jira/browse/HBASE-18030 > Project: HBase > Issue Type: Bug > Components: hbase, regionserver >Affects Versions: 1.1.2 >Reporter: Abhishek Kumar > > 2017-04-29 14:24:14,135 ERROR > [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected > throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. > Block offset: 3707853, block length: 72841, position: 0 (without header). at > org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) > I am not not using any hbase tags feature. > The Increment operation from the application side is triggering this error. > The same is happening when scanner is run on this table. It feels that one or > more particular HFile block is corrupt (with negative tagLength). > hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} > Returning the result > hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} > ROW COLUMN+CELL > > > ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid > currTagsLen -32701. Block offset: 272031, block length: 72441, position: > 32487 (without header). > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) > at > org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) > at > org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) > at > org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-18030) Negative tag length for hbase block/hfile
[ https://issues.apache.org/jira/browse/HBASE-18030?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-18030: --- Description: 2017-04-29 14:24:14,135 ERROR [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. Block offset: 3707853, block length: 72841, position: 0 (without header). at org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) I am not not using any hbase tags feature. The Increment operation from the application side is triggering this error. The same is happening when scanner is run on this table. It feels that one or more particular HFile block is corrupt (with negative tagLength). hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} Returning the result hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} ROW COLUMN+CELL ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid currTagsLen -32701. Block offset: 272031, block length: 72441, position: 32487 (without header). at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) at org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) was: 2017-04-29 14:24:14,135 ERROR [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. Block offset: 3707853, block length: 72841, position: 0 (without header). at org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) The Increment operation from the application side is triggering this error. The same is happening when scanner is run on this table. It feels that one or more particular HFile block is corrupt (with negative tagLength). hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} Returning the result hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} ROW COLUMN+CELL ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid currTagsLen -32701. Block offset: 272031, block length: 72441, position: 32487 (without header). at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) at org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) > Negative tag length for hbase block/hfile > - > > Key: HBASE-18030 > URL: https://issues.apache.org/jira/browse/HBASE-18030 > Project: HBase > Issue Type: Bug > Components: hbase, regionserver >Affects Versions: 1.1.2 >Reporter: Abhishek Kumar > > 2017-04-29 14:24:14,135 ERROR > [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected > throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. > Block offset: 3707853, block length: 72841, position: 0 (without header). at > org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) > I am not not using any hbase tags feature. > The Increment operation from the application side is triggering this error. > The same is happening when scanner is run on this table. It feels that one or > more particular HFile block is corrupt (with negative tagLength). > hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} > Returning the result >
[jira] [Created] (HBASE-18030) Negative tag length for hbase block/hfile
Abhishek Kumar created HBASE-18030: -- Summary: Negative tag length for hbase block/hfile Key: HBASE-18030 URL: https://issues.apache.org/jira/browse/HBASE-18030 Project: HBase Issue Type: Bug Components: hbase, regionserver Affects Versions: 1.1.2 Reporter: Abhishek Kumar 2017-04-29 14:24:14,135 ERROR [B.fifo.QRpcServer.handler=49,queue=1,port=16020] ipc.RpcServer: Unexpected throwable object java.lang.IllegalStateException: Invalid currTagsLen -32712. Block offset: 3707853, block length: 72841, position: 0 (without header). at org.apache.hadoop.hbase.io.hfile.HFileReaderV3$ScannerV3.checkTagsLen(HFileReaderV3.java:226) The Increment operation from the application side is triggering this error. The same is happening when scanner is run on this table. It feels that one or more particular HFile block is corrupt (with negative tagLength). hbase(main):007:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:a'} Returning the result hbase(main):008:0> scan 'table-name', {LIMIT=>1,STARTROW=>'ad:event_count:b'} ROW COLUMN+CELL ERROR: java.io.IOException: java.lang.IllegalStateException: Invalid currTagsLen -32701. Block offset: 272031, block length: 72441, position: 32487 (without header). at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.handleException(HRegion.java:5607) at org.apache.hadoop.hbase.regionserver.HRegion$RegionScannerImpl.(HRegion.java:5579) at org.apache.hadoop.hbase.regionserver.HRegion.instantiateRegionScanner(HRegion.java:2627) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2613) at org.apache.hadoop.hbase.regionserver.HRegion.getScanner(HRegion.java:2595) at org.apache.hadoop.hbase.regionserver.RSRpcServices.scan(RSRpcServices.java:2282) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32295) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Status: Patch Available (was: Open) > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 2.0.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879-master.patch, HBASE-17879-master-v1.patch, > HBASE-17879.patch, HBASE-17879-V1.patch, NPE_screenshot.png, > patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Affects Version/s: (was: 1.3.0) 2.0.0 Status: Open (was: Patch Available) > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 2.0.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879-master.patch, HBASE-17879-master-v1.patch, > HBASE-17879.patch, HBASE-17879-V1.patch, NPE_screenshot.png, > patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Attachment: HBASE-17879-master-v1.patch Updated patch attached. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879-master.patch, HBASE-17879-master-v1.patch, > HBASE-17879.patch, HBASE-17879-V1.patch, NPE_screenshot.png, > patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Attachment: HBASE-17879-master.patch master branch patch attached, pls take a look. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879-master.patch, HBASE-17879.patch, > HBASE-17879-V1.patch, NPE_screenshot.png, patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Comment Edited] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15968575#comment-15968575 ] Abhishek Kumar edited comment on HBASE-17879 at 4/14/17 4:04 AM: - yeah, this did cross my mind but it will be completely unnecessary to create a Admin object and then iterate through all valid snapshots only to know that this 'null' can't be found, so i went with 'if condition' check, will generate the patch based on the master branch and upload the same. was (Author: a72877): yeah, this did cross my mind but it will be completely unnecessary to create a Admin object and then iterate through all valid snapshots only to know that this can't be found, so i went with if condition check. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, HBASE-17879-V1.patch, > NPE_screenshot.png, patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Comment Edited] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15968575#comment-15968575 ] Abhishek Kumar edited comment on HBASE-17879 at 4/14/17 4:02 AM: - yeah, this did cross my mind but it will be completely unnecessary to create a Admin object and then iterate through all valid snapshots only to know that this can't be found, so i went with if condition check. was (Author: a72877): yeah, this did cross my mind but it will be completely unnecessary to create a Admin object and then iterate through all valid snapshots only to know that this can't be found, so i went with if condition check. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, HBASE-17879-V1.patch, > NPE_screenshot.png, patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15968575#comment-15968575 ] Abhishek Kumar commented on HBASE-17879: yeah, this did cross my mind but it will be completely unnecessary to create a Admin object and then iterate through all valid snapshots only to know that this can't be found, so i went with if condition check. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, HBASE-17879-V1.patch, > NPE_screenshot.png, patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Attachment: HBASE-17879-V1.patch thanks Ted, patch addressing comment attached, pls have a look. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, HBASE-17879-V1.patch, > NPE_screenshot.png, patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15966255#comment-15966255 ] Abhishek Kumar commented on HBASE-17879: screenshot attached, pls take a look. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, NPE_screenshot.png, > patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Attachment: patched_screenshot.png > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, NPE_screenshot.png, > patched_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Attachment: NPE_screenshot.png > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch, NPE_screenshot.png > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Status: Patch Available (was: Open) > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Attachment: HBASE-17879.patch A simple patch for null check, pls take a look. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > Attachments: HBASE-17879.patch > > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Updated] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17879?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-17879: --- Affects Version/s: 1.3.0 > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17879 > URL: https://issues.apache.org/jira/browse/HBASE-17879 > Project: HBase > Issue Type: Bug > Components: UI >Affects Versions: 1.3.0 >Reporter: Abhishek Kumar >Priority: Trivial > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Resolved] (HBASE-17880) Avoid NPE in snapshot.jsp when accessing without any request parameter
[ https://issues.apache.org/jira/browse/HBASE-17880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar resolved HBASE-17880. Resolution: Duplicate Closing it as duplicate of HBASE-17879, raised it twice mistakenly. > Avoid NPE in snapshot.jsp when accessing without any request parameter > -- > > Key: HBASE-17880 > URL: https://issues.apache.org/jira/browse/HBASE-17880 > Project: HBase > Issue Type: Bug > Components: UI >Reporter: Abhishek Kumar >Priority: Trivial > > When accessing snapshot jsp with below url inadvertently NPE comes in UI: > Requested URL: > http://:/snapshot.jsp? > Response: > java.lang.NullPointerException > at > org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) > at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) > at > org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-17879) Avoid NPE in snapshot.jsp when accessing without any request parameter
Abhishek Kumar created HBASE-17879: -- Summary: Avoid NPE in snapshot.jsp when accessing without any request parameter Key: HBASE-17879 URL: https://issues.apache.org/jira/browse/HBASE-17879 Project: HBase Issue Type: Bug Components: UI Reporter: Abhishek Kumar Priority: Trivial When accessing snapshot jsp with below url inadvertently NPE comes in UI: Requested URL: http://:/snapshot.jsp? Response: java.lang.NullPointerException at org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Created] (HBASE-17880) Avoid NPE in snapshot.jsp when accessing without any request parameter
Abhishek Kumar created HBASE-17880: -- Summary: Avoid NPE in snapshot.jsp when accessing without any request parameter Key: HBASE-17880 URL: https://issues.apache.org/jira/browse/HBASE-17880 Project: HBase Issue Type: Bug Components: UI Reporter: Abhishek Kumar Priority: Trivial When accessing snapshot jsp with below url inadvertently NPE comes in UI: Requested URL: http://:/snapshot.jsp? Response: java.lang.NullPointerException at org.apache.hadoop.hbase.generated.master.snapshot_jsp._jspService(snapshot_jsp.java:66) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:98) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511) -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Assigned] (HBASE-16311) Audit log for delete snapshot operation is missing in case of snapshot owner deleting the same
[ https://issues.apache.org/jira/browse/HBASE-16311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar reassigned HBASE-16311: -- Assignee: Abhishek Kumar > Audit log for delete snapshot operation is missing in case of snapshot owner > deleting the same > -- > > Key: HBASE-16311 > URL: https://issues.apache.org/jira/browse/HBASE-16311 > Project: HBase > Issue Type: Improvement > Components: snapshots >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > > 1. Audit log seems to be left as a TODO task in AccessController.java: > ... > @Override > public void preDeleteSnapshot(final > ObserverContext ctx, > final SnapshotDescription snapshot) throws IOException { > if (SnapshotDescriptionUtils.isSnapshotOwner(snapshot, getActiveUser())) { > // Snapshot owner is allowed to delete the snapshot > // TODO: We are not logging this for audit > } else { > requirePermission("deleteSnapshot", Action.ADMIN); > } > } > ... > 2. Also, snapshot name is not getting logged in the audit logs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-16311) Audit log for delete snapshot operation is missing in case of snapshot owner deleting the same
Abhishek Kumar created HBASE-16311: -- Summary: Audit log for delete snapshot operation is missing in case of snapshot owner deleting the same Key: HBASE-16311 URL: https://issues.apache.org/jira/browse/HBASE-16311 Project: HBase Issue Type: Improvement Components: snapshots Reporter: Abhishek Kumar Priority: Minor 1. Audit log seems to be left as a TODO task in AccessController.java: ... @Override public void preDeleteSnapshot(final ObserverContext ctx, final SnapshotDescription snapshot) throws IOException { if (SnapshotDescriptionUtils.isSnapshotOwner(snapshot, getActiveUser())) { // Snapshot owner is allowed to delete the snapshot // TODO: We are not logging this for audit } else { requirePermission("deleteSnapshot", Action.ADMIN); } } ... 2. Also, snapshot name is not getting logged in the audit logs. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14771) RpcServer.getRemoteAddress always returns null.
[ https://issues.apache.org/jira/browse/HBASE-14771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14771: --- Attachment: HBASE-14771-V2.patch i was on leave for two days:), updated patch attached, thanks. > RpcServer.getRemoteAddress always returns null. > --- > > Key: HBASE-14771 > URL: https://issues.apache.org/jira/browse/HBASE-14771 > Project: HBase > Issue Type: Bug > Components: IPC/RPC >Affects Versions: 1.2.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14771-V1.patch, HBASE-14771-V2.patch, > HBASE-14771.patch > > > RpcServer.getRemoteAddress always returns null, because Call object is > getting initialized with null.This seems to be happening because of using > RpcServer.getRemoteIp() in Call object constructor before RpcServer thread > local 'CurCall' being set in CallRunner.run method: > {noformat} > // --- RpcServer.java --- > protected void processRequest(byte[] buf) throws IOException, > InterruptedException { > . > // Call object getting initialized here with address > // obtained from RpcServer.getRemoteIp() > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, RpcServer.getRemoteIp()); > scheduler.dispatch(new CallRunner(RpcServer.this, call)); > } > // getRemoteIp method gets address from threadlocal 'CurCall' which > // gets set in CallRunner.run and calling it before this as in above case, > will return null > // --- CallRunner.java --- > public void run() { > . > PairresultPair = null; > RpcServer.CurCall.set(call); > .. > } > // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems > to be fixing this issue > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, this.addr); > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-14771) RpcServer.getRemoteAddress always returns null.
[ https://issues.apache.org/jira/browse/HBASE-14771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14998683#comment-14998683 ] Abhishek Kumar commented on HBASE-14771: thanks Appy for review, i m planning to write something like below which returns remoteAddress from 'echo' method back to client, pls let me know if it seems okay for test: {noformat} // in static nested class TestRpcServer1 TestRpcServer1(RpcScheduler scheduler) throws IOException { super(null, "testRemoteAddressInCallObject", Lists .newArrayList(new BlockingServiceAndInterface(TestRpcServiceProtos.TestProtobufRpcProto .newReflectiveBlockingService(SERVICE1), null)), new InetSocketAddress("localhost", 0), CONF, scheduler); } // echo message return remoteAddress @Override public EchoResponseProto echo(RpcController unused, EchoRequestProto request) throws ServiceException { final InetAddress remoteAddr = TestRpcServer1.getRemoteAddress(); final String message = remoteAddr == null ? "NULL" : remoteAddr.getHostAddress(); return EchoResponseProto.newBuilder().setMessage(message).build(); } // in test method @Test public void testRpcServerForNotNullRemoteAddressInCallObject() throws IOException, ServiceException { final RpcScheduler scheduler = new FifoRpcScheduler(CONF, 1); final TestRpcServer1 rpcServer = new TestRpcServer1(scheduler); final InetSocketAddress localAddr = new InetSocketAddress("localhost", 0); final AbstractRpcClient client = new RpcClientImpl(CONF, HConstants.CLUSTER_ID_DEFAULT, localAddr, null); try { rpcServer.start(); final InetSocketAddress isa = rpcServer.getListenerAddress(); if (isa == null) { throw new IOException("Listener channel is closed"); } final BlockingRpcChannel channel = client.createBlockingRpcChannel( ServerName.valueOf(isa.getHostName(), isa.getPort(), System.currentTimeMillis()), User.getCurrent(), 0); TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub = TestRpcServiceProtos.TestProtobufRpcProto.newBlockingStub(channel); final EchoRequestProto echoRequest = EchoRequestProto.newBuilder().setMessage("GetRemoteAddress").build(); final EchoResponseProto echoResponse = stub.echo(null, echoRequest); Assert.assertEquals(localAddr.getAddress().getHostAddress(), echoResponse.getMessage()); } finally { client.close(); rpcServer.stop(); } } {noformat} > RpcServer.getRemoteAddress always returns null. > --- > > Key: HBASE-14771 > URL: https://issues.apache.org/jira/browse/HBASE-14771 > Project: HBase > Issue Type: Bug > Components: IPC/RPC >Affects Versions: 1.2.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14771-V1.patch, HBASE-14771.patch > > > RpcServer.getRemoteAddress always returns null, because Call object is > getting initialized with null.This seems to be happening because of using > RpcServer.getRemoteIp() in Call object constructor before RpcServer thread > local 'CurCall' being set in CallRunner.run method: > {noformat} > // --- RpcServer.java --- > protected void processRequest(byte[] buf) throws IOException, > InterruptedException { > . > // Call object getting initialized here with address > // obtained from RpcServer.getRemoteIp() > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, RpcServer.getRemoteIp()); > scheduler.dispatch(new CallRunner(RpcServer.this, call)); > } > // getRemoteIp method gets address from threadlocal 'CurCall' which > // gets set in CallRunner.run and calling it before this as in above case, > will return null > // --- CallRunner.java --- > public void run() { > . > PairresultPair = null; > RpcServer.CurCall.set(call); > .. > } > // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems > to be fixing this issue > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, this.addr); > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14771) RpcServer.getRemoteAddress always returns null.
[ https://issues.apache.org/jira/browse/HBASE-14771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14771: --- Attachment: HBASE-14771-V1.patch Test case added, pls review the same. > RpcServer.getRemoteAddress always returns null. > --- > > Key: HBASE-14771 > URL: https://issues.apache.org/jira/browse/HBASE-14771 > Project: HBase > Issue Type: Bug > Components: IPC/RPC >Affects Versions: 1.2.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14771-V1.patch, HBASE-14771.patch > > > RpcServer.getRemoteAddress always returns null, because Call object is > getting initialized with null.This seems to be happening because of using > RpcServer.getRemoteIp() in Call object constructor before RpcServer thread > local 'CurCall' being set in CallRunner.run method: > {noformat} > // --- RpcServer.java --- > protected void processRequest(byte[] buf) throws IOException, > InterruptedException { > . > // Call object getting initialized here with address > // obtained from RpcServer.getRemoteIp() > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, RpcServer.getRemoteIp()); > scheduler.dispatch(new CallRunner(RpcServer.this, call)); > } > // getRemoteIp method gets address from threadlocal 'CurCall' which > // gets set in CallRunner.run and calling it before this as in above case, > will return null > // --- CallRunner.java --- > public void run() { > . > PairresultPair = null; > RpcServer.CurCall.set(call); > .. > } > // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems > to be fixing this issue > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, this.addr); > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-14771) RpcServer.getRemoteAddress always returns null.
[ https://issues.apache.org/jira/browse/HBASE-14771?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=14993165#comment-14993165 ] Abhishek Kumar commented on HBASE-14771: it was mainly for logging purpose such as the use of HMaster.getClientIdAuditPrefix() in create/modify etc operations and we have some custom co-processor also making use of this getRemoteAddress method which was causing some issues for us. > RpcServer.getRemoteAddress always returns null. > --- > > Key: HBASE-14771 > URL: https://issues.apache.org/jira/browse/HBASE-14771 > Project: HBase > Issue Type: Bug > Components: IPC/RPC >Affects Versions: 1.2.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14771.patch > > > RpcServer.getRemoteAddress always returns null, because Call object is > getting initialized with null.This seems to be happening because of using > RpcServer.getRemoteIp() in Call object constructor before RpcServer thread > local 'CurCall' being set in CallRunner.run method: > {noformat} > // --- RpcServer.java --- > protected void processRequest(byte[] buf) throws IOException, > InterruptedException { > . > // Call object getting initialized here with address > // obtained from RpcServer.getRemoteIp() > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, RpcServer.getRemoteIp()); > scheduler.dispatch(new CallRunner(RpcServer.this, call)); > } > // getRemoteIp method gets address from threadlocal 'CurCall' which > // gets set in CallRunner.run and calling it before this as in above case, > will return null > // --- CallRunner.java --- > public void run() { > . > PairresultPair = null; > RpcServer.CurCall.set(call); > .. > } > // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems > to be fixing this issue > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, this.addr); > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-14771) RpcServer.getRemoteAddress always returns null.
Abhishek Kumar created HBASE-14771: -- Summary: RpcServer.getRemoteAddress always returns null. Key: HBASE-14771 URL: https://issues.apache.org/jira/browse/HBASE-14771 Project: HBase Issue Type: Bug Components: IPC/RPC Affects Versions: 1.2.0 Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Minor RpcServer.getRemoteAddress always returns null, because Call object is getting initialized with null.This seems to be happening because of using RpcServer.getRemoteIp() in Call object constructor before RpcServer thread local 'CurCall' being set in CallRunner.run method: {noformat} // --- RpcServer.java --- protected void processRequest(byte[] buf) throws IOException, InterruptedException { . // Call object getting initialized here with address // obtained from RpcServer.getRemoteIp() Call call = new Call(id, this.service, md, header, param, cellScanner, this, responder, totalRequestSize, traceInfo, RpcServer.getRemoteIp()); scheduler.dispatch(new CallRunner(RpcServer.this, call)); } // getRemoteIp method gets address from threadlocal 'CurCall' which // gets set in CallRunner.run and calling it before this as in above case, will return null // --- CallRunner.java --- public void run() { . PairresultPair = null; RpcServer.CurCall.set(call); .. } // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems to be fixing this issue Call call = new Call(id, this.service, md, header, param, cellScanner, this, responder, totalRequestSize, traceInfo, this.addr); {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14771) RpcServer.getRemoteAddress always returns null.
[ https://issues.apache.org/jira/browse/HBASE-14771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14771: --- Attachment: HBASE-14771.patch patch attached , pls review the same, thanks > RpcServer.getRemoteAddress always returns null. > --- > > Key: HBASE-14771 > URL: https://issues.apache.org/jira/browse/HBASE-14771 > Project: HBase > Issue Type: Bug > Components: IPC/RPC >Affects Versions: 1.2.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14771.patch > > > RpcServer.getRemoteAddress always returns null, because Call object is > getting initialized with null.This seems to be happening because of using > RpcServer.getRemoteIp() in Call object constructor before RpcServer thread > local 'CurCall' being set in CallRunner.run method: > {noformat} > // --- RpcServer.java --- > protected void processRequest(byte[] buf) throws IOException, > InterruptedException { > . > // Call object getting initialized here with address > // obtained from RpcServer.getRemoteIp() > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, RpcServer.getRemoteIp()); > scheduler.dispatch(new CallRunner(RpcServer.this, call)); > } > // getRemoteIp method gets address from threadlocal 'CurCall' which > // gets set in CallRunner.run and calling it before this as in above case, > will return null > // --- CallRunner.java --- > public void run() { > . > PairresultPair = null; > RpcServer.CurCall.set(call); > .. > } > // Using 'this.addr' in place of getRemoteIp method in RpcServer.java seems > to be fixing this issue > Call call = new Call(id, this.service, md, header, param, cellScanner, this, > responder, > totalRequestSize, traceInfo, this.addr); > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14525) Append and increment operation throws NullPointerException on non-existing column families.
[ https://issues.apache.org/jira/browse/HBASE-14525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14525: --- Attachment: HBASE-14525-V1.patch yes, put ops fails for invalid column family, thanks for pointing this out, updated patch attached for review. > Append and increment operation throws NullPointerException on non-existing > column families. > --- > > Key: HBASE-14525 > URL: https://issues.apache.org/jira/browse/HBASE-14525 > Project: HBase > Issue Type: Bug > Components: shell >Affects Versions: 2.0.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14525-V1.patch, HBASE-14525.patch > > > When performing append operation on non-existing column families, > NullPointerException is thrown in hbase shell as shown below: > {noformat} > hbase(main):007:0> append 't1', 'r1', 'none:c1', '123' > ERROR: java.io.IOException > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at org.apache.hadoop.hbase.regionserver.HRegion.doGet(HRegion.java:6987) > at org.apache.hadoop.hbase.regionserver.HRegion.append(HRegion.java:7048) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.append(RSRpcServices.java:580) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2206) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32452) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133) > ... 4 more > {noformat} > This seems to be caused by absence of check for valid family names as done in > other operations like 'Put' in HRegion.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14525) Append and increment operation throws NullPointerException on non-existing column families.
[ https://issues.apache.org/jira/browse/HBASE-14525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14525: --- Summary: Append and increment operation throws NullPointerException on non-existing column families. (was: Append and increment operation throws NullPointerException when appending on non-existing column families.) > Append and increment operation throws NullPointerException on non-existing > column families. > --- > > Key: HBASE-14525 > URL: https://issues.apache.org/jira/browse/HBASE-14525 > Project: HBase > Issue Type: Bug > Components: shell >Affects Versions: 2.0.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14525.patch > > > When performing append operation on non-existing column families, > NullPointerException is thrown in hbase shell as shown below: > {noformat} > hbase(main):007:0> append 't1', 'r1', 'none:c1', '123' > ERROR: java.io.IOException > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at org.apache.hadoop.hbase.regionserver.HRegion.doGet(HRegion.java:6987) > at org.apache.hadoop.hbase.regionserver.HRegion.append(HRegion.java:7048) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.append(RSRpcServices.java:580) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2206) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32452) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133) > ... 4 more > {noformat} > This seems to be caused by absence of check for valid family names as done in > other operations like 'Put' in HRegion.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14525) Append and increment operation throws NullPointerException when appending on non-existing column families.
[ https://issues.apache.org/jira/browse/HBASE-14525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14525: --- Summary: Append and increment operation throws NullPointerException when appending on non-existing column families. (was: Append operation throws NullPointerException when appending on non-existing column families.) > Append and increment operation throws NullPointerException when appending on > non-existing column families. > -- > > Key: HBASE-14525 > URL: https://issues.apache.org/jira/browse/HBASE-14525 > Project: HBase > Issue Type: Bug > Components: shell >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > > When performing append operation on non-existing column families, > NullPointerException is thrown in hbase shell as shown below: > {noformat} > hbase(main):007:0> append 't1', 'r1', 'none:c1', '123' > ERROR: java.io.IOException > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at org.apache.hadoop.hbase.regionserver.HRegion.doGet(HRegion.java:6987) > at org.apache.hadoop.hbase.regionserver.HRegion.append(HRegion.java:7048) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.append(RSRpcServices.java:580) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2206) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32452) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133) > ... 4 more > {noformat} > This seems to be caused by absence of check for valid family names as done in > other operations like 'Put' in HRegion.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14525) Append and increment operation throws NullPointerException when appending on non-existing column families.
[ https://issues.apache.org/jira/browse/HBASE-14525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14525: --- Attachment: HBASE-14525.patch patch attached for review, thanks. > Append and increment operation throws NullPointerException when appending on > non-existing column families. > -- > > Key: HBASE-14525 > URL: https://issues.apache.org/jira/browse/HBASE-14525 > Project: HBase > Issue Type: Bug > Components: shell >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14525.patch > > > When performing append operation on non-existing column families, > NullPointerException is thrown in hbase shell as shown below: > {noformat} > hbase(main):007:0> append 't1', 'r1', 'none:c1', '123' > ERROR: java.io.IOException > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at org.apache.hadoop.hbase.regionserver.HRegion.doGet(HRegion.java:6987) > at org.apache.hadoop.hbase.regionserver.HRegion.append(HRegion.java:7048) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.append(RSRpcServices.java:580) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2206) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32452) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133) > ... 4 more > {noformat} > This seems to be caused by absence of check for valid family names as done in > other operations like 'Put' in HRegion.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-14525) Append and increment operation throws NullPointerException when appending on non-existing column families.
[ https://issues.apache.org/jira/browse/HBASE-14525?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-14525: --- Affects Version/s: 2.0.0 > Append and increment operation throws NullPointerException when appending on > non-existing column families. > -- > > Key: HBASE-14525 > URL: https://issues.apache.org/jira/browse/HBASE-14525 > Project: HBase > Issue Type: Bug > Components: shell >Affects Versions: 2.0.0 >Reporter: Abhishek Kumar >Assignee: Abhishek Kumar >Priority: Minor > Attachments: HBASE-14525.patch > > > When performing append operation on non-existing column families, > NullPointerException is thrown in hbase shell as shown below: > {noformat} > hbase(main):007:0> append 't1', 'r1', 'none:c1', '123' > ERROR: java.io.IOException > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175) > at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) > at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) > at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at org.apache.hadoop.hbase.regionserver.HRegion.doGet(HRegion.java:6987) > at org.apache.hadoop.hbase.regionserver.HRegion.append(HRegion.java:7048) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.append(RSRpcServices.java:580) > at > org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2206) > at > org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32452) > at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133) > ... 4 more > {noformat} > This seems to be caused by absence of check for valid family names as done in > other operations like 'Put' in HRegion.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-14525) Append operation throws NullPointerException when appending on non-existing column families.
Abhishek Kumar created HBASE-14525: -- Summary: Append operation throws NullPointerException when appending on non-existing column families. Key: HBASE-14525 URL: https://issues.apache.org/jira/browse/HBASE-14525 Project: HBase Issue Type: Bug Components: shell Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Minor When performing append operation on non-existing column families, NullPointerException is thrown in hbase shell as shown below: {noformat} hbase(main):007:0> append 't1', 'r1', 'none:c1', '123' ERROR: java.io.IOException at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2175) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:106) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.apache.hadoop.hbase.regionserver.HRegion.doGet(HRegion.java:6987) at org.apache.hadoop.hbase.regionserver.HRegion.append(HRegion.java:7048) at org.apache.hadoop.hbase.regionserver.RSRpcServices.append(RSRpcServices.java:580) at org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2206) at org.apache.hadoop.hbase.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:32452) at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2133) ... 4 more {noformat} This seems to be caused by absence of check for valid family names as done in other operations like 'Put' in HRegion.java -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13986) HMaster instance always returns false for isAborted() check.
[ https://issues.apache.org/jira/browse/HBASE-13986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13986: --- Attachment: HBASE-13986.patch attaching patch for review that sets the 'abortRequested' to true for master instance, so that all master flows using this flag (or isAborted method) gets abort flag value set. HMaster instance always returns false for isAborted() check. Key: HBASE-13986 URL: https://issues.apache.org/jira/browse/HBASE-13986 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Minor Attachments: HBASE-13986.patch It seems that HMaster never set abortRequested flag to true as done by HRegionServer in its abort() method.We can see isAborted method being used in few places for HMaster instance (like in HMasterCommandLine.startMaster) where code flow being determined based on the result of isAborted() call. We can set this abortRequested flag in Hmaster's abort() method as well like in HRegionServer's abort method, let me know if it seems ok. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13986) HMaster instance always returns false for isAborted() check.
[ https://issues.apache.org/jira/browse/HBASE-13986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13986: --- Status: Patch Available (was: Open) HMaster instance always returns false for isAborted() check. Key: HBASE-13986 URL: https://issues.apache.org/jira/browse/HBASE-13986 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Minor Attachments: HBASE-13986.patch It seems that HMaster never set abortRequested flag to true as done by HRegionServer in its abort() method.We can see isAborted method being used in few places for HMaster instance (like in HMasterCommandLine.startMaster) where code flow being determined based on the result of isAborted() call. We can set this abortRequested flag in Hmaster's abort() method as well like in HRegionServer's abort method, let me know if it seems ok. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13986) HMaster instance always returns false for isAborted() check.
[ https://issues.apache.org/jira/browse/HBASE-13986?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13986: --- Description: It seems that HMaster never set abortRequested flag to true as done by HRegionServer in its abort() method.We can see isAborted method being used in few places for HMaster instance (like in HMasterCommandLine.startMaster) where code flow being determined based on the result of isAborted() call. We can set this abortRequested flag in Hmaster's abort() method as well like in HRegionServer's abort method, let me know if it seems ok. was:It seems that HMaster never set abortRequested flag to true as done by HRegionServer in its abort() method.We can see isAborted method being used in few places for HMaster instance (like in HMasterCommandLine.startMaster) where code flow being determined based on the result of isAborted() call. HMaster instance always returns false for isAborted() check. Key: HBASE-13986 URL: https://issues.apache.org/jira/browse/HBASE-13986 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Minor It seems that HMaster never set abortRequested flag to true as done by HRegionServer in its abort() method.We can see isAborted method being used in few places for HMaster instance (like in HMasterCommandLine.startMaster) where code flow being determined based on the result of isAborted() call. We can set this abortRequested flag in Hmaster's abort() method as well like in HRegionServer's abort method, let me know if it seems ok. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13986) HMaster instance always returns false for isAborted() check.
Abhishek Kumar created HBASE-13986: -- Summary: HMaster instance always returns false for isAborted() check. Key: HBASE-13986 URL: https://issues.apache.org/jira/browse/HBASE-13986 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Minor It seems that HMaster never set abortRequested flag to true as done by HRegionServer in its abort() method.We can see isAborted method being used in few places for HMaster instance (like in HMasterCommandLine.startMaster) where code flow being determined based on the result of isAborted() call. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13746) list_replicated_tables command is not listing table in hbase shell.
[ https://issues.apache.org/jira/browse/HBASE-13746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13746: --- Attachment: HBASE-13746.patch double colon(::) operator can be used to access constants in the Jruby, patch attached for the same, pls have a look, thanks. list_replicated_tables command is not listing table in hbase shell. --- Key: HBASE-13746 URL: https://issues.apache.org/jira/browse/HBASE-13746 Project: HBase Issue Type: Bug Components: shell Affects Versions: 1.1.0 Reporter: Y. SREENIVASULU REDDY Assignee: Abhishek Kumar Attachments: HBASE-13746.patch IN HBase shell prompt execute the following command list_replicated_tables {code} hbase(main):014:0 list_replicated_tables TABLE:COLUMNFAMILY ReplicationType ERROR: undefined method `TNAME' for Java::OrgApacheHadoopHbaseClientReplication::ReplicationAdmin:Class Here is some help for this command: List all the tables and column families replicated from this cluster hbase list_replicated_tables hbase list_replicated_tables 'abc.*' {code} {code} list.select {|s| pattern.match(s.get(ReplicationAdmin.TNAME))} {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (HBASE-13746) list_replicated_tables command is not listing table in hbase shell.
[ https://issues.apache.org/jira/browse/HBASE-13746?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar reassigned HBASE-13746: -- Assignee: Abhishek Kumar list_replicated_tables command is not listing table in hbase shell. --- Key: HBASE-13746 URL: https://issues.apache.org/jira/browse/HBASE-13746 Project: HBase Issue Type: Bug Components: shell Affects Versions: 1.1.0 Reporter: Y. SREENIVASULU REDDY Assignee: Abhishek Kumar IN HBase shell prompt execute the following command list_replicated_tables {code} hbase(main):014:0 list_replicated_tables TABLE:COLUMNFAMILY ReplicationType ERROR: undefined method `TNAME' for Java::OrgApacheHadoopHbaseClientReplication::ReplicationAdmin:Class Here is some help for this command: List all the tables and column families replicated from this cluster hbase list_replicated_tables hbase list_replicated_tables 'abc.*' {code} {code} list.select {|s| pattern.match(s.get(ReplicationAdmin.TNAME))} {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13619) CreateTableHandler: postCreateTableHanler coprocessor runs as RemoteRpcUser privileged action.
Abhishek Kumar created HBASE-13619: -- Summary: CreateTableHandler: postCreateTableHanler coprocessor runs as RemoteRpcUser privileged action. Key: HBASE-13619 URL: https://issues.apache.org/jira/browse/HBASE-13619 Project: HBase Issue Type: Improvement Components: Coprocessors Reporter: Abhishek Kumar Priority: Minor It seems that post HBASE-11886 merge, in secure mode, custom master coprocessor 's postCreateTableHandler runs as remoteRPCUser privilege so will not be able to perform operation (such as hdfs operations) which requires master user privileges. Coprocessor developer can however, get around this by wrapping their code under master user privilege action by using User.runAsLoginUser, same can be documented. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14362798#comment-14362798 ] Abhishek Kumar commented on HBASE-13058: thanks Srikanth for your patch review/updates, let me know if any further updates needed for this patch. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Trivial Fix For: 2.0.0, 1.1.0 Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch, 0001-HBASE-13058-shell-unknown-table-message-update.patch, HBASE-13058-v2.patch, HBASE-13058_v2_rebased.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13058: --- Attachment: HBASE-13058-v2.patch updated patch attached,pls take a look and let me know ur views/suggestions. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Trivial Fix For: 2.0.0, 1.1.0 Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch, 0001-HBASE-13058-shell-unknown-table-message-update.patch, HBASE-13058-v2.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14339898#comment-14339898 ] Abhishek Kumar commented on HBASE-13058: actually i was thinking of removing such exception message parsing from 'translate_hbase_exceptions' as we already have access to args that we need, here is something i am thinking of: revert back to 'args.first' for both TableNotFound and TableExists exception(as large number of commands seems fine with this) add a call to command specific exception handling for commands so that individual commands can get a chance to deal with their exception before transferring control to a global handling, only small number of commands have table args which comes in after first argument and they can be handled in their respective command file with minimal changes.Also, some of these commands like grant seems to be already handling these TableNotFound exception as ArgumentError so not requiring any specific handling:- -- {noformat} def translate_hbase_exceptions(*args) yield rescue = e raise e unless e.respond_to?(:cause) e.cause != nil # Get the special java exception which will be handled cause = e.cause # handle command specific exceptions in respective command if needed if self.respond_to?(:handle_exceptions_locally) self.handle_exceptions_locally(cause, *args); end # Global HBase exception handling below if not handled by respective command if cause.kind_of?(org.apache.hadoop.hbase.TableNotFoundException) then raise Unknown table #{args.first}! end if cause.kind_of?(org.apache.hadoop.hbase.client.RetriesExhaustedWithDetailsException) then exceptions = cause.getCauses exceptions.each do |exception| if exception.kind_of?(org.apache.hadoop.hbase.regionserver.NoSuchColumnFamilyException) then valid_cols = table(args.first).get_all_columns.map { |c| c + '*' } raise Unknown column family! Valid column names: #{valid_cols.join(, )} end if exception.kind_of?(org.apache.hadoop.hbase.TableNotFoundException) then raise Unknown table #{args.first}! end end end if cause.kind_of?(org.apache.hadoop.hbase.TableExistsException) then raise Table already exists: #{args.first}! end . . {noformat} -- pls let me know your views/suggestions on above mentioned approach. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Trivial Fix For: 2.0.0, 1.1.0 Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch, 0001-HBASE-13058-shell-unknown-table-message-update.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ...
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14339931#comment-14339931 ] Abhishek Kumar commented on HBASE-13058: working on it, will submit soon. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Trivial Fix For: 2.0.0, 1.1.0 Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch, 0001-HBASE-13058-shell-unknown-table-message-update.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (HBASE-13080) Hbase shell message containing extra quote at the end of error message.
[ https://issues.apache.org/jira/browse/HBASE-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar reassigned HBASE-13080: -- Assignee: Abhishek Kumar Hbase shell message containing extra quote at the end of error message. --- Key: HBASE-13080 URL: https://issues.apache.org/jira/browse/HBASE-13080 Project: HBase Issue Type: Improvement Reporter: Abhishek Kumar Assignee: Abhishek Kumar Priority: Trivial Fix For: 2.0.0, 1.0.1, 1.1.0, 0.98.11 Attachments: 0001-HBASE-13080-remove-extra-quote-typo-V2.patch, 0001-HBASE-13080-remove-extra-quote-typo.patch {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.' --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.' {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13080) Hbase shell message containing extra quote at the end of error message.
[ https://issues.apache.org/jira/browse/HBASE-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13080: --- Attachment: 0001-HBASE-13080-remove-extra-quote-typo-V2.patch thanks Matteo, updated patch attached. Hbase shell message containing extra quote at the end of error message. --- Key: HBASE-13080 URL: https://issues.apache.org/jira/browse/HBASE-13080 Project: HBase Issue Type: Improvement Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13080-remove-extra-quote-typo-V2.patch, 0001-HBASE-13080-remove-extra-quote-typo.patch {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.' --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.' {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14332256#comment-14332256 ] Abhishek Kumar commented on HBASE-13058: was doing some test with other shell commands, got same issue in this place as well so thought of updating that one also. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch, 0001-HBASE-13058-shell-unknown-table-message-update.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13080) Hbase shell message containing extra quote at the end of error message.
[ https://issues.apache.org/jira/browse/HBASE-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13080: --- Description: {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.' --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.' {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} was: {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.*'* --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.*'* {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} Hbase shell message containing extra quote at the end of error message. --- Key: HBASE-13080 URL: https://issues.apache.org/jira/browse/HBASE-13080 Project: HBase Issue Type: Improvement Reporter: Abhishek Kumar Priority: Trivial {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.' --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.' {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13080) Hbase shell message containing extra quote at the end of error message.
Abhishek Kumar created HBASE-13080: -- Summary: Hbase shell message containing extra quote at the end of error message. Key: HBASE-13080 URL: https://issues.apache.org/jira/browse/HBASE-13080 Project: HBase Issue Type: Improvement Reporter: Abhishek Kumar Priority: Trivial {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.*'* --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.*'* {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13080) Hbase shell message containing extra quote at the end of error message.
[ https://issues.apache.org/jira/browse/HBASE-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13080: --- Attachment: 0001-HBASE-13080-remove-extra-quote-typo.patch Hbase shell message containing extra quote at the end of error message. --- Key: HBASE-13080 URL: https://issues.apache.org/jira/browse/HBASE-13080 Project: HBase Issue Type: Improvement Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13080-remove-extra-quote-typo.patch {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.' --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.' {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13058: --- Attachment: 0001-HBASE-13058-shell-unknown-table-message-update.patch shell modification patch attached, let me know your view on this. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch, 0001-HBASE-13058-shell-unknown-table-message-update.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13080) Hbase shell message containing extra quote at the end of error message.
[ https://issues.apache.org/jira/browse/HBASE-13080?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14328951#comment-14328951 ] Abhishek Kumar commented on HBASE-13080: patch attached, pls take a look at it. Hbase shell message containing extra quote at the end of error message. --- Key: HBASE-13080 URL: https://issues.apache.org/jira/browse/HBASE-13080 Project: HBase Issue Type: Improvement Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13080-remove-extra-quote-typo.patch {noformat} hbase(main):001:0 drop 't2' ERROR: Table t2 is enabled. Disable it first.' --- hbase(main):001:0 disable 'noTable' ERROR: Table csadfsdfsdf does not exist.' {noformat} extra quote at the end odf error message seems to be a typo, can be removed from below two methods in admin.rb : {noformat} # Throw exception if table doesn't exist def tableExists(table_name) raise ArgumentError, Table #{table_name} does not exist.' unless exists?(table_name) end # Drops a table def drop(table_name) tableExists(table_name) raise ArgumentError, Table #{table_name} is enabled. Disable it first.' if enabled?(table_name) {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14327410#comment-14327410 ] Abhishek Kumar commented on HBASE-13058: thanks Andrew for your input/comments :), i am thinking of modifying shell message in commands.rb file as follows: Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14327419#comment-14327419 ] Abhishek Kumar commented on HBASE-13058: pls let me know if above changes seems ok or should we try handling this particular exception in individual command files like scan.rb. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14327413#comment-14327413 ] Abhishek Kumar commented on HBASE-13058: . if cause.kind_of?(org.apache.hadoop.hbase.TableNotFoundException) then # commented below line and using first argument # str = java.lang.String.new(#{cause}) first_arg = args.first raise Unknown table #{first_arg}! end Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14324497#comment-14324497 ] Abhishek Kumar commented on HBASE-13058: well, changes will just get us the same consistent message for non-existent table and will get rid of somewhat unnecessary message in the end like got:someExistingTable [where 'someExistingTable' in error message can vary based on given table input name.] hbase(main):016:0 scan 'noTable' Before -- ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! After -- ERROR: Unknown table noTable! Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13058: --- Attachment: 0001-HBASE-13058-Error-messages-in-scan-table.patch patch attached, pls review. Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13058-Error-messages-in-scan-table.patch When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13050: --- Attachment: (was: 0001-HBASE-13050-Empty-Namespace-name-validation.patch) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050-Empty-Namespace-validation.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13050: --- Attachment: 0001-HBASE-13050-Empty-Namespace-validation.patch updated for checkstyle fix. Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050-Empty-Namespace-validation.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13050: --- Attachment: (was: 0001-HBASE-13050.patch) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050-Empty-Namespace-name-validation.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13050: --- Attachment: 0001-HBASE-13050-Empty-Namespace-name-validation.patch Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050-Empty-Namespace-name-validation.patch, 0001-HBASE-13050.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14323943#comment-14323943 ] Abhishek Kumar commented on HBASE-13050: Updated patch attached with empty Namespace test case (TestTableName.testEmptyNamespaceName) , pls take a look at it. Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050-Empty-Namespace-name-validation.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
[ https://issues.apache.org/jira/browse/HBASE-13058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13058: --- Description: When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. was: When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist): Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. -- Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist) in ConnectionManager.locateRegionInMeta: {noformat} private RegionLocations locateRegionInMeta(TableName tableName, byte[] row, boolean useCache, boolean retry, int replicaId) throws IOException { . // possible we got a region of a different table... if (!regionInfo.getTable().equals(tableName)) { throw new TableNotFoundException( Table ' + tableName + ' was not found, got: + regionInfo.getTable() + .); } ... ... {noformat} Here, we can simply put a debug message(if required) and just throw the TableNotFoundException(tableName) with only tableName instead of with scanner positioned row. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13058) Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table.
Abhishek Kumar created HBASE-13058: -- Summary: Hbase shell command 'scan' for non existent table shows unnecessary info for one unrelated existent table. Key: HBASE-13058 URL: https://issues.apache.org/jira/browse/HBASE-13058 Project: HBase Issue Type: Bug Components: Client Reporter: Abhishek Kumar Priority: Trivial When scanning for a non existent table in hbase shell, error message in shell sometimes(based on META table content) displays completely unrelated table info , which seems to be unnecessary and inconsistent with other error messages: {noformat} hbase(main):016:0 scan 'noTable' ROW COLUMN+CELL ERROR: Unknown table Table 'noTable' was not found, got: hbase:namespace.! - hbase(main):017:0 scan '01_noTable' ROW COLUMN+CELL ERROR: Unknown table 01_noTable! -- {noformat} Its happening when doing a META table scan (to locate input table ) and scanner stops at row of another table (beyond which table can not exist): -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
Abhishek Kumar created HBASE-13050: -- Summary: Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13050: --- Attachment: 0001-HBASE-13050.patch Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13050) Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input.
[ https://issues.apache.org/jira/browse/HBASE-13050?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14322800#comment-14322800 ] Abhishek Kumar commented on HBASE-13050: patch attached for this issue, please take a look at it. Hbase shell create_namespace command throws ArrayIndexOutOfBoundException for (invalid) empty text input. - Key: HBASE-13050 URL: https://issues.apache.org/jira/browse/HBASE-13050 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Trivial Attachments: 0001-HBASE-13050.patch {noformat} hbase(main):008:0 create_namespace '' ERROR: java.io.IOException: 0 at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2072) at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:107) at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:130) at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:107) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ArrayIndexOutOfBoundsException: 0 at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:222) at org.apache.hadoop.hbase.TableName.isLegalNamespaceName(TableName.java:205) {noformat} TableName.isLegalNamespaceName tries to access namespaceName[offset] in case of empty text input and also this check for 'offset==length' in this method seems to be unnecessary and an empty input validation check can be put in the beginning of this method instead: {noformat} public static void isLegalNamespaceName(byte[] namespaceName, int offset, int length) { // can add empty check in the beginning if(length == 0) { throw new IllegalArgumentException(Namespace name must not be empty); } // end for (int i = offset; i length; i++) { if (Character.isLetterOrDigit(namespaceName[i])|| namespaceName[i] == '_') { continue; } throw new IllegalArgumentException(Illegal character + namespaceName[i] + at + i + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); } // can remove below check if(offset == length) throw new IllegalArgumentException(Illegal character + _namespaceName[offset] _+ at + offset + . Namespaces can only contain + 'alphanumeric characters': i.e. [a-zA-Z_0-9]: + Bytes.toString(namespaceName, offset, length)); // } {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (HBASE-13024) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
[ https://issues.apache.org/jira/browse/HBASE-13024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar resolved HBASE-13024. Resolution: Duplicate Seems to be handled along with HBASE-12922. Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13024 URL: https://issues.apache.org/jira/browse/HBASE-13024 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor Attachments: 0001-HBASE-13024-Broken-document-link.patch *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} == this link currently pointing to http://hbase.apache.org/Users/stack/checkouts/hbase.git/target/site/apidocs/org/apache/hadoop/hbase/client/package-summary.html; instead of http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html; -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (HBASE-13024) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
[ https://issues.apache.org/jira/browse/HBASE-13024?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14317759#comment-14317759 ] Abhishek Kumar commented on HBASE-13024: patch for this issue attached, pls review the same. Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13024 URL: https://issues.apache.org/jira/browse/HBASE-13024 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor Attachments: 0001-HBASE-13024-Broken-document-link.patch *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} == this link currently pointing to http://hbase.apache.org/Users/stack/checkouts/hbase.git/target/site/apidocs/org/apache/hadoop/hbase/client/package-summary.html; instead of http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html; -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13024) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
[ https://issues.apache.org/jira/browse/HBASE-13024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13024: --- Description: *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} == this link currently pointing to http://hbase.apache.org/Users/stack/checkouts/hbase.git/target/site/apidocs/org/apache/hadoop/hbase/client/package-summary.html; instead of http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html; was: *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13024 URL: https://issues.apache.org/jira/browse/HBASE-13024 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} == this link currently pointing to http://hbase.apache.org/Users/stack/checkouts/hbase.git/target/site/apidocs/org/apache/hadoop/hbase/client/package-summary.html; instead of http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html; -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13025) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
Abhishek Kumar created HBASE-13025: -- Summary: Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13025 URL: https://issues.apache.org/jira/browse/HBASE-13025 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (HBASE-13024) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
Abhishek Kumar created HBASE-13024: -- Summary: Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13024 URL: https://issues.apache.org/jira/browse/HBASE-13024 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Resolved] (HBASE-13025) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
[ https://issues.apache.org/jira/browse/HBASE-13025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar resolved HBASE-13025. Resolution: Duplicate Duplicate of HBASE-13024 Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13025 URL: https://issues.apache.org/jira/browse/HBASE-13025 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (HBASE-13024) Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client'
[ https://issues.apache.org/jira/browse/HBASE-13024?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Abhishek Kumar updated HBASE-13024: --- Attachment: 0001-HBASE-13024-Broken-document-link.patch Broken link for Client Package Javadoc Description under section 61.1. Cluster Connections in 'http://hbase.apache.org/book.html#architecture.client' Key: HBASE-13024 URL: https://issues.apache.org/jira/browse/HBASE-13024 Project: HBase Issue Type: Bug Reporter: Abhishek Kumar Priority: Minor Attachments: 0001-HBASE-13024-Broken-document-link.patch *61.1. Cluster Connections* {quote} The API changed in HBase 1.0. Its been cleaned up and users are returned Interfaces to work against rather than particular types. In HBase 1.0, obtain a cluster Connection from ConnectionFactory and thereafter, get from it instances of Table, Admin, and RegionLocator on an as-need basis. When done, close obtained instances. Finally, be sure to cleanup your Connection instance before exiting. Connections are heavyweight objects. Create once and keep an instance around. Table, Admin and RegionLocator instances are lightweight. Create as you go and then let go as soon as you are done by closing them. See the {color:red}Client Package Javadoc Description{color} for example usage of the new HBase 1.0 API. {quote} == this link currently pointing to http://hbase.apache.org/Users/stack/checkouts/hbase.git/target/site/apidocs/org/apache/hadoop/hbase/client/package-summary.html; instead of http://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/package-summary.html; -- This message was sent by Atlassian JIRA (v6.3.4#6332)