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.

 

Diff revision 5

This is not the most recent revision of the diff. The latest diff is revision 6. See what's changed.

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

  1. pom.xml: Loading...
  2. src/main/proto/RegionAdmin.proto: Loading...
  3. src/main/proto/RegionClient.proto: Loading...
  4. src/main/proto/hbase.proto: Loading...
pom.xml
Revision 10b13ef New Change
[20] 328 lines
[+20]
329
          <artifactId>maven-release-plugin</artifactId>
329
          <artifactId>maven-release-plugin</artifactId>
330
          <!--Making a release I've been using mvn 3.0 and specifying the apache-release
330
          <!--Making a release I've been using mvn 3.0 and specifying the apache-release
331
              profile on the command line as follows:
331
              profile on the command line as follows:
332

    
   
332

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

   
335
              I've also been kiling the release:prepare step mid-way to check the
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
336
              release.properties it generates at the top-level.  Sometimes it refers
337
              to HEAD rather than to the svn branch.
337
              to HEAD rather than to the svn branch.
338
           -->
338
           -->
339
          <configuration>
339
          <configuration>
340
            <!--You need this profile. It'll sign your artifacts.
340
            <!--You need this profile. It'll sign your artifacts.
341
                I'm not sure if this config. actually works though.
341
                I'm not sure if this config. actually works though.
342
                I've been specifying -Papache-release on the command-line
342
                I've been specifying -Papache-release on the command-line
343
             -->
343
             -->
344
            <releaseProfiles>apache-release</releaseProfiles>
344
            <releaseProfiles>apache-release</releaseProfiles>
345
            <!--This stops our running tests for each stage of maven release.
345
            <!--This stops our running tests for each stage of maven release.
346
                But it builds the test jar.  From SUREFIRE-172.      
346
                But it builds the test jar.  From SUREFIRE-172.
347
              -->
347
              -->
348
            <arguments>-Dmaven.test.skip.exec</arguments>
348
            <arguments>-Dmaven.test.skip.exec</arguments>
349
          </configuration>
349
          </configuration>
350
        </plugin>
350
        </plugin>
351
        <plugin>
351
        <plugin>
[+20] [20] 97 lines
[+20]
449
        <plugin>
449
        <plugin>
450
          <groupId>org.codehaus.mojo</groupId>
450
          <groupId>org.codehaus.mojo</groupId>
451
          <artifactId>build-helper-maven-plugin</artifactId>
451
          <artifactId>build-helper-maven-plugin</artifactId>
452
          <version>1.5</version>
452
          <version>1.5</version>
453
        </plugin>
453
        </plugin>
454
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It 
454
        <!--This plugin's configuration is used to store Eclipse m2e settings only. It
455
          has no influence on the Maven build itself. m2e does not provide any safeguards against 
455
          has no influence on the Maven build itself. m2e does not provide any safeguards against
456
          rogue maven plugins that leak classloaders, modify random files inside workspace 
456
          rogue maven plugins that leak classloaders, modify random files inside workspace
457
          or throw nasty exceptions to fail the build -->
457
          or throw nasty exceptions to fail the build -->
458
        <plugin>
458
        <plugin>
459
          <groupId>org.eclipse.m2e</groupId>
459
          <groupId>org.eclipse.m2e</groupId>
460
          <artifactId>lifecycle-mapping</artifactId>
460
          <artifactId>lifecycle-mapping</artifactId>
461
          <version>1.0.0</version>
461
          <version>1.0.0</version>
[+20] [20] 11 lines
[+20]
473
                    </goals>
473
                    </goals>
474
                  </pluginExecutionFilter>
474
                  </pluginExecutionFilter>
475
                  <action>
475
                  <action>
476
                    <execute></execute>
476
                    <execute></execute>
477
                  </action>
477
                  </action>
478
                </pluginExecution> 
478
                </pluginExecution>
479
                <pluginExecution>
479
                <pluginExecution>
480
                  <pluginExecutionFilter>
480
                  <pluginExecutionFilter>
481
                    <groupId>org.apache.maven.plugins</groupId>
481
                    <groupId>org.apache.maven.plugins</groupId>
482
                    <artifactId>maven-antrun-plugin</artifactId>
482
                    <artifactId>maven-antrun-plugin</artifactId>
483
                    <versionRange>[1.3,)</versionRange>
483
                    <versionRange>[1.3,)</versionRange>
[+20] [20] 22 lines
[+20]
506
            </lifecycleMappingMetadata>
506
            </lifecycleMappingMetadata>
507
          </configuration>
507
          </configuration>
508
        </plugin>
508
        </plugin>
509
	<plugin> <!-- in plugin management section so excludes can be inherited -->
509
	<plugin> <!-- in plugin management section so excludes can be inherited -->
510
	  <groupId>org.apache.rat</groupId>
510
	  <groupId>org.apache.rat</groupId>
511
          <artifactId>apache-rat-plugin</artifactId>	  
511
          <artifactId>apache-rat-plugin</artifactId>
512
          <version>0.8</version>
512
          <version>0.8</version>
513
          <configuration>
513
          <configuration>
514
            <excludes>
514
            <excludes>
515
              <exclude>**/.*</exclude>
515
              <exclude>**/.*</exclude>
516
              <exclude>**/*.tgz</exclude>
516
              <exclude>**/*.tgz</exclude>
[+20] [20] 4 lines
[+20]
521
              <exclude>**/target/**</exclude>
521
              <exclude>**/target/**</exclude>
522
              <exclude>**/CHANGES.txt</exclude>
522
              <exclude>**/CHANGES.txt</exclude>
523
              <exclude>**/generated/**</exclude>
523
              <exclude>**/generated/**</exclude>
524
              <exclude>**/conf/*</exclude>
524
              <exclude>**/conf/*</exclude>
525
              <exclude>**/*.avpr</exclude>
525
              <exclude>**/*.avpr</exclude>
526
              <exclude>**/*.svg</exclude> <!-- vector graphics --> 
526
              <exclude>**/*.svg</exclude> <!-- vector graphics -->
527
              <exclude>**/*.vm</exclude> <!-- apache doxia generated -->
527
              <exclude>**/*.vm</exclude> <!-- apache doxia generated -->
528
              <exclude>**/control</exclude>
528
              <exclude>**/control</exclude>
529
              <exclude>**/conffile</exclude>
529
              <exclude>**/conffile</exclude>
530
	      <exclude>docs/*</exclude> <!-- auto-gen docs -->
530
	      <exclude>docs/*</exclude> <!-- auto-gen docs -->
531
              <!--It don't like freebsd license-->
531
              <!--It don't like freebsd license-->
[+20] [20] 231 lines
[+20]
763
      <plugin>
763
      <plugin>
764
        <artifactId>maven-antrun-plugin</artifactId>
764
        <artifactId>maven-antrun-plugin</artifactId>
765
        <version>1.6</version>
765
        <version>1.6</version>
766
        <executions>
766
        <executions>
767
          <execution>
767
          <execution>

    
   
768
            <id>compile-proto</id>

    
   
769
            <phase>generate-sources</phase>

    
   
770
            <goals>

    
   
771
              <goal>run</goal>

    
   
772
            </goals>

    
   
773
            <configuration>

    
   
774
              <target>

    
   
775
                <echo file="target/compile-proto.sh">

    
   
776
                    UNIX_PROTO_DIR=src/main/proto

    
   
777
                    JAVA_DIR=target/generated-sources/java

    
   
778
                    mkdir -p $JAVA_DIR 2> /dev/null

    
   
779
                    if which cygpath 2> /dev/null; then

    
   
780
                      PROTO_DIR=`cygpath --windows $UNIX_PROTO_DIR`

    
   
781
                      JAVA_DIR=`cygpath --windows $JAVA_DIR`

    
   
782
                    else

    
   
783
                      PROTO_DIR=$UNIX_PROTO_DIR

    
   
784
                    fi

    
   
785
                    for PROTO_FILE in $UNIX_PROTO_DIR/*.proto

    
   
786
                    do

    
   
787
                      protoc -I$PROTO_DIR --java_out=$JAVA_DIR $PROTO_FILE

    
   
788
                    done

    
   
789
                </echo>

    
   
790
                <exec executable="sh" dir="${basedir}" failonerror="true">

    
   
791
                  <arg line="target/compile-proto.sh"/>

    
   
792
                </exec>

    
   
793
              </target>

    
   
794
            </configuration>

    
   
795
          </execution>

    
   
796
          <execution>
768
            <id>arc-setup</id>
797
            <id>arc-setup</id>
769
            <phase>initialize</phase>
798
            <phase>initialize</phase>
770
            <configuration>
799
            <configuration>
771
              <tasks if="arc">
800
              <tasks if="arc">
772
                <get dest="${project.build.directory}/arc-jira.tar.gz"
801
                <get dest="${project.build.directory}/arc-jira.tar.gz"
[+20] [20] 1491 lines
src/main/proto/RegionAdmin.proto
New File
 
src/main/proto/RegionClient.proto
New File
 
src/main/proto/hbase.proto
New File
 
  1. pom.xml: Loading...
  2. src/main/proto/RegionAdmin.proto: Loading...
  3. src/main/proto/RegionClient.proto: Loading...
  4. src/main/proto/hbase.proto: Loading...