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 2016/06/07 23:06:52 UTC

[4/8] hbase git commit: HBASE-15890 Allow setting cacheBlocks for TScan

HBASE-15890 Allow setting cacheBlocks for TScan

Signed-off-by: stack <st...@apache.org>
Amending-Author: Andrew Purtell <ap...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4678c5d9
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4678c5d9
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4678c5d9

Branch: refs/heads/0.98
Commit: 4678c5d931a47fc0a04b560adf7da979687b8ad8
Parents: 458378d
Author: Ashu Pachauri <as...@gmail.com>
Authored: Fri May 27 17:54:20 2016 -0700
Committer: Andrew Purtell <ap...@apache.org>
Committed: Tue Jun 7 14:50:46 2016 -0700

----------------------------------------------------------------------
 .../hadoop/hbase/thrift/ThriftServerRunner.java |   3 +
 .../hadoop/hbase/thrift/generated/Hbase.java    | 104 ++++++++---------
 .../hbase/thrift/generated/TRowResult.java      |   4 +-
 .../hadoop/hbase/thrift/generated/TScan.java    | 108 +++++++++++++++++-
 .../hadoop/hbase/thrift2/ThriftUtilities.java   |   4 +
 .../hadoop/hbase/thrift2/generated/TAppend.java |   4 +-
 .../hadoop/hbase/thrift2/generated/TDelete.java |   4 +-
 .../hadoop/hbase/thrift2/generated/TGet.java    |   4 +-
 .../hbase/thrift2/generated/TIncrement.java     |   4 +-
 .../hadoop/hbase/thrift2/generated/TPut.java    |   4 +-
 .../hadoop/hbase/thrift2/generated/TScan.java   | 112 ++++++++++++++++++-
 .../org/apache/hadoop/hbase/thrift/Hbase.thrift |   3 +-
 .../apache/hadoop/hbase/thrift2/hbase.thrift    |   1 +
 13 files changed, 284 insertions(+), 75 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
index 804ad31..496b51c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/ThriftServerRunner.java
@@ -1382,6 +1382,9 @@ public class ThriftServerRunner implements Runnable {
         if (tScan.isSetReversed()) {
           scan.setReversed(tScan.isReversed());
         }
+        if (tScan.isSetCacheBlocks()) {
+          scan.setCacheBlocks(tScan.isCacheBlocks());
+        }
         return addScanner(table.getScanner(scan), tScan.sortColumns);
       } catch (IOException e) {
         LOG.warn(e.getMessage(), e);

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
index bd5bd52..2eefad4 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/Hbase.java
@@ -10061,7 +10061,7 @@ public class Hbase {
                   struct.success = new HashMap<ByteBuffer,ColumnDescriptor>(2*_map42.size);
                   for (int _i43 = 0; _i43 < _map42.size; ++_i43)
                   {
-                    ByteBuffer _key44; // optional
+                    ByteBuffer _key44; // required
                     ColumnDescriptor _val45; // required
                     _key44 = iprot.readBinary();
                     _val45 = new ColumnDescriptor();
@@ -10167,7 +10167,7 @@ public class Hbase {
             struct.success = new HashMap<ByteBuffer,ColumnDescriptor>(2*_map48.size);
             for (int _i49 = 0; _i49 < _map48.size; ++_i49)
             {
-              ByteBuffer _key50; // optional
+              ByteBuffer _key50; // required
               ColumnDescriptor _val51; // required
               _key50 = iprot.readBinary();
               _val51 = new ColumnDescriptor();
@@ -13642,7 +13642,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map68.size);
                   for (int _i69 = 0; _i69 < _map68.size; ++_i69)
                   {
-                    ByteBuffer _key70; // optional
+                    ByteBuffer _key70; // required
                     ByteBuffer _val71; // required
                     _key70 = iprot.readBinary();
                     _val71 = iprot.readBinary();
@@ -13772,7 +13772,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map74.size);
             for (int _i75 = 0; _i75 < _map74.size; ++_i75)
             {
-              ByteBuffer _key76; // optional
+              ByteBuffer _key76; // required
               ByteBuffer _val77; // required
               _key76 = iprot.readBinary();
               _val77 = iprot.readBinary();
@@ -15083,7 +15083,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map86.size);
                   for (int _i87 = 0; _i87 < _map86.size; ++_i87)
                   {
-                    ByteBuffer _key88; // optional
+                    ByteBuffer _key88; // required
                     ByteBuffer _val89; // required
                     _key88 = iprot.readBinary();
                     _val89 = iprot.readBinary();
@@ -15226,7 +15226,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map92.size);
             for (int _i93 = 0; _i93 < _map92.size; ++_i93)
             {
-              ByteBuffer _key94; // optional
+              ByteBuffer _key94; // required
               ByteBuffer _val95; // required
               _key94 = iprot.readBinary();
               _val95 = iprot.readBinary();
@@ -16635,7 +16635,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map104.size);
                   for (int _i105 = 0; _i105 < _map104.size; ++_i105)
                   {
-                    ByteBuffer _key106; // optional
+                    ByteBuffer _key106; // required
                     ByteBuffer _val107; // required
                     _key106 = iprot.readBinary();
                     _val107 = iprot.readBinary();
@@ -16791,7 +16791,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map110.size);
             for (int _i111 = 0; _i111 < _map110.size; ++_i111)
             {
-              ByteBuffer _key112; // optional
+              ByteBuffer _key112; // required
               ByteBuffer _val113; // required
               _key112 = iprot.readBinary();
               _val113 = iprot.readBinary();
@@ -17888,7 +17888,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map122.size);
                   for (int _i123 = 0; _i123 < _map122.size; ++_i123)
                   {
-                    ByteBuffer _key124; // optional
+                    ByteBuffer _key124; // required
                     ByteBuffer _val125; // required
                     _key124 = iprot.readBinary();
                     _val125 = iprot.readBinary();
@@ -18003,7 +18003,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map128.size);
             for (int _i129 = 0; _i129 < _map128.size; ++_i129)
             {
-              ByteBuffer _key130; // optional
+              ByteBuffer _key130; // required
               ByteBuffer _val131; // required
               _key130 = iprot.readBinary();
               _val131 = iprot.readBinary();
@@ -19232,7 +19232,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map143.size);
                   for (int _i144 = 0; _i144 < _map143.size; ++_i144)
                   {
-                    ByteBuffer _key145; // optional
+                    ByteBuffer _key145; // required
                     ByteBuffer _val146; // required
                     _key145 = iprot.readBinary();
                     _val146 = iprot.readBinary();
@@ -19384,7 +19384,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map154.size);
             for (int _i155 = 0; _i155 < _map154.size; ++_i155)
             {
-              ByteBuffer _key156; // optional
+              ByteBuffer _key156; // required
               ByteBuffer _val157; // required
               _key156 = iprot.readBinary();
               _val157 = iprot.readBinary();
@@ -20583,7 +20583,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map166.size);
                   for (int _i167 = 0; _i167 < _map166.size; ++_i167)
                   {
-                    ByteBuffer _key168; // optional
+                    ByteBuffer _key168; // required
                     ByteBuffer _val169; // required
                     _key168 = iprot.readBinary();
                     _val169 = iprot.readBinary();
@@ -20711,7 +20711,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map172.size);
             for (int _i173 = 0; _i173 < _map172.size; ++_i173)
             {
-              ByteBuffer _key174; // optional
+              ByteBuffer _key174; // required
               ByteBuffer _val175; // required
               _key174 = iprot.readBinary();
               _val175 = iprot.readBinary();
@@ -22030,7 +22030,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map187.size);
                   for (int _i188 = 0; _i188 < _map187.size; ++_i188)
                   {
-                    ByteBuffer _key189; // optional
+                    ByteBuffer _key189; // required
                     ByteBuffer _val190; // required
                     _key189 = iprot.readBinary();
                     _val190 = iprot.readBinary();
@@ -22195,7 +22195,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map198.size);
             for (int _i199 = 0; _i199 < _map198.size; ++_i199)
             {
-              ByteBuffer _key200; // optional
+              ByteBuffer _key200; // required
               ByteBuffer _val201; // required
               _key200 = iprot.readBinary();
               _val201 = iprot.readBinary();
@@ -23312,7 +23312,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map213.size);
                   for (int _i214 = 0; _i214 < _map213.size; ++_i214)
                   {
-                    ByteBuffer _key215; // optional
+                    ByteBuffer _key215; // required
                     ByteBuffer _val216; // required
                     _key215 = iprot.readBinary();
                     _val216 = iprot.readBinary();
@@ -23449,7 +23449,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map224.size);
             for (int _i225 = 0; _i225 < _map224.size; ++_i225)
             {
-              ByteBuffer _key226; // optional
+              ByteBuffer _key226; // required
               ByteBuffer _val227; // required
               _key226 = iprot.readBinary();
               _val227 = iprot.readBinary();
@@ -24698,7 +24698,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map242.size);
                   for (int _i243 = 0; _i243 < _map242.size; ++_i243)
                   {
-                    ByteBuffer _key244; // optional
+                    ByteBuffer _key244; // required
                     ByteBuffer _val245; // required
                     _key244 = iprot.readBinary();
                     _val245 = iprot.readBinary();
@@ -24872,7 +24872,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map258.size);
             for (int _i259 = 0; _i259 < _map258.size; ++_i259)
             {
-              ByteBuffer _key260; // optional
+              ByteBuffer _key260; // required
               ByteBuffer _val261; // required
               _key260 = iprot.readBinary();
               _val261 = iprot.readBinary();
@@ -26091,7 +26091,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map273.size);
                   for (int _i274 = 0; _i274 < _map273.size; ++_i274)
                   {
-                    ByteBuffer _key275; // optional
+                    ByteBuffer _key275; // required
                     ByteBuffer _val276; // required
                     _key275 = iprot.readBinary();
                     _val276 = iprot.readBinary();
@@ -26241,7 +26241,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map284.size);
             for (int _i285 = 0; _i285 < _map284.size; ++_i285)
             {
-              ByteBuffer _key286; // optional
+              ByteBuffer _key286; // required
               ByteBuffer _val287; // required
               _key286 = iprot.readBinary();
               _val287 = iprot.readBinary();
@@ -27580,7 +27580,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map302.size);
                   for (int _i303 = 0; _i303 < _map302.size; ++_i303)
                   {
-                    ByteBuffer _key304; // optional
+                    ByteBuffer _key304; // required
                     ByteBuffer _val305; // required
                     _key304 = iprot.readBinary();
                     _val305 = iprot.readBinary();
@@ -27767,7 +27767,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map318.size);
             for (int _i319 = 0; _i319 < _map318.size; ++_i319)
             {
-              ByteBuffer _key320; // optional
+              ByteBuffer _key320; // required
               ByteBuffer _val321; // required
               _key320 = iprot.readBinary();
               _val321 = iprot.readBinary();
@@ -28997,7 +28997,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map333.size);
                   for (int _i334 = 0; _i334 < _map333.size; ++_i334)
                   {
-                    ByteBuffer _key335; // optional
+                    ByteBuffer _key335; // required
                     ByteBuffer _val336; // required
                     _key335 = iprot.readBinary();
                     _val336 = iprot.readBinary();
@@ -29150,7 +29150,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map344.size);
             for (int _i345 = 0; _i345 < _map344.size; ++_i345)
             {
-              ByteBuffer _key346; // optional
+              ByteBuffer _key346; // required
               ByteBuffer _val347; // required
               _key346 = iprot.readBinary();
               _val347 = iprot.readBinary();
@@ -30430,7 +30430,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map351.size);
                   for (int _i352 = 0; _i352 < _map351.size; ++_i352)
                   {
-                    ByteBuffer _key353; // optional
+                    ByteBuffer _key353; // required
                     ByteBuffer _val354; // required
                     _key353 = iprot.readBinary();
                     _val354 = iprot.readBinary();
@@ -30596,7 +30596,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map362.size);
             for (int _i363 = 0; _i363 < _map362.size; ++_i363)
             {
-              ByteBuffer _key364; // optional
+              ByteBuffer _key364; // required
               ByteBuffer _val365; // required
               _key364 = iprot.readBinary();
               _val365 = iprot.readBinary();
@@ -31662,7 +31662,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map369.size);
                   for (int _i370 = 0; _i370 < _map369.size; ++_i370)
                   {
-                    ByteBuffer _key371; // optional
+                    ByteBuffer _key371; // required
                     ByteBuffer _val372; // required
                     _key371 = iprot.readBinary();
                     _val372 = iprot.readBinary();
@@ -31800,7 +31800,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map380.size);
             for (int _i381 = 0; _i381 < _map380.size; ++_i381)
             {
-              ByteBuffer _key382; // optional
+              ByteBuffer _key382; // required
               ByteBuffer _val383; // required
               _key382 = iprot.readBinary();
               _val383 = iprot.readBinary();
@@ -32968,7 +32968,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map387.size);
                   for (int _i388 = 0; _i388 < _map387.size; ++_i388)
                   {
-                    ByteBuffer _key389; // optional
+                    ByteBuffer _key389; // required
                     ByteBuffer _val390; // required
                     _key389 = iprot.readBinary();
                     _val390 = iprot.readBinary();
@@ -33119,7 +33119,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map398.size);
             for (int _i399 = 0; _i399 < _map398.size; ++_i399)
             {
-              ByteBuffer _key400; // optional
+              ByteBuffer _key400; // required
               ByteBuffer _val401; // required
               _key400 = iprot.readBinary();
               _val401 = iprot.readBinary();
@@ -35603,7 +35603,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map402.size);
                   for (int _i403 = 0; _i403 < _map402.size; ++_i403)
                   {
-                    ByteBuffer _key404; // optional
+                    ByteBuffer _key404; // required
                     ByteBuffer _val405; // required
                     _key404 = iprot.readBinary();
                     _val405 = iprot.readBinary();
@@ -35733,7 +35733,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map408.size);
             for (int _i409 = 0; _i409 < _map408.size; ++_i409)
             {
-              ByteBuffer _key410; // optional
+              ByteBuffer _key410; // required
               ByteBuffer _val411; // required
               _key410 = iprot.readBinary();
               _val411 = iprot.readBinary();
@@ -36885,7 +36885,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map412.size);
                   for (int _i413 = 0; _i413 < _map412.size; ++_i413)
                   {
-                    ByteBuffer _key414; // optional
+                    ByteBuffer _key414; // required
                     ByteBuffer _val415; // required
                     _key414 = iprot.readBinary();
                     _val415 = iprot.readBinary();
@@ -37028,7 +37028,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map418.size);
             for (int _i419 = 0; _i419 < _map418.size; ++_i419)
             {
-              ByteBuffer _key420; // optional
+              ByteBuffer _key420; // required
               ByteBuffer _val421; // required
               _key420 = iprot.readBinary();
               _val421 = iprot.readBinary();
@@ -37966,7 +37966,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map422.size);
                   for (int _i423 = 0; _i423 < _map422.size; ++_i423)
                   {
-                    ByteBuffer _key424; // optional
+                    ByteBuffer _key424; // required
                     ByteBuffer _val425; // required
                     _key424 = iprot.readBinary();
                     _val425 = iprot.readBinary();
@@ -38081,7 +38081,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map428.size);
             for (int _i429 = 0; _i429 < _map428.size; ++_i429)
             {
-              ByteBuffer _key430; // optional
+              ByteBuffer _key430; // required
               ByteBuffer _val431; // required
               _key430 = iprot.readBinary();
               _val431 = iprot.readBinary();
@@ -40652,7 +40652,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map440.size);
                   for (int _i441 = 0; _i441 < _map440.size; ++_i441)
                   {
-                    ByteBuffer _key442; // optional
+                    ByteBuffer _key442; // required
                     ByteBuffer _val443; // required
                     _key442 = iprot.readBinary();
                     _val443 = iprot.readBinary();
@@ -40780,7 +40780,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map446.size);
             for (int _i447 = 0; _i447 < _map446.size; ++_i447)
             {
-              ByteBuffer _key448; // optional
+              ByteBuffer _key448; // required
               ByteBuffer _val449; // required
               _key448 = iprot.readBinary();
               _val449 = iprot.readBinary();
@@ -41712,7 +41712,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map450.size);
                   for (int _i451 = 0; _i451 < _map450.size; ++_i451)
                   {
-                    ByteBuffer _key452; // optional
+                    ByteBuffer _key452; // required
                     ByteBuffer _val453; // required
                     _key452 = iprot.readBinary();
                     _val453 = iprot.readBinary();
@@ -41828,7 +41828,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map456.size);
             for (int _i457 = 0; _i457 < _map456.size; ++_i457)
             {
-              ByteBuffer _key458; // optional
+              ByteBuffer _key458; // required
               ByteBuffer _val459; // required
               _key458 = iprot.readBinary();
               _val459 = iprot.readBinary();
@@ -43015,7 +43015,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map463.size);
                   for (int _i464 = 0; _i464 < _map463.size; ++_i464)
                   {
-                    ByteBuffer _key465; // optional
+                    ByteBuffer _key465; // required
                     ByteBuffer _val466; // required
                     _key465 = iprot.readBinary();
                     _val466 = iprot.readBinary();
@@ -43167,7 +43167,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map474.size);
             for (int _i475 = 0; _i475 < _map474.size; ++_i475)
             {
-              ByteBuffer _key476; // optional
+              ByteBuffer _key476; // required
               ByteBuffer _val477; // required
               _key476 = iprot.readBinary();
               _val477 = iprot.readBinary();
@@ -44470,7 +44470,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map481.size);
                   for (int _i482 = 0; _i482 < _map481.size; ++_i482)
                   {
-                    ByteBuffer _key483; // optional
+                    ByteBuffer _key483; // required
                     ByteBuffer _val484; // required
                     _key483 = iprot.readBinary();
                     _val484 = iprot.readBinary();
@@ -44637,7 +44637,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map492.size);
             for (int _i493 = 0; _i493 < _map492.size; ++_i493)
             {
-              ByteBuffer _key494; // optional
+              ByteBuffer _key494; // required
               ByteBuffer _val495; // required
               _key494 = iprot.readBinary();
               _val495 = iprot.readBinary();
@@ -45812,7 +45812,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map499.size);
                   for (int _i500 = 0; _i500 < _map499.size; ++_i500)
                   {
-                    ByteBuffer _key501; // optional
+                    ByteBuffer _key501; // required
                     ByteBuffer _val502; // required
                     _key501 = iprot.readBinary();
                     _val502 = iprot.readBinary();
@@ -45964,7 +45964,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map510.size);
             for (int _i511 = 0; _i511 < _map510.size; ++_i511)
             {
-              ByteBuffer _key512; // optional
+              ByteBuffer _key512; // required
               ByteBuffer _val513; // required
               _key512 = iprot.readBinary();
               _val513 = iprot.readBinary();
@@ -47253,7 +47253,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map517.size);
                   for (int _i518 = 0; _i518 < _map517.size; ++_i518)
                   {
-                    ByteBuffer _key519; // optional
+                    ByteBuffer _key519; // required
                     ByteBuffer _val520; // required
                     _key519 = iprot.readBinary();
                     _val520 = iprot.readBinary();
@@ -47418,7 +47418,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map528.size);
             for (int _i529 = 0; _i529 < _map528.size; ++_i529)
             {
-              ByteBuffer _key530; // optional
+              ByteBuffer _key530; // required
               ByteBuffer _val531; // required
               _key530 = iprot.readBinary();
               _val531 = iprot.readBinary();
@@ -48823,7 +48823,7 @@ public class Hbase {
                   struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map535.size);
                   for (int _i536 = 0; _i536 < _map535.size; ++_i536)
                   {
-                    ByteBuffer _key537; // optional
+                    ByteBuffer _key537; // required
                     ByteBuffer _val538; // required
                     _key537 = iprot.readBinary();
                     _val538 = iprot.readBinary();
@@ -49003,7 +49003,7 @@ public class Hbase {
             struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map546.size);
             for (int _i547 = 0; _i547 < _map546.size; ++_i547)
             {
-              ByteBuffer _key548; // optional
+              ByteBuffer _key548; // required
               ByteBuffer _val549; // required
               _key548 = iprot.readBinary();
               _val549 = iprot.readBinary();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
index 66757d6..3bb244d 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TRowResult.java
@@ -562,7 +562,7 @@ public class TRowResult implements org.apache.thrift.TBase<TRowResult, TRowResul
                 struct.columns = new HashMap<ByteBuffer,TCell>(2*_map8.size);
                 for (int _i9 = 0; _i9 < _map8.size; ++_i9)
                 {
-                  ByteBuffer _key10; // optional
+                  ByteBuffer _key10; // required
                   TCell _val11; // required
                   _key10 = iprot.readBinary();
                   _val11 = new TCell();
@@ -710,7 +710,7 @@ public class TRowResult implements org.apache.thrift.TBase<TRowResult, TRowResul
           struct.columns = new HashMap<ByteBuffer,TCell>(2*_map19.size);
           for (int _i20 = 0; _i20 < _map19.size; ++_i20)
           {
-            ByteBuffer _key21; // optional
+            ByteBuffer _key21; // required
             TCell _val22; // required
             _key21 = iprot.readBinary();
             _val22 = new TCell();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
index 5f5cdc7..197eb32 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift/generated/TScan.java
@@ -46,6 +46,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final org.apache.thrift.protocol.TField BATCH_SIZE_FIELD_DESC = new org.apache.thrift.protocol.TField("batchSize", org.apache.thrift.protocol.TType.I32, (short)7);
   private static final org.apache.thrift.protocol.TField SORT_COLUMNS_FIELD_DESC = new org.apache.thrift.protocol.TField("sortColumns", org.apache.thrift.protocol.TType.BOOL, (short)8);
   private static final org.apache.thrift.protocol.TField REVERSED_FIELD_DESC = new org.apache.thrift.protocol.TField("reversed", org.apache.thrift.protocol.TType.BOOL, (short)9);
+  private static final org.apache.thrift.protocol.TField CACHE_BLOCKS_FIELD_DESC = new org.apache.thrift.protocol.TField("cacheBlocks", org.apache.thrift.protocol.TType.BOOL, (short)10);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -62,6 +63,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   public int batchSize; // optional
   public boolean sortColumns; // optional
   public boolean reversed; // optional
+  public boolean cacheBlocks; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -73,7 +75,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     FILTER_STRING((short)6, "filterString"),
     BATCH_SIZE((short)7, "batchSize"),
     SORT_COLUMNS((short)8, "sortColumns"),
-    REVERSED((short)9, "reversed");
+    REVERSED((short)9, "reversed"),
+    CACHE_BLOCKS((short)10, "cacheBlocks");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -106,6 +109,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
           return SORT_COLUMNS;
         case 9: // REVERSED
           return REVERSED;
+        case 10: // CACHE_BLOCKS
+          return CACHE_BLOCKS;
         default:
           return null;
       }
@@ -151,8 +156,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final int __BATCHSIZE_ISSET_ID = 2;
   private static final int __SORTCOLUMNS_ISSET_ID = 3;
   private static final int __REVERSED_ISSET_ID = 4;
+  private static final int __CACHEBLOCKS_ISSET_ID = 5;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.TIMESTAMP,_Fields.COLUMNS,_Fields.CACHING,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.SORT_COLUMNS,_Fields.REVERSED};
+  private _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.TIMESTAMP,_Fields.COLUMNS,_Fields.CACHING,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.SORT_COLUMNS,_Fields.REVERSED,_Fields.CACHE_BLOCKS};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -175,6 +181,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     tmpMap.put(_Fields.REVERSED, new org.apache.thrift.meta_data.FieldMetaData("reversed", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CACHE_BLOCKS, new org.apache.thrift.meta_data.FieldMetaData("cacheBlocks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
   }
@@ -208,6 +216,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     this.batchSize = other.batchSize;
     this.sortColumns = other.sortColumns;
     this.reversed = other.reversed;
+    this.cacheBlocks = other.cacheBlocks;
   }
 
   public TScan deepCopy() {
@@ -230,6 +239,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     this.sortColumns = false;
     setReversedIsSet(false);
     this.reversed = false;
+    setCacheBlocksIsSet(false);
+    this.cacheBlocks = false;
   }
 
   public byte[] getStartRow() {
@@ -488,6 +499,29 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REVERSED_ISSET_ID, value);
   }
 
+  public boolean isCacheBlocks() {
+    return this.cacheBlocks;
+  }
+
+  public TScan setCacheBlocks(boolean cacheBlocks) {
+    this.cacheBlocks = cacheBlocks;
+    setCacheBlocksIsSet(true);
+    return this;
+  }
+
+  public void unsetCacheBlocks() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID);
+  }
+
+  /** Returns true if field cacheBlocks is set (has been assigned a value) and false otherwise */
+  public boolean isSetCacheBlocks() {
+    return EncodingUtils.testBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID);
+  }
+
+  public void setCacheBlocksIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case START_ROW:
@@ -562,6 +596,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       }
       break;
 
+    case CACHE_BLOCKS:
+      if (value == null) {
+        unsetCacheBlocks();
+      } else {
+        setCacheBlocks((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -594,6 +636,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     case REVERSED:
       return Boolean.valueOf(isReversed());
 
+    case CACHE_BLOCKS:
+      return Boolean.valueOf(isCacheBlocks());
+
     }
     throw new IllegalStateException();
   }
@@ -623,6 +668,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       return isSetSortColumns();
     case REVERSED:
       return isSetReversed();
+    case CACHE_BLOCKS:
+      return isSetCacheBlocks();
     }
     throw new IllegalStateException();
   }
@@ -721,6 +768,15 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return false;
     }
 
+    boolean this_present_cacheBlocks = true && this.isSetCacheBlocks();
+    boolean that_present_cacheBlocks = true && that.isSetCacheBlocks();
+    if (this_present_cacheBlocks || that_present_cacheBlocks) {
+      if (!(this_present_cacheBlocks && that_present_cacheBlocks))
+        return false;
+      if (this.cacheBlocks != that.cacheBlocks)
+        return false;
+    }
+
     return true;
   }
 
@@ -773,6 +829,11 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     if (present_reversed)
       builder.append(reversed);
 
+    boolean present_cacheBlocks = true && (isSetCacheBlocks());
+    builder.append(present_cacheBlocks);
+    if (present_cacheBlocks)
+      builder.append(cacheBlocks);
+
     return builder.toHashCode();
   }
 
@@ -874,6 +935,16 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCacheBlocks()).compareTo(typedOther.isSetCacheBlocks());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCacheBlocks()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cacheBlocks, typedOther.cacheBlocks);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -963,6 +1034,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       sb.append(this.reversed);
       first = false;
     }
+    if (isSetCacheBlocks()) {
+      if (!first) sb.append(", ");
+      sb.append("cacheBlocks:");
+      sb.append(this.cacheBlocks);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1090,6 +1167,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 10: // CACHE_BLOCKS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cacheBlocks = iprot.readBool();
+              struct.setCacheBlocksIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1165,6 +1250,11 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         oprot.writeBool(struct.reversed);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetCacheBlocks()) {
+        oprot.writeFieldBegin(CACHE_BLOCKS_FIELD_DESC);
+        oprot.writeBool(struct.cacheBlocks);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1210,7 +1300,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetReversed()) {
         optionals.set(8);
       }
-      oprot.writeBitSet(optionals, 9);
+      if (struct.isSetCacheBlocks()) {
+        optionals.set(9);
+      }
+      oprot.writeBitSet(optionals, 10);
       if (struct.isSetStartRow()) {
         oprot.writeBinary(struct.startRow);
       }
@@ -1244,12 +1337,15 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetReversed()) {
         oprot.writeBool(struct.reversed);
       }
+      if (struct.isSetCacheBlocks()) {
+        oprot.writeBool(struct.cacheBlocks);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, TScan struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(9);
+      BitSet incoming = iprot.readBitSet(10);
       if (incoming.get(0)) {
         struct.startRow = iprot.readBinary();
         struct.setStartRowIsSet(true);
@@ -1295,6 +1391,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         struct.reversed = iprot.readBool();
         struct.setReversedIsSet(true);
       }
+      if (incoming.get(9)) {
+        struct.cacheBlocks = iprot.readBool();
+        struct.setCacheBlocksIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
index 2fb17d5..6363db4 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/ThriftUtilities.java
@@ -425,6 +425,10 @@ public class ThriftUtilities {
       out.setReversed(in.isReversed());
     }
 
+    if (in.isSetCacheBlocks()) {
+      out.setCacheBlocks(in.isCacheBlocks());
+    }
+
     return out;
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
index 262cb82..49d0e75 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TAppend.java
@@ -770,7 +770,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
                 struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map91.size);
                 for (int _i92 = 0; _i92 < _map91.size; ++_i92)
                 {
-                  ByteBuffer _key93; // optional
+                  ByteBuffer _key93; // required
                   ByteBuffer _val94; // required
                   _key93 = iprot.readBinary();
                   _val94 = iprot.readBinary();
@@ -939,7 +939,7 @@ public class TAppend implements org.apache.thrift.TBase<TAppend, TAppend._Fields
           struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map102.size);
           for (int _i103 = 0; _i103 < _map102.size; ++_i103)
           {
-            ByteBuffer _key104; // optional
+            ByteBuffer _key104; // required
             ByteBuffer _val105; // required
             _key104 = iprot.readBinary();
             _val105 = iprot.readBinary();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
index abbad1c..a4d7777 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TDelete.java
@@ -906,7 +906,7 @@ public class TDelete implements org.apache.thrift.TBase<TDelete, TDelete._Fields
                 struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map55.size);
                 for (int _i56 = 0; _i56 < _map55.size; ++_i56)
                 {
-                  ByteBuffer _key57; // optional
+                  ByteBuffer _key57; // required
                   ByteBuffer _val58; // required
                   _key57 = iprot.readBinary();
                   _val58 = iprot.readBinary();
@@ -1094,7 +1094,7 @@ public class TDelete implements org.apache.thrift.TBase<TDelete, TDelete._Fields
           struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map66.size);
           for (int _i67 = 0; _i67 < _map66.size; ++_i67)
           {
-            ByteBuffer _key68; // optional
+            ByteBuffer _key68; // required
             ByteBuffer _val69; // required
             _key68 = iprot.readBinary();
             _val69 = iprot.readBinary();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
index 8e242b2..7e93341 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TGet.java
@@ -1051,7 +1051,7 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
                 struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map19.size);
                 for (int _i20 = 0; _i20 < _map19.size; ++_i20)
                 {
-                  ByteBuffer _key21; // optional
+                  ByteBuffer _key21; // required
                   ByteBuffer _val22; // required
                   _key21 = iprot.readBinary();
                   _val22 = iprot.readBinary();
@@ -1273,7 +1273,7 @@ public class TGet implements org.apache.thrift.TBase<TGet, TGet._Fields>, java.i
           struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map30.size);
           for (int _i31 = 0; _i31 < _map30.size; ++_i31)
           {
-            ByteBuffer _key32; // optional
+            ByteBuffer _key32; // required
             ByteBuffer _val33; // required
             _key32 = iprot.readBinary();
             _val33 = iprot.readBinary();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
index 90345aa..358a9fc 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TIncrement.java
@@ -777,7 +777,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
                 struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map73.size);
                 for (int _i74 = 0; _i74 < _map73.size; ++_i74)
                 {
-                  ByteBuffer _key75; // optional
+                  ByteBuffer _key75; // required
                   ByteBuffer _val76; // required
                   _key75 = iprot.readBinary();
                   _val76 = iprot.readBinary();
@@ -946,7 +946,7 @@ public class TIncrement implements org.apache.thrift.TBase<TIncrement, TIncremen
           struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map84.size);
           for (int _i85 = 0; _i85 < _map84.size; ++_i85)
           {
-            ByteBuffer _key86; // optional
+            ByteBuffer _key86; // required
             ByteBuffer _val87; // required
             _key86 = iprot.readBinary();
             _val87 = iprot.readBinary();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
index 62ddffb..c9a122c 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TPut.java
@@ -871,7 +871,7 @@ public class TPut implements org.apache.thrift.TBase<TPut, TPut._Fields>, java.i
                 struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map37.size);
                 for (int _i38 = 0; _i38 < _map37.size; ++_i38)
                 {
-                  ByteBuffer _key39; // optional
+                  ByteBuffer _key39; // required
                   ByteBuffer _val40; // required
                   _key39 = iprot.readBinary();
                   _val40 = iprot.readBinary();
@@ -1055,7 +1055,7 @@ public class TPut implements org.apache.thrift.TBase<TPut, TPut._Fields>, java.i
           struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map48.size);
           for (int _i49 = 0; _i49 < _map48.size; ++_i49)
           {
-            ByteBuffer _key50; // optional
+            ByteBuffer _key50; // required
             ByteBuffer _val51; // required
             _key50 = iprot.readBinary();
             _val51 = iprot.readBinary();

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
index 0486b6b..746a657 100644
--- a/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
+++ b/hbase-thrift/src/main/java/org/apache/hadoop/hbase/thrift2/generated/TScan.java
@@ -49,6 +49,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final org.apache.thrift.protocol.TField ATTRIBUTES_FIELD_DESC = new org.apache.thrift.protocol.TField("attributes", org.apache.thrift.protocol.TType.MAP, (short)9);
   private static final org.apache.thrift.protocol.TField AUTHORIZATIONS_FIELD_DESC = new org.apache.thrift.protocol.TField("authorizations", org.apache.thrift.protocol.TType.STRUCT, (short)10);
   private static final org.apache.thrift.protocol.TField REVERSED_FIELD_DESC = new org.apache.thrift.protocol.TField("reversed", org.apache.thrift.protocol.TType.BOOL, (short)11);
+  private static final org.apache.thrift.protocol.TField CACHE_BLOCKS_FIELD_DESC = new org.apache.thrift.protocol.TField("cacheBlocks", org.apache.thrift.protocol.TType.BOOL, (short)12);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -67,6 +68,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   public Map<ByteBuffer,ByteBuffer> attributes; // optional
   public TAuthorization authorizations; // optional
   public boolean reversed; // optional
+  public boolean cacheBlocks; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -80,7 +82,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     BATCH_SIZE((short)8, "batchSize"),
     ATTRIBUTES((short)9, "attributes"),
     AUTHORIZATIONS((short)10, "authorizations"),
-    REVERSED((short)11, "reversed");
+    REVERSED((short)11, "reversed"),
+    CACHE_BLOCKS((short)12, "cacheBlocks");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -117,6 +120,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
           return AUTHORIZATIONS;
         case 11: // REVERSED
           return REVERSED;
+        case 12: // CACHE_BLOCKS
+          return CACHE_BLOCKS;
         default:
           return null;
       }
@@ -161,8 +166,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
   private static final int __MAXVERSIONS_ISSET_ID = 1;
   private static final int __BATCHSIZE_ISSET_ID = 2;
   private static final int __REVERSED_ISSET_ID = 3;
+  private static final int __CACHEBLOCKS_ISSET_ID = 4;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED};
+  private _Fields optionals[] = {_Fields.START_ROW,_Fields.STOP_ROW,_Fields.COLUMNS,_Fields.CACHING,_Fields.MAX_VERSIONS,_Fields.TIME_RANGE,_Fields.FILTER_STRING,_Fields.BATCH_SIZE,_Fields.ATTRIBUTES,_Fields.AUTHORIZATIONS,_Fields.REVERSED,_Fields.CACHE_BLOCKS};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -191,6 +197,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, TAuthorization.class)));
     tmpMap.put(_Fields.REVERSED, new org.apache.thrift.meta_data.FieldMetaData("reversed", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.CACHE_BLOCKS, new org.apache.thrift.meta_data.FieldMetaData("cacheBlocks", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(TScan.class, metaDataMap);
   }
@@ -251,6 +259,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       this.authorizations = new TAuthorization(other.authorizations);
     }
     this.reversed = other.reversed;
+    this.cacheBlocks = other.cacheBlocks;
   }
 
   public TScan deepCopy() {
@@ -274,6 +283,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     this.authorizations = null;
     setReversedIsSet(false);
     this.reversed = false;
+    setCacheBlocksIsSet(false);
+    this.cacheBlocks = false;
   }
 
   public byte[] getStartRow() {
@@ -592,6 +603,29 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __REVERSED_ISSET_ID, value);
   }
 
+  public boolean isCacheBlocks() {
+    return this.cacheBlocks;
+  }
+
+  public TScan setCacheBlocks(boolean cacheBlocks) {
+    this.cacheBlocks = cacheBlocks;
+    setCacheBlocksIsSet(true);
+    return this;
+  }
+
+  public void unsetCacheBlocks() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID);
+  }
+
+  /** Returns true if field cacheBlocks is set (has been assigned a value) and false otherwise */
+  public boolean isSetCacheBlocks() {
+    return EncodingUtils.testBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID);
+  }
+
+  public void setCacheBlocksIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __CACHEBLOCKS_ISSET_ID, value);
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case START_ROW:
@@ -682,6 +716,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       }
       break;
 
+    case CACHE_BLOCKS:
+      if (value == null) {
+        unsetCacheBlocks();
+      } else {
+        setCacheBlocks((Boolean)value);
+      }
+      break;
+
     }
   }
 
@@ -720,6 +762,9 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     case REVERSED:
       return Boolean.valueOf(isReversed());
 
+    case CACHE_BLOCKS:
+      return Boolean.valueOf(isCacheBlocks());
+
     }
     throw new IllegalStateException();
   }
@@ -753,6 +798,8 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       return isSetAuthorizations();
     case REVERSED:
       return isSetReversed();
+    case CACHE_BLOCKS:
+      return isSetCacheBlocks();
     }
     throw new IllegalStateException();
   }
@@ -869,6 +916,15 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return false;
     }
 
+    boolean this_present_cacheBlocks = true && this.isSetCacheBlocks();
+    boolean that_present_cacheBlocks = true && that.isSetCacheBlocks();
+    if (this_present_cacheBlocks || that_present_cacheBlocks) {
+      if (!(this_present_cacheBlocks && that_present_cacheBlocks))
+        return false;
+      if (this.cacheBlocks != that.cacheBlocks)
+        return false;
+    }
+
     return true;
   }
 
@@ -931,6 +987,11 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
     if (present_reversed)
       builder.append(reversed);
 
+    boolean present_cacheBlocks = true && (isSetCacheBlocks());
+    builder.append(present_cacheBlocks);
+    if (present_cacheBlocks)
+      builder.append(cacheBlocks);
+
     return builder.toHashCode();
   }
 
@@ -1052,6 +1113,16 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetCacheBlocks()).compareTo(typedOther.isSetCacheBlocks());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetCacheBlocks()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.cacheBlocks, typedOther.cacheBlocks);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1165,6 +1236,12 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       sb.append(this.reversed);
       first = false;
     }
+    if (isSetCacheBlocks()) {
+      if (!first) sb.append(", ");
+      sb.append("cacheBlocks:");
+      sb.append(this.cacheBlocks);
+      first = false;
+    }
     sb.append(")");
     return sb.toString();
   }
@@ -1299,7 +1376,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
                 struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map109.size);
                 for (int _i110 = 0; _i110 < _map109.size; ++_i110)
                 {
-                  ByteBuffer _key111; // optional
+                  ByteBuffer _key111; // required
                   ByteBuffer _val112; // required
                   _key111 = iprot.readBinary();
                   _val112 = iprot.readBinary();
@@ -1329,6 +1406,14 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 12: // CACHE_BLOCKS
+            if (schemeField.type == org.apache.thrift.protocol.TType.BOOL) {
+              struct.cacheBlocks = iprot.readBool();
+              struct.setCacheBlocksIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1428,6 +1513,11 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         oprot.writeBool(struct.reversed);
         oprot.writeFieldEnd();
       }
+      if (struct.isSetCacheBlocks()) {
+        oprot.writeFieldBegin(CACHE_BLOCKS_FIELD_DESC);
+        oprot.writeBool(struct.cacheBlocks);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -1479,7 +1569,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetReversed()) {
         optionals.set(10);
       }
-      oprot.writeBitSet(optionals, 11);
+      if (struct.isSetCacheBlocks()) {
+        optionals.set(11);
+      }
+      oprot.writeBitSet(optionals, 12);
       if (struct.isSetStartRow()) {
         oprot.writeBinary(struct.startRow);
       }
@@ -1526,12 +1619,15 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
       if (struct.isSetReversed()) {
         oprot.writeBool(struct.reversed);
       }
+      if (struct.isSetCacheBlocks()) {
+        oprot.writeBool(struct.cacheBlocks);
+      }
     }
 
     @Override
     public void read(org.apache.thrift.protocol.TProtocol prot, TScan struct) throws org.apache.thrift.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(11);
+      BitSet incoming = iprot.readBitSet(12);
       if (incoming.get(0)) {
         struct.startRow = iprot.readBinary();
         struct.setStartRowIsSet(true);
@@ -1581,7 +1677,7 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
           struct.attributes = new HashMap<ByteBuffer,ByteBuffer>(2*_map120.size);
           for (int _i121 = 0; _i121 < _map120.size; ++_i121)
           {
-            ByteBuffer _key122; // optional
+            ByteBuffer _key122; // required
             ByteBuffer _val123; // required
             _key122 = iprot.readBinary();
             _val123 = iprot.readBinary();
@@ -1599,6 +1695,10 @@ public class TScan implements org.apache.thrift.TBase<TScan, TScan._Fields>, jav
         struct.reversed = iprot.readBool();
         struct.setReversedIsSet(true);
       }
+      if (incoming.get(11)) {
+        struct.cacheBlocks = iprot.readBool();
+        struct.setCacheBlocksIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
index f2d264a..0669ef8 100644
--- a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
+++ b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift/Hbase.thrift
@@ -150,7 +150,8 @@ struct TScan {
   6:optional Text filterString,
   7:optional i32 batchSize,
   8:optional bool sortColumns,
-  9:optional bool reversed 
+  9:optional bool reversed,
+  10:optional bool cacheBlocks
 }
 
 //

http://git-wip-us.apache.org/repos/asf/hbase/blob/4678c5d9/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
----------------------------------------------------------------------
diff --git a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
index 7c6d6a2..07d71f8 100644
--- a/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
+++ b/hbase-thrift/src/main/resources/org/apache/hadoop/hbase/thrift2/hbase.thrift
@@ -224,6 +224,7 @@ struct TScan {
   9: optional map<binary, binary> attributes
   10: optional TAuthorization authorizations
   11: optional bool reversed
+  12: optional bool cacheBlocks
 }
 
 /**