You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by ap...@apache.org on 2008/12/08 04:20:44 UTC
svn commit: r724238 [3/3] - in /hadoop/hbase/branches/0.19_on_hadoop_0.18:
./ conf/ src/java/org/apache/hadoop/hbase/
src/java/org/apache/hadoop/hbase/client/
src/java/org/apache/hadoop/hbase/io/ src/java/org/apache/hadoop/hbase/ipc/
src/java/org/apach...
Added: hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/rest/package.html
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/rest/package.html?rev=724238&view=auto
==============================================================================
--- hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/rest/package.html (added)
+++ hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/rest/package.html Sun Dec 7 19:20:43 2008
@@ -0,0 +1,112 @@
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
+<html>
+
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<head/>
+
+<body bgcolor="white">
+Provides an HBase
+<a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">
+REST</a> service.
+
+This directory contains a REST service implementation for an Hbase RPC
+service.
+
+<h2><a name="description">Description</a></h2>
+<p>
+By default, an instance of the REST servlet runs in the master UI; just browse
+to [WWW] http://MASTER_HOST:MASTER_PORT/api/ (Results are returned as xml by
+default so you may have to look at source to see results).
+
+If you intend to use the hbase REST API heavily, to run an instance of the RES
+T server outside of the master, do the following:
+ <pre>
+cd $HBASE_HOME
+bin/hbase rest start
+ </pre>
+The default port is 60050.
+</p>
+
+<h2><a name="uri">URI</a></h2>
+<h3><a name="uri#meta">System Operation</a></h3>
+<ul>
+ <li>GET / : Retrieve a list of all the tables in HBase.</li>
+</ul>
+
+<h3><a name="uri#table">Table Operation</a></h3>
+<ul>
+ <li>POST / : Create a table</li>
+
+ <li>GET /[table_name] : Retrieve metadata about the table</li>
+
+ <li>PUT /[table_name] : Update the table schema</li>
+
+ <li>DELETE /[table_name] : Delete the table</li>
+
+ <li>POST /[table_name]/disable : Disable the table</li>
+
+ <li>POST /[table_name]/enable : Enable the table</li>
+
+ <li>GET /[table_name]/regions : Retrieve a list of the regions for this table
+ so that you can efficiently split up the work</li>
+</ul>
+
+<h3><a name="uri#row">Row Operation</a></h3>
+<ul>
+ <li>GET /[table_name]/row/[row_key]/timestamps : Retrieve a list of all the
+ timestamps available for this row key (Not supported by native hbase yet)</li>
+
+ <li>GET /[table_name]/row/[row_key] : Retrieve data from a
+ row. If column not specified, return all columns</li>
+
+ <li>GET /[table_name]/row/[row_key]/[timestamp] : Retrieve
+ data from a row, constrained by the timestamp value. If column not specified,
+ return all columns</li>
+
+ <li>POST/PUT /[table_name]/row/[row_key] : Set the value of one or more
+ columns for a given row key</li>
+
+ <li>POST/PUT /[table_name]/row/[row_key]/[timestamp] : Set the value of one
+ or more columns for a given row key with an optional timestamp</li>
+
+ <li>DELETE /[table_name]/row/[row_key]/ : Delete the specified columns from
+ the row. If there are no columns specified, then it will delete ALL columns</li>
+
+ <li>DELETE /[table_name]/row/[row_key]/[timestamp] : Delete the specified
+ columns from the row constrained by the timestamp. If there are no columns
+ specified, then it will delete ALL columns. Not supported yet.</li>
+</ul>
+
+<h3><a name="uri#scanner">Scanner Operation</a></h3>
+<ul>
+ <li>POST/PUT /[table_name]/scanner : Request that a scanner be created with
+ the specified options. Returns a scanner ID that can be used to iterate over
+ the results of the scanner</li>
+
+ <li>POST /[table_name]/scanner/[scanner_id] : Return the current item in the
+ scanner and advance to the next one. Think of it as a queue dequeue operation</li>
+
+ <li>DELETE /[table_name]/scanner/[scanner_id] : Close a scanner</li>
+</ul>
+<p>
+For examples and more details, please visit
+<a href="http://wiki.apache.org/hadoop/Hbase/HbaseRest">HBaseRest Wiki</a> page.
+</p>
+</body>
+</html>
Modified: hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/util/Sleeper.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/util/Sleeper.java?rev=724238&r1=724237&r2=724238&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/util/Sleeper.java (original)
+++ hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/apache/hadoop/hbase/util/Sleeper.java Sun Dec 7 19:20:43 2008
@@ -66,11 +66,14 @@
LOG.warn("Calculated wait time > " + this.period +
"; setting to this.period: " + System.currentTimeMillis() + ", " +
startTime);
+ waitTime = this.period;
}
- if (waitTime > 0) {
+ while (waitTime > 0) {
+ long woke = -1;
try {
Thread.sleep(waitTime);
- long slept = System.currentTimeMillis() - now;
+ woke = System.currentTimeMillis();
+ long slept = woke - now;
if (slept > (10 * this.period)) {
LOG.warn("We slept " + slept + "ms, ten times longer than scheduled: " +
this.period);
@@ -82,6 +85,9 @@
return;
}
}
+ // Recalculate waitTime.
+ woke = (woke == -1)? System.currentTimeMillis(): woke;
+ waitTime = this.period - (woke - startTime);
}
}
}
Modified: hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/onelab/filter/Filter.java
URL: http://svn.apache.org/viewvc/hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/onelab/filter/Filter.java?rev=724238&r1=724237&r2=724238&view=diff
==============================================================================
--- hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/onelab/filter/Filter.java (original)
+++ hadoop/hbase/branches/0.19_on_hadoop_0.18/src/java/org/onelab/filter/Filter.java Sun Dec 7 19:20:43 2008
@@ -98,7 +98,7 @@
* @param nbHash The number of hash functions to consider.
* @param hashType type of the hashing function (see {@link Hash}).
*/
- protected Filter(int vectorSize, int nbHash, int hashType){
+ protected Filter(int vectorSize, int nbHash, int hashType) {
this.vectorSize = vectorSize;
this.nbHash = nbHash;
this.hashType = hashType;