Every time src/webapps/master/WEB-INF/web.xml is autogenerated you
can flip a coin as to which order these statements will have:
Index: web.xml
===================================================================
--- web.xml (revision 731999)
+++ web.xml (working copy)
@@ -15,13 +15,13 @@
</servlet>
<servlet>
-
<servlet-name>org.apache.hadoop.hbase.generated.master.regionhistorian_jsp</servlet-name>
-
<servlet-class>org.apache.hadoop.hbase.generated.master.regionhistorian_jsp</servlet-class>
+
<servlet-name>org.apache.hadoop.hbase.generated.master.table_jsp</servlet-name>
+
<servlet-class>org.apache.hadoop.hbase.generated.master.table_jsp</servlet-class>
</servlet>
<servlet>
-
<servlet-name>org.apache.hadoop.hbase.generated.master.table_jsp</servlet-name>
-
<servlet-class>org.apache.hadoop.hbase.generated.master.table_jsp</servlet-class>
+
<servlet-name>org.apache.hadoop.hbase.generated.master.regionhistorian_jsp</servlet-name>
+
<servlet-class>org.apache.hadoop.hbase.generated.master.regionhistorian_jsp</servlet-class>
</servlet>
<servlet-mapping>
@@ -30,13 +30,13 @@
</servlet-mapping>
<servlet-mapping>
-
<servlet-name>org.apache.hadoop.hbase.generated.master.regionhistorian_jsp</servlet-name>
- <url-pattern>/regionhistorian.jsp</url-pattern>
+
<servlet-name>org.apache.hadoop.hbase.generated.master.table_jsp</servlet-name>
+ <url-pattern>/table.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
-
<servlet-name>org.apache.hadoop.hbase.generated.master.table_jsp</servlet-name>
- <url-pattern>/table.jsp</url-pattern>
+
<servlet-name>org.apache.hadoop.hbase.generated.master.regionhistorian_jsp</servlet-name>
+ <url-pattern>/regionhistorian.jsp</url-pattern>
</servlet-mapping>
</web-app>
- Andy
> From: stack (JIRA) <[email protected]>
> Subject: [jira] Commented: (HBASE-1064) HBase REST xml/json improvements
> To: [email protected]
> Date: Friday, January 9, 2009, 3:47 PM
> [
> https://issues.apache.org/jira/browse/HBASE-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12662561#action_12662561
> ]
>
> stack commented on HBASE-1064:
> ------------------------------
>
> Update your hbase or leave this out of your patch
> 'Index: src/webapps/master/WEB-INF/web.xml'. This
> caused it fail to apply to trunk (Not yo really. I need to
> figure whats going on here...in this generated code).
>
> I figured out that I need to add the json.jar -- what would
> be a better name for this jar -- but how should I fix these
> Brian?
>
> {code}
>
> compile:
> [javac] Compiling 276 source files to
> /Users/stack/Documents/checkouts/cleantrunk/build/classes
> [javac]
> /Users/stack/Documents/checkouts/cleantrunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java:37:
> package org.simpleframework.xml does not exist
> [javac] import org.simpleframework.xml.Element;
> [javac] ^
> [javac]
> /Users/stack/Documents/checkouts/cleantrunk/src/java/org/apache/hadoop/hbase/HColumnDescriptor.java:38:
> package org.simpleframework.xml does not exist
> [javac] import org.simpleframework.xml.Root;
>
> {code}
>
>
>
> > HBase REST xml/json improvements
> > --------------------------------
> >
> > Key: HBASE-1064
> > URL:
> https://issues.apache.org/jira/browse/HBASE-1064
> > Project: Hadoop HBase
> > Issue Type: Improvement
> > Components: rest
> > Reporter: Brian Beggs
> > Attachments: hbase-1064-patch-v2.patch,
> json2.jar, REST-Upgrade-Notes.txt, RESTPatch-pass1.patch
> >
> >
> > I've begun work on creating a REST based interface
> for HBase that can use both JSON and XML and would be
> extensible enough to add new formats down the road. I'm
> at a point with this where I would like to submit it for
> review and to get feedback as I continue to work towards new
> features.
> > Attached to this issue you will find the patch for the
> changes to this point along with a necessary jar file for
> the JSON serialization. Also below you will find my notes
> on how to use what is finished with the interface to this
> point.
> > This patch is based off of jira issues:
> > HBASE-814 and HBASE-815
> > I am interested on gaining feedback on:
> > -what you guys think works
> > -what doesn't work for the project
> > -anything that may need to be added
> > -code style
> > -anything else...
> > Finished components:
> > -framework around parsing json/xml input
> > -framework around serialzing xml/json output
> > -changes to exception handing
> > -changes to the response object to better handle the
> serializing of output data
> > -table CRUD calls
> > -Full table fetching
> > -creating/fetching scanners
> > TODO:
> > -fix up the filtering with scanners
> > -row insert/delete operations
> > -individual row fetching
> > -cell fetching interface
> > -scanner use interface
> > Here are the wiki(ish) notes for what is done to this
> point:
> > REST Service for HBASE Notes:
> > GET /
> > -retrieves a list of all the tables with their meta
> data in HBase
> > curl -v -H "Accept: text/xml" -X GET -T -
> http://localhost:60050/
> > curl -v -H "Accept: application/json" -X GET
> -T - http://localhost:60050/
> > POST /
> > -Create a table
> > curl -H "Content-Type: text/xml" -H
> "Accept: text/xml" -v -X POST -T -
> http://localhost:60050/newTable
> > <table>
> > <name>test14</name>
> > <columnfamilies>
> > <columnfamily>
> > <name>subscription</name>
> > <max-versions>2</max-versions>
> > <compression>NONE</compression>
> > <in-memory>false</in-memory>
> > <block-cache>true</block-cache>
> > </columnfamily>
> > </columnfamilies>
> > </table>
> > Response:
> >
> <status><code>200</code><message>success</message></status>
> > JSON:
> > curl -H "Content-Type: application/json" -H
> "Accept: application/json" -v -X POST -T -
> http://localhost:60050/newTable
> > {"name":"test5",
> "column_families":[{
> > "name":"columnfam1",
> > "bloomfilter":true,
> > "time_to_live":10,
> > "in_memory":false,
> > "max_versions":2,
> > "compression":"",
> > "max_value_length":50,
> > "block_cache_enabled":true
> > }
> > ]}
> > *NOTE* this is an enum defined in class
> HColumnDescriptor.CompressionType
> > GET /[table_name]
> > -returns all records for the table
> > curl -v -H "Accept: text/xml" -X GET -T -
> http://localhost:60050/tablename
> > curl -v -H "Accept: application/json" -X GET
> -T - http://localhost:60050/tablename
> > GET /[table_name]
> > -Parameter Action
> > metadata - returns the metadata for this table.
> > regions - returns the regions for this table
> > curl -v -H "Accept: text/xml" -X GET -T -
> http://localhost:60050/pricing1?action=metadata
> > Update Table
> > PUT /[table_name]
> > -updates a table
> > curl -v -H "Content-Type: text/xml" -H
> "Accept: text/xml" -X PUT -T -
> http://localhost:60050/pricing1
> > <columnfamilies>
> > <columnfamily>
> > <name>subscription</name>
> > <max-versions>3</max-versions>
> > <compression>NONE</compression>
> > <in-memory>false</in-memory>
> > <block-cache>true</block-cache>
> > </columnfamily>
> > <columnfamily>
> > <name>subscription1</name>
> > <max-versions>3</max-versions>
> > <compression>NONE</compression>
> > <in-memory>false</in-memory>
> > <block-cache>true</block-cache>
> > </columnfamily>
> > </columnfamilies>
> > curl -v -H "Content-Type: application/json"
> -H "Accept: application/json" -X PUT -T -
> http://localhost:60050/pricing1
> > {"column_families":[{
> > "name":"columnfam1",
> > "bloomfilter":true,
> > "time_to_live":10,
> > "in_memory":false,
> > "max_versions":2,
> > "compression":"",
> > "max_value_length":50,
> > "block_cache_enabled":true
> > },
> > {
> > "name":"columnfam2",
> > "bloomfilter":true,
> > "time_to_live":10,
> > "in_memory":false,
> > "max_versions":2,
> > "compression":"",
> > "max_value_length":50,
> > "block_cache_enabled":true
> > }
> > ]}
> > Delete Table
> > curl -v -H "Content-Type: text/xml" -H
> "Accept: text/xml" -X DELETE -T -
> http://localhost:60050/TEST16
> > creating a scanner
> > curl -v -H "Content-Type: application/json"
> -H "Accept: application/json" -X POST -T -
> http://localhost:60050/TEST16?action=newscanner
> > //TODO fix up the scanner filters.
> > response:
> > xml:
> > <scanner>
> > <id>
> > 2
> > </id>
> > </scanner>
> > json:
> > {"id":1}
> > Using a scanner
> > curl -v -H "Content-Type: application/json"
> -H "Accept: application/json" -X POST -T -
> "http://localhost:60050/TEST16?action=scan&scannerId=<scannerID>&numrows=<num
> rows to return>"
> > This would be my first submission to an open source
> project of this size, so please, give it to me rough. =)
> > Thanks.
>
> --
> This message is automatically generated by JIRA.
> -
> You can reply to this email to add a comment to the issue
> online.