<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Hbase REST API, Globbing Rows undocumented behaviour in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207289#M169250</link>
    <description>&lt;P&gt;We engaged vendor professional support and we discovered that:
1- There is an internal thread on HBase REST API documentation that needs enhancement

2- It is possible to use this endpoint (but is not safe if you not have the control of the client that call the service) and, because it can cause OOM, is better/mandatory to use kerberos auth for Hbase REST API&lt;/P&gt;</description>
    <pubDate>Tue, 27 Jun 2017 15:55:00 GMT</pubDate>
    <dc:creator>seleoni</dc:creator>
    <dc:date>2017-06-27T15:55:00Z</dc:date>
    <item>
      <title>Hbase REST API, Globbing Rows undocumented behaviour</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207287#M169248</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;In our cluster we would like to retrive rows from Hbase in the simpliest available way using a REST API.&lt;/P&gt;&lt;P&gt;To retrive multiple rows with a REST call (GET) we can use the "Globbing Rows" REST api documented here -&amp;gt; &lt;A href="https://hbase.apache.org/1.2/book.html#_rest"&gt;https://hbase.apache.org/1.2/book.html#_rest&lt;/A&gt; in this way:&lt;/P&gt;&lt;PRE&gt;http://hbase_url:hbase_port/namespace:table/keywithwildcard*/[...]&lt;/PRE&gt;&lt;P&gt;We discovered that there is an undocumented behaviour. We can call the globbing REST api using startrow,endrow parameter in this way:&lt;/P&gt;&lt;PRE&gt;http://hbase_url:hbase_port/namespace:table/startrow,endorow/[...]&lt;/PRE&gt;&lt;P&gt;In this case it works exaclty as a scan (and it breaks the rest server if you try to retreive too many rows).&lt;/P&gt;&lt;P&gt;We also searched in this hbase souce code mirror (&lt;A href="https://github.com/apache/hbase/blob/master/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/RowSpec.java"&gt;https://github.com/apache/hbase/blob/master/hbase-rest/src/main/java/org/apache/hadoop/hbase/rest/Ro...&lt;/A&gt;) and noticed that the code is intended to work like this (function private int parseRowKeys(final String path, int i) line 65-110).&lt;/P&gt;&lt;P&gt;Why is this behaviour not documented?&lt;/P&gt;&lt;P&gt;Is it safe to use (with restriction) this REST call instead of use a scanner or the absence of documentation means that the function will change without any comunication (not even the "deprecated" stuff)?&lt;/P&gt;</description>
      <pubDate>Tue, 13 Jun 2017 16:17:48 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207287#M169248</guid>
      <dc:creator>seleoni</dc:creator>
      <dc:date>2017-06-13T16:17:48Z</dc:date>
    </item>
    <item>
      <title>Re: Hbase REST API, Globbing Rows undocumented behaviour</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207288#M169249</link>
      <description>&lt;P&gt;I would never rely on undocumented code. This is likely exposed because there is no functionality built into the REST server to safely handle it. If a client would request too much data than the REST server can fit into memory, it will cause an OutOfMemoryError and crash.&lt;/P&gt;</description>
      <pubDate>Wed, 14 Jun 2017 22:40:56 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207288#M169249</guid>
      <dc:creator>elserj</dc:creator>
      <dc:date>2017-06-14T22:40:56Z</dc:date>
    </item>
    <item>
      <title>Re: Hbase REST API, Globbing Rows undocumented behaviour</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207289#M169250</link>
      <description>&lt;P&gt;We engaged vendor professional support and we discovered that:
1- There is an internal thread on HBase REST API documentation that needs enhancement

2- It is possible to use this endpoint (but is not safe if you not have the control of the client that call the service) and, because it can cause OOM, is better/mandatory to use kerberos auth for Hbase REST API&lt;/P&gt;</description>
      <pubDate>Tue, 27 Jun 2017 15:55:00 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Hbase-REST-API-Globbing-Rows-undocumented-behaviour/m-p/207289#M169250</guid>
      <dc:creator>seleoni</dc:creator>
      <dc:date>2017-06-27T15:55:00Z</dc:date>
    </item>
  </channel>
</rss>

