Review Board 1.7.22


HBase-5619, the ProtoBuff HRegionProtocol.

Review Request #4054 - Created Feb. 27, 2012 and submitted

Jimmy Xiang
HBASE-5619
Reviewers
hbase
hbase-git
This is the first draft of the ProtoBuff HRegionProtocol.  The corresponding java vs pb method mapping is attached to the jira: https://issues.apache.org/jira/browse/HBASE-5443

Please review.  I'd like to move ahead after we get to some agreement.

 

Changes between revision 1 and 4

1 2 3 4 5 6
1 2 3 4 5 6

  1. pom.xml: Loading...
  2. src/main/proto/HRegionProtocol.proto: Loading...
  3. src/main/proto/RegionAdmin.proto: Loading...
  4. src/main/proto/RegionClient.proto: Loading...
  5. src/main/proto/hbase.proto: Loading...
pom.xml
Diff Revision 1 Diff Revision 4
[20] 33 lines
[+20]
34
  </parent>
34
  </parent>
35

    
   
35

   
36
  <groupId>org.apache.hbase</groupId>
36
  <groupId>org.apache.hbase</groupId>
37
  <artifactId>hbase</artifactId>
37
  <artifactId>hbase</artifactId>
38
  <packaging>jar</packaging>
38
  <packaging>jar</packaging>
39
  <version>0.93-SNAPSHOT</version>
39
  <version>0.95-SNAPSHOT</version>
40
  <name>HBase</name>
40
  <name>HBase</name>
41
  <description>
41
  <description>
42
    HBase is the &amp;lt;a href="http://hadoop.apache.org"&amp;rt;Hadoop&lt;/a&amp;rt; database. Use it when you need
42
    HBase is the &amp;lt;a href="http://hadoop.apache.org"&amp;rt;Hadoop&lt;/a&amp;rt; database. Use it when you need
43
    random, realtime read/write access to your Big Data.
43
    random, realtime read/write access to your Big Data.
44
    This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters
44
    This project's goal is the hosting of very large tables -- billions of rows X millions of columns -- atop clusters
[+20] [20] 278 lines
[+20]
323
         These plugins inherit their options from the <reporting> section below. These settings
323
         These plugins inherit their options from the <reporting> section below. These settings
324
         can be overwritten here. -->
324
         can be overwritten here. -->
325
    <pluginManagement>
325
    <pluginManagement>
326
      <plugins>
326
      <plugins>
327
        <plugin>
327
        <plugin>

    
   
328
          <groupId>org.apache.maven.plugins</groupId>

    
   
329
          <artifactId>maven-release-plugin</artifactId>

    
   
330
          <!--Making a release I've been using mvn 3.0 and specifying the apache-release

    
   
331
              profile on the command line as follows:

    
   
332

   

    
   
333
              $ ~/bin/mvn/bin/mvn  -Papache-release release:perform

    
   
334
              

    
   
335
              I've also been kiling the release:prepare step mid-way to check the

    
   
336
              release.properties it generates at the top-level.  Sometimes it refers

    
   
337
              to HEAD rather than to the svn branch.

    
   
338
           -->

    
   
339
          <configuration>

    
   
340
            <!--You need this profile. It'll sign your artifacts.

    
   
341
                I'm not sure if this config. actually works though.

    
   
342
                I've been specifying -Papache-release on the command-line

    
   
343
             -->

    
   
344
            <releaseProfiles>apache-release</releaseProfiles>

    
   
345
            <!--This stops our running tests for each stage of maven release.

    
   
346
                But it builds the test jar.  From SUREFIRE-172.      

    
   
347
              -->

    
   
348
            <arguments>-Dmaven.test.skip.exec</arguments>

    
   
349
          </configuration>

    
   
350
        </plugin>

    
   
351
        <plugin>
328
          <artifactId>maven-compiler-plugin</artifactId>
352
          <artifactId>maven-compiler-plugin</artifactId>
329
          <configuration>
353
          <configuration>
330
            <source>${compileSource}</source>
354
            <source>${compileSource}</source>
331
            <target>${compileSource}</target>
355
            <target>${compileSource}</target>
332
            <showWarnings>true</showWarnings>
356
            <showWarnings>true</showWarnings>
[+20] [20] 16 lines
[+20]
349
          </dependencies>
373
          </dependencies>
350

    
   
374

   
351
          <configuration>
375
          <configuration>
352
            <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
376
            <forkedProcessTimeoutInSeconds>900</forkedProcessTimeoutInSeconds>
353
            <argLine>-enableassertions -Xmx1900m -Djava.security.egd=file:/dev/./urandom</argLine>
377
            <argLine>-enableassertions -Xmx1900m -Djava.security.egd=file:/dev/./urandom</argLine>
354
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
378
            <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
355
          </configuration>
379
          </configuration>
356
        </plugin>
380
        </plugin>
357
        <plugin>
381
        <plugin>
358
          <groupId>org.apache.maven.plugins</groupId>
382
          <groupId>org.apache.maven.plugins</groupId>
359
          <artifactId>maven-site-plugin</artifactId>
383
          <artifactId>maven-site-plugin</artifactId>
[+20] [20] 17 lines
[+20]
377
            <excludes>
401
            <excludes>
378
              <exlude>${unittest.include}</exlude>
402
              <exlude>${unittest.include}</exlude>
379
              <exclude>**/*$*</exclude>
403
              <exclude>**/*$*</exclude>
380
              <exclude>${test.exclude.pattern}</exclude>
404
              <exclude>${test.exclude.pattern}</exclude>
381
            </excludes>
405
            </excludes>
382
            <redirectTestOutputToFile>true</redirectTestOutputToFile>
406
            <redirectTestOutputToFile>${test.output.tofile}</redirectTestOutputToFile>
383
            <environmentVariables>
407
            <environmentVariables>
384
              <LD_LIBRARY_PATH>${env.LD_LIBRARY_PATH}:${project.build.directory}/nativelib</LD_LIBRARY_PATH>
408
              <LD_LIBRARY_PATH>${env.LD_LIBRARY_PATH}:${project.build.directory}/nativelib</LD_LIBRARY_PATH>
385
              <DYLD_LIBRARY_PATH>${env.DYLD_LIBRARY_PATH}:${project.build.directory}/nativelib</DYLD_LIBRARY_PATH>
409
              <DYLD_LIBRARY_PATH>${env.DYLD_LIBRARY_PATH}:${project.build.directory}/nativelib</DYLD_LIBRARY_PATH>

    
   
410
              <MALLOC_ARENA_MAX>4</MALLOC_ARENA_MAX>
386
            </environmentVariables>
411
            </environmentVariables>
387
          </configuration>
412
          </configuration>
388
          <executions>
413
          <executions>
389
            <execution>
414
            <execution>
390
              <id>integration-test</id>
415
              <id>integration-test</id>
[+20] [20] 95 lines
[+20]
486
          <artifactId>apache-rat-plugin</artifactId>	  
511
          <artifactId>apache-rat-plugin</artifactId>	  
487
          <version>0.8</version>
512
          <version>0.8</version>
488
          <configuration>
513
          <configuration>
489
            <excludes>
514
            <excludes>
490
              <exclude>**/.*</exclude>
515
              <exclude>**/.*</exclude>

    
   
516
              <exclude>**/*.tgz</exclude>

    
   
517
              <exclude>**/*.orig</exclude>

    
   
518
              <exclude>**/test/**</exclude>

    
   
519
              <exclude>**/8e8ab58dcf39412da19833fcd8f687ac</exclude>
491
              <exclude>**/.git/**</exclude>
520
              <exclude>**/.git/**</exclude>
492
              <exclude>**/target/**</exclude>
521
              <exclude>**/target/**</exclude>
493
              <exclude>**/CHANGES.txt</exclude>
522
              <exclude>**/CHANGES.txt</exclude>
494
              <exclude>**/generated/**</exclude>
523
              <exclude>**/generated/**</exclude>
495
              <exclude>**/conf/*</exclude>
524
              <exclude>**/conf/*</exclude>
[+20] [20] 246 lines
[+20]
742
              <goal>run</goal>
771
              <goal>run</goal>
743
            </goals>
772
            </goals>
744
            <configuration>
773
            <configuration>
745
              <target>
774
              <target>
746
                <echo file="target/compile-proto.sh">
775
                <echo file="target/compile-proto.sh">
747
                    PROTO_DIR=src/main/proto
776
                    UNIX_PROTO_DIR=src/main/proto
748
                    JAVA_DIR=target/generated-sources/java
777
                    JAVA_DIR=target/generated-sources/java

    
   
778
                    mkdir -p $JAVA_DIR 2> /dev/null
749
                    which cygpath 2> /dev/null
779
                    which cygpath 2> /dev/null
750
                    if [ $? = 1 ]; then
780
                    if [ $? = 1 ]; then
751
                      IS_WIN=false
781
                      PROTO_DIR=$UNIX_PROTO_DIR
752
                    else
782
                    else
753
                      IS_WIN=true
783
                      PROTO_DIR=`cygpath --windows $UNIX_PROTO_DIR`
754
                      WIN_PROTO_DIR=`cygpath --windows $PROTO_DIR`
784
                      JAVA_DIR=`cygpath --windows $JAVA_DIR`
755
                      WIN_JAVA_DIR=`cygpath --windows $JAVA_DIR`

   
756
                    fi
785
                    fi
757
                    mkdir -p $JAVA_DIR 2> /dev/null
786
                    for PROTO_FILE in `ls $UNIX_PROTO_DIR/*.proto 2> /dev/null`
758
                    for PROTO_FILE in `ls $PROTO_DIR/*.proto 2> /dev/null`

   
759
                    do
787
                    do
760
                        if [ "$IS_WIN" = "true" ]; then

   
761
                          protoc -I$WIN_PROTO_DIR --java_out=$WIN_JAVA_DIR $PROTO_FILE

   
762
                        else

   
763
                          protoc -I$PROTO_DIR --java_out=$JAVA_DIR $PROTO_FILE
788
                      protoc -I$PROTO_DIR --java_out=$JAVA_DIR $PROTO_FILE
764
                        fi

   
765
                    done
789
                    done
766
                </echo>
790
                </echo>
767
                <exec executable="sh" dir="${basedir}" failonerror="true">
791
                <exec executable="sh" dir="${basedir}" failonerror="true">
768
                  <arg line="target/compile-proto.sh"/>
792
                  <arg line="target/compile-proto.sh"/>
769
                </exec>
793
                </exec>
[+20] [20] 255 lines
[+20]
1025
    <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1049
    <surefire.firstPartThreadCount>1</surefire.firstPartThreadCount>
1026
    <surefire.secondPartThreadCount>2</surefire.secondPartThreadCount>
1050
    <surefire.secondPartThreadCount>2</surefire.secondPartThreadCount>
1027

    
   
1051

   
1028
    <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
1052
    <surefire.firstPartGroups>org.apache.hadoop.hbase.SmallTests</surefire.firstPartGroups>
1029
    <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups>
1053
    <surefire.secondPartGroups>org.apache.hadoop.hbase.MediumTests</surefire.secondPartGroups>

    
   
1054
    <test.output.tofile>true</test.output.tofile>
1030
  </properties>
1055
  </properties>
1031

    
   
1056

   
1032
  <!-- Sorted by groups of dependencies then groupId and artifactId -->
1057
  <!-- Sorted by groups of dependencies then groupId and artifactId -->
1033
  <dependencies>
1058
  <dependencies>
1034
    <!--
1059
    <!--
[+20] [20] 800 lines
[+20]
1835
          <name>hadoop.profile</name>
1860
          <name>hadoop.profile</name>
1836
          <value>23</value>
1861
          <value>23</value>
1837
        </property>
1862
        </property>
1838
      </activation>
1863
      </activation>
1839
      <properties>
1864
      <properties>
1840
        <hadoop.version>0.23.1-SNAPSHOT</hadoop.version>
1865
        <hadoop.version>0.23.2-SNAPSHOT</hadoop.version>
1841
      </properties>
1866
      </properties>
1842
      <dependencies>
1867
      <dependencies>
1843
        <dependency>
1868
        <dependency>
1844
          <groupId>org.apache.hadoop</groupId>
1869
          <groupId>org.apache.hadoop</groupId>
1845
          <artifactId>hadoop-client</artifactId>
1870
          <artifactId>hadoop-client</artifactId>
[+20] [20] 34 lines
[+20]
1880
                  </resources>
1905
                  </resources>
1881
                </configuration>
1906
                </configuration>
1882
              </execution>
1907
              </execution>
1883
            </executions>
1908
            </executions>
1884
          </plugin>
1909
          </plugin>

    
   
1910
          <plugin>

    
   
1911
            <artifactId>maven-dependency-plugin</artifactId>

    
   
1912
            <executions>

    
   
1913
              <execution>

    
   
1914
                <id>create-mrapp-generated-classpath</id>

    
   
1915
                <phase>generate-test-resources</phase>

    
   
1916
                <goals>

    
   
1917
                  <goal>build-classpath</goal>

    
   
1918
                </goals>

    
   
1919
                <configuration>

    
   
1920
                  <!-- needed to run the unit test for DS to generate

    
   
1921
                  the required classpath that is required in the env

    
   
1922
                  of the launch container in the mini mr/yarn cluster

    
   
1923
                  -->

    
   
1924
                  <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>

    
   
1925
                </configuration>

    
   
1926
              </execution>

    
   
1927
            </executions>

    
   
1928
          </plugin>
1885
        </plugins>
1929
        </plugins>
1886
      </build>
1930
      </build>
1887
    </profile>
1931
    </profile>
1888

    
   
1932

   

    
   
1933
    <!--

    
   
1934
      profile for building against Hadoop 0.24.0. Activate using:

    
   
1935
       mvn -Dhadoop.profile=24

    
   
1936
    -->

    
   
1937
    <profile>

    
   
1938
      <id>hadoop-0.24</id>

    
   
1939
      <activation>

    
   
1940
        <property>

    
   
1941
          <name>hadoop.profile</name>

    
   
1942
          <value>24</value>

    
   
1943
        </property>

    
   
1944
      </activation>

    
   
1945
      <properties>

    
   
1946
        <hadoop.version>0.24.0-SNAPSHOT</hadoop.version>

    
   
1947
      </properties>

    
   
1948
      <dependencies>

    
   
1949
        <dependency>

    
   
1950
          <groupId>org.apache.hadoop</groupId>

    
   
1951
          <artifactId>hadoop-common</artifactId>

    
   
1952
          <version>${hadoop.version}</version>

    
   
1953
        </dependency>

    
   
1954
        <dependency>

    
   
1955
          <groupId>org.apache.hadoop</groupId>

    
   
1956
          <artifactId>hadoop-annotations</artifactId>

    
   
1957
          <version>${hadoop.version}</version>

    
   
1958
        </dependency>

    
   
1959
        <!-- test deps for hadoop-0.24 profile -->

    
   
1960
        <dependency>

    
   
1961
          <groupId>org.apache.hadoop</groupId>

    
   
1962
          <artifactId>hadoop-minicluster</artifactId>

    
   
1963
          <version>${hadoop.version}</version>

    
   
1964
          <scope>compile</scope>

    
   
1965
        </dependency>

    
   
1966
      </dependencies>

    
   
1967
      <build>

    
   
1968
        <plugins>

    
   
1969
          <plugin>

    
   
1970
            <groupId>org.codehaus.mojo</groupId>

    
   
1971
            <artifactId>build-helper-maven-plugin</artifactId>

    
   
1972
            <executions>

    
   
1973
              <execution>

    
   
1974
                <id>add-test-resource</id>

    
   
1975
                <goals>

    
   
1976
                  <goal>add-test-resource</goal>

    
   
1977
                </goals>

    
   
1978
                <configuration>

    
   
1979
                  <resources>

    
   
1980
                    <resource>

    
   
1981
                      <directory>src/test/resources</directory>

    
   
1982
                      <includes>

    
   
1983
                        <include>hbase-site.xml</include>

    
   
1984
                      </includes>

    
   
1985
                    </resource>

    
   
1986
                  </resources>

    
   
1987
                </configuration>

    
   
1988
              </execution>

    
   
1989
            </executions>

    
   
1990
          </plugin>

    
   
1991
          <plugin>

    
   
1992
            <artifactId>maven-dependency-plugin</artifactId>

    
   
1993
            <executions>

    
   
1994
              <execution>

    
   
1995
                <id>create-mrapp-generated-classpath</id>

    
   
1996
                <phase>generate-test-resources</phase>

    
   
1997
                <goals>

    
   
1998
                  <goal>build-classpath</goal>

    
   
1999
                </goals>

    
   
2000
                <configuration>

    
   
2001
                  <!-- needed to run the unit test for DS to generate

    
   
2002
                  the required classpath that is required in the env

    
   
2003
                  of the launch container in the mini mr/yarn cluster

    
   
2004
                  -->

    
   
2005
                  <outputFile>${project.build.directory}/test-classes/mrapp-generated-classpath</outputFile>

    
   
2006
                </configuration>

    
   
2007
              </execution>

    
   
2008
            </executions>

    
   
2009
          </plugin>

    
   
2010
        </plugins>

    
   
2011
      </build>

    
   
2012
    </profile>

    
   
2013

   

    
   
2014

   
1889
    <!-- profiles for the tests
2015
    <!-- profiles for the tests
1890
         See as well the properties of the project for the values
2016
         See as well the properties of the project for the values
1891
         when no profile is active.     -->
2017
         when no profile is active.     -->
1892
    <profile> <!-- Use it to launch the tests without parallelisation -->
2018
    <profile> <!-- Use it to launch the tests without parallelisation -->
1893
      <id>nonParallelTests</id>
2019
      <id>nonParallelTests</id>
[+20] [20] 274 lines
src/main/proto/HRegionProtocol.proto
Diff Revision 1 Diff Revision 4 - File Reverted
 
src/main/proto/RegionAdmin.proto
Diff Revision 1 Diff Revision 4
 
src/main/proto/RegionClient.proto
Diff Revision 1 Diff Revision 4
 
src/main/proto/hbase.proto
Diff Revision 1 Diff Revision 4
 
  1. pom.xml: Loading...
  2. src/main/proto/HRegionProtocol.proto: Loading...
  3. src/main/proto/RegionAdmin.proto: Loading...
  4. src/main/proto/RegionClient.proto: Loading...
  5. src/main/proto/hbase.proto: Loading...