Commit Graph

1340 Commits

Author SHA1 Message Date
tedyu 76814e8451 HBASE-17010 Serial replication should handle daughter regions being assigned to another RS (Phil Yang) 2016-11-08 06:25:50 -08:00
Mikhail Antonov a34a9adb22 HBASE-17032 CallQueueTooBigException and CallDroppedException should not be triggering PFFE 2016-11-06 21:44:59 -08:00
Matteo Bertozzi 00ea7aeafe HBASE-16892 Use TableName instead of String in SnapshotDescription 2016-11-04 13:18:10 -07:00
anoopsamjohn 05ee54f665 HBASE-17013 Add constructor to RowMutations for initializing the capacity of internal list. (ChiaPing Tsai) 2016-11-04 10:34:20 +05:30
Jim Kleckner 681b7da196 HBASE-16970 Clarify misleading Scan.java comment about caching
Signed-off-by: Yu Li <liyu@apache.org>
2016-11-01 17:33:05 +08:00
zhangduo 6cf9333e97 HBASE-16945 Implement AsyncRegionLocator 2016-11-01 10:18:55 +08:00
Michael Stack fe47ec81f9 HBASE-16969 RegionCoprocessorServiceExec should override the toString() for debugging (ChiaPing Tsai) 2016-10-31 14:32:59 -07:00
daoye.ch 6ce05d44e5 HBASE-16954 Unify HTable#checkAndDelete with AP (ChiaPing Tsai) 2016-10-31 09:15:29 +08:00
zhangduo 9607409fca HBASE-16932 addendum fix incorrect System.arraycopy 2016-10-28 21:39:54 +08:00
tedyu 3dac4f38cd HBASE-16886 hbase-client: scanner with reversed=true and small=true gets no result - addendum 2 makes MAX_BYTE_ARRAY package protected 2016-10-28 06:06:26 -07:00
zhangduo 3283bc7c91 HBASE-16835 Revisit the zookeeper usage at client side 2016-10-28 13:27:41 +08:00
Stephen Yuan Jiang e108a4f815 HBASE-14551 Procedure v2 - Reimplement split (Stephen Yuan Jiang) 2016-10-27 21:45:41 -07:00
Guanghao Zhang 7b74dd0374 HBASE-16947 Some improvements for DumpReplicationQueues tool
Signed-off-by: Michael Stack <stack@apache.org>
2016-10-27 10:12:26 -07:00
tedyu a9526f6fdb HBASE-16886 hbase-client: scanner with reversed=true and small=true gets no result - addendum fixes reference to MAX_BYTE_ARRAY 2016-10-27 08:47:24 -07:00
tedyu d35b65883c HBASE-16886 hbase-client: scanner with reversed=true and small=true gets no result (huzheng) 2016-10-27 06:54:13 -07:00
zhangduo cd3dd6e018 HBASE-16932 Implement small scan 2016-10-26 17:26:58 +08:00
zhangduo 5cee6a39c2 Revert "Implement small scan" due to miss issue number
This reverts commit c7c45f2c85.
2016-10-26 17:22:50 +08:00
zhangduo c7c45f2c85 Implement small scan 2016-10-26 15:45:02 +08:00
Michael Stack 8e2d410195 HBASE-16000 Table#checkAndPut() docs are too vague (Csaba Skrabak)
This is a reapply of a revert just to fix the commit message

This reverts commit 9c6d123b22.
2016-10-25 14:33:22 -07:00
Michael Stack 9c6d123b22 Revert "HBASE-1600 Table#checkAndPut() docs are too vague (Csaba Skrabak)"
Committed with the wrong HBASE JIRA number

This reverts commit 36aa416856.
2016-10-25 14:32:50 -07:00
Michael Stack 36aa416856 HBASE-1600 Table#checkAndPut() docs are too vague (Csaba Skrabak) 2016-10-25 09:19:32 -07:00
Ramkrishna 0ae211eb39 HBASE-16414 Improve performance for RPC encryption with Apache Common
Crypto (Colin Ma)
2016-10-21 16:02:39 +05:30
Ashu Pachauri f1691e3d0d HBASE-16752 addendum. Do not retry large request for client versions less than 1.3
Signed-off-by: Gary Helmling <garyh@apache.org>
2016-10-20 10:34:01 -07:00
zhangduo ddc84356dd HBASE-16872 Implement mutateRow and checkAndMutate 2016-10-20 09:40:05 +08:00
Ashu Pachauri ee1123b069 HBASE-16752 Return error back to rpc client on exceeding rpc request size limit.
Signed-off-by: Gary Helmling <garyh@apache.org>
2016-10-19 15:09:51 -07:00
Huaxiang Sun 72db953886 HBASE-16345 RpcRetryingCallerWithReadReplicas#call() should catch some RegionServer Exceptions
Fix logic for
1). how to handle exception while waiting for reply from the primary replica.
2). handle exception from replicas while waiting for a correct response.

Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2016-10-19 13:55:43 -07:00
zhangduo acc606571b HBASE-16837 Implement checkAndPut and checkAndDelete 2016-10-19 13:32:24 +08:00
tedyu 6c89c6251f HBASE-16866 Avoid NPE in AsyncRequestFutureImpl#updateStats (ChiaPing Tsai) 2016-10-18 11:10:33 -07:00
tedyu bb6cc4d43e HBASE-16854 Refactor the org.apache.hadoop.hbase.client.Action (ChiaPing Tsai) 2016-10-18 09:47:25 -07:00
Esteban Gutierrez 5bc518b387 HBASE-16774 [shell] Add coverage to TestShell when ZooKeeper is not reachable 2016-10-18 09:08:33 -07:00
zhangduo b4f6ebde24 HBASE-16836 Implement increment and append 2016-10-18 22:34:14 +08:00
tedyu 10840a51e8 HBASE-16145 MultiRowRangeFilter constructor shouldn't throw IOException (Konstantin Ryakhovskiy) 2016-10-17 16:06:10 -07:00
tedyu c8e9a295c1 HBASE-16855 Avoid NPE in MetricsConnection’s construction (ChiaPing Tsai) 2016-10-17 09:34:21 -07:00
zhangduo 3a0dbf71a9 HBASE-16834 Add AsyncConnection support for ConnectionFactory 2016-10-17 13:08:43 +08:00
Stephen Yuan Jiang b972839ca1 HBASE-16844 Procedure V2: DispatchMergingRegionsProcedure to use base class StateMachineProcedure for abort and rollback (Stephen Yuan Jiang) 2016-10-14 14:09:35 -07:00
Ramkrishna 635ea05b9a HBASE-16729 Define the behavior of (default) empty FilterList(ChiaPing
Tsai)
2016-10-14 23:14:33 +05:30
zhangduo 3fe7508295 HBASE-15921 Add first AsyncTable impl and create TableImpl based on it 2016-10-14 22:52:52 +08:00
Phil Yang 88ff71b91b HBASE-16664 Timeout logic in AsyncProcess is broken
Signed-off-by: chenheng <chenheng@apache.org>
2016-10-13 16:15:43 +08:00
Michael Stack a46134bffc HBASE-16731 Inconsistent results from the Get/Scan if we use the empty FilterList (ChiaPing Tsai) 2016-10-12 12:13:41 -07:00
Ramkrishna 58e843dae2 HBASE-16372 References to previous cell in read path should be avoided
(Ram)
2016-10-06 14:19:12 +05:30
anoopsamjohn 06758bf630 HBASE-16759 Avoid ByteString.copyFrom usage wherever possible. 2016-10-06 00:27:34 +05:30
zhangduo 3aa4dfa73d HBASE-16690 Move znode path configs to a separated class 2016-10-05 20:12:44 +08:00
anoopsamjohn 617dfe18cd HBASE-16758 back HBaseZeroCopyByteStringer stuff. 2016-10-05 12:57:13 +05:30
stack 95c1dc93fb HBASE-15638 Shade protobuf
Which includes

    HBASE-16742 Add chapter for devs on how we do protobufs going forward

    HBASE-16741 Amend the generate protobufs out-of-band build step
    to include shade, pulling in protobuf source and a hook for patching protobuf

    Removed ByteStringer from hbase-protocol-shaded. Use the protobuf-3.1.0
    trick directly instead. Makes stuff cleaner. All under 'shaded' dir is
    now generated.

    HBASE-16567 Upgrade to protobuf-3.1.x
    Regenerate all protos in this module with protoc3.
    Redo ByteStringer to use new pb3.1.0 unsafebytesutil
    instead of HBaseZeroCopyByteString

    HBASE-16264 Figure how to deal with endpoints and shaded pb Shade our protobufs.
    Do it in a manner that makes it so we can still have in our API references to
    com.google.protobuf (and in REST). The c.g.p in API is for Coprocessor Endpoints (CPEP)

            This patch is Tactic #4 from Shading Doc attached to the referenced issue.
            Figuring an appoach took a while because we have Coprocessor Endpoints
            mixed in with the core of HBase that are tough to untangle (FIX).

            Tactic #4 (the fourth attempt at addressing this issue) is COPY all but
            the CPEP .proto files currently in hbase-protocol to a new module named
            hbase-protocol-shaded. Generate .protos again in the new location and
            then relocate/shade the generated files. Let CPEPs keep on with the
            old references at com.google.protobuf.* and
            org.apache.hadoop.hbase.protobuf.* but change the hbase core so all
            instead refer to the relocated files in their new location at
            org.apache.hadoop.hbase.shaded.com.google.protobuf.*.

            Let the new module also shade protobufs themselves and change hbase
            core to pick up this shaded protobuf rather than directly reference
            com.google.protobuf.

            This approach allows us to explicitly refer to either the shaded or
            non-shaded version of a protobuf class in any particular context (though
            usually context dictates one or the other). Core runs on shaded protobuf.
            CPEPs continue to use whatever is on the classpath with
            com.google.protobuf.* which is pb2.5.0 for the near future at least.

            See above cited doc for follow-ons and downsides. In short, IDEs will complain
            about not being able to find the shaded protobufs since shading happens at package
            time; will fix by checking in all generated classes and relocated protobuf in
            a follow-on. Also, CPEPs currently suffer an extra-copy as marshalled from
            non-shaded to shaded. To fix. Finally, our .protos are duplicated; once
            shaded, and once not. Pain, but how else to reveal our protos to CPEPs or
            C++ client that wants to talk with HBase AND shade protobuf.

            Details:

            Add a new hbase-protocol-shaded module. It is a copy of hbase-protocol
    i       with all relocated offset from o.a.h.h. to o.a.h.h.shaded. The new module
            also includes the relocated pb. It does not include CPEPs. They stay in
            their old location.

            Add another module hbase-endpoint which has in it all the endpoints
            that ship as part of hbase -- at least the ones that are not
            entangled with core such as AccessControl and Auth. Move all protos
            for these CPEPs here as well as their unit tests (mostly moving a
            bunch of stuff out of hbase-server module)

            Much of the change looks like this:

                 -import org.apache.hadoop.hbase.protobuf.ProtobufUtil;
                 -import org.apache.hadoop.hbase.protobuf.generated.ClusterIdProtos;
                 +import org.apache.hadoop.hbase.protobuf.shaded.ProtobufUtil;
                 +import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterIdProtos;

            In HTable and in HBaseAdmin, regularize the way Callables are used and also hide
            protobuf usage as much as possible moving it up into Callable super classes or out
            to utility classes. Still TODO is adding in of retries, etc., but can wait on
            procedure which will redo all this.

            Also in HTable and HBaseAdmin as well as in HRegionServer and Server, be explicit
            when using non-shaded protobuf. Do the full-path so it is clear. This is around
            endpoint coprocessors registration of services and execution of CPEP methods.

            Shrunk ProtobufUtil by moving methods used by one CPEP only back to the CPEP either
            into Client class or as new Util class; e.g. AccessControlUtil.

            There are actually two versions of ProtobufUtil now; a shaded one and a subset
            that is used by CPEPs doing non-shaded work.

            Made it so hbase-common no longer depends on hbase-protocol (with Matteo's help)

            R*Converter classes got moved down under shaded package -- they are for internal
            use only. There are no non-shaded versions of these classes.

            D hbase-client/src/main/java/org/apache/hadoop/hbase/client/AbstractRegionServerCallable
            D RetryingCallableBase
             Not used anymore and we have too many tiers of Callables so removed/cleaned-up.

            A ClientServicecallable
             Had to add this one. RegionServerCallable was made generic so it could be used
             for a few Interfaces (Client and Admin). Then added ClientServiceCallable to
             implement RegionServerCallable with the Client Interface.
2016-10-03 21:37:32 -07:00
Jerry He 3757da643d HBASE-16732 Avoid possible NPE in MetaTableLocator 2016-09-29 14:00:46 -07:00
anoopsamjohn b0fcca6d7b HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell.(binlijin) 2016-09-27 22:48:04 +05:30
tedyu aa4a678ebf HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell - revert due to TestFilter failure 2016-09-27 03:37:54 -07:00
tedyu 219c786457 HBASE-16672 Add option for bulk load to copy hfile(s) instead of renaming 2016-09-26 18:56:38 -07:00
tedyu 890e3f223f HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell (binlijin) 2016-09-26 09:06:00 -07:00
anoopsamjohn da37fd9cdc HBASE-16705 Eliminate long to Long auto boxing in LongComparator. (binlijin) 2016-09-26 11:11:52 +05:30