Commit Graph

317 Commits

Author SHA1 Message Date
tedyu bb6cc4d43e HBASE-16854 Refactor the org.apache.hadoop.hbase.client.Action (ChiaPing Tsai) 2016-10-18 09:47:25 -07:00
tedyu c8e9a295c1 HBASE-16855 Avoid NPE in MetricsConnection’s construction (ChiaPing Tsai) 2016-10-17 09:34:21 -07: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
zhangduo 3aa4dfa73d HBASE-16690 Move znode path configs to a separated class 2016-10-05 20:12:44 +08:00
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
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 890e3f223f HBASE-16691 Optimize KeyOnlyFilter by utilizing KeyOnlyCell (binlijin) 2016-09-26 09:06:00 -07:00
chenheng 2cf8907db5 HBASE-16631 Extract AsyncRequestFuture related code from AsyncProcess 2016-09-17 00:35:23 +08:00
chenheng 831fb3ccb8 HBASE-16592 Unify Delete request with AP 2016-09-13 10:07:45 +08:00
Dustin Pho 1cdc5acfd4 Adding checks in Scanner's setStartRow and setStopRow for invalid row key sizes.
Signed-off-by: Gary Helmling <garyh@apache.org>
2016-09-12 16:54:51 -07:00
chenheng cc2a40a78f HBASE-16596 Reduce redundant interfaces in AsyncProcess 2016-09-10 11:13:28 +08:00
zhangduo c04b389181 HBASE-16445 Refactor and reimplement RpcClient 2016-09-08 20:32:56 +08:00
zhangduo 91227f8f98 HBASE-16516 Revisit the implementation of PayloadCarryingRpcController 2016-09-04 09:16:15 +08:00
tedyu 592245ff13 HBASE-16556 The read/write timeout are not used in HTable.delete(List), HTable.get(List), and HTable.existsAll(List) (ChiaPing Tsai) 2016-09-03 17:14:57 -07:00
zhangduo e30a66b944 HBASE-16526 Addendum add missing stuffs 2016-09-01 11:48:35 +08:00
tedyu c536c85116 HBASE-16515 AsyncProcess has incorrent count of tasks if the backoff policy is enabled - addendum fixes timeout of TestAsyncProcess#testSubmitRandomSizeRequest (Chiaping Tsai) 2016-08-31 02:05:12 -07:00
zhangduo 647a65ce01 HBASE-16531 Move cell block related code out of IPCUtil 2016-08-31 13:09:22 +08:00
tedyu 0f92e943ac HBASE-16515 AsyncProcess has incorrent count of tasks if the backoff policy is enabled (ChiaPing Tsai) 2016-08-30 08:01:49 -07:00
chenheng c000f29e47 HBASE-16224 Reduce the number of RPCs for the large PUTs (ChiaPing Tsai) 2016-08-30 06:35:33 +08:00
anoopsamjohn e0aee7c74f Revert "HBASE-14882 Provide a Put API that adds the provided family, qualifier, value without copying. (Xiang Li)"
This reverts commit a63ba09c99.
2016-08-26 18:01:59 +05:30
anoopsamjohn a63ba09c99 HBASE-14882 Provide a Put API that adds the provided family, qualifier, value without copying. (Xiang Li) 2016-08-26 17:59:48 +05:30
stack 45bb6180a3 REVERT of revert of "HBASE-16308 Contain protobuf references Gather up the pb references into a few locations only rather than have pb references distributed all about the code base."
This is a revert of a revert; i.e. we are adding back the change only adding
back with fixes for the broken unit test; was a real issue on a test that
went in just at same time as this commit; I was getting a new nonce on each
retry rather than getting one for the mutation.

Other changes since revert are more hiding of RpcController. Use
accessor method rather than always pass in a RpcController

Walked back retrying operations that used to be single-shot (though
code comment said need a retry) because it opens a can of worms where
we retry stuff like bad column family when we shouldn't (needs
work adding in DoNotRetryIOEs)

Changed name of class from PayloadCarryingServerCallable to
CancellableRegionServerCallable.

Fix javadoc and findbugs warnings.

Fix case of not initializing the ScannerCallable RpcController.

Below is original commit message:

 Remove mention of ServiceException and other protobuf classes from all over the codebase.
 Purge TimeLimitedRpcController. Lets just have one override of RpcController.
        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/AbstractRegionServerCallable.java
         Cleanup. Make it clear this is an odd class for async hbase intro.
        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
         Refactor of RegionServerCallable allows me clean up a bunch of
         boilerplate in here and remove protobuf references.
        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
          Purge protobuf references everywhere except a reference to a throw of a
          ServiceException in method checkHBaseAvailable. I deprecated it in favor
          of new available method (the SE is not actually needed)
        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/PayloadCarryingServerCallable.java
         Move the RetryingTimeTracker instance in here from HTable.
         Allows me to contain tracker and remove a repeated code in HTable.
        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java
         Clean up move set up of rpc in here rather than have it repeat in HTable.
         Allows me to remove protobuf references from a bunch of places.
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/FlushRegionCallable.java
     Make use of the push of boilerplate up into RegionServerCallable
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/PayloadCarryingServerCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/SecureBulkLoadClient.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
     Move boilerplate up into superclass.
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RetryingTimeTracker.java
     Cleanup
    M hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java
     Factor in TimeLimitedRpcController. Just have one RpcController override.
    D hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/TimeLimitedRpcController.java
     Removed. Lets have one override of pb rpccontroller only.
    M hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
     (handleRemoteException) added
     (toText) added
2016-08-10 10:12:06 -07:00
Vivek 30d7eeaefe HBASE-15866 Split hbase.rpc.timeout into *.read.timeout and *.write.timeout
Signed-off-by: Andrew Purtell <apurtell@apache.org>
Amending-Author: Andrew Purtell <apurtell@apache.org>
2016-08-06 16:55:09 -07:00
stack 0206dc67d6 Revert "HBASE-16308 Contain protobuf references Gather up the pb references into a few locations only rather than have pb references distributed all about the code base."
This reverts commit ed87a81b4b.
2016-08-05 15:18:48 -07:00
stack ed87a81b4b HBASE-16308 Contain protobuf references Gather up the pb references into a few locations only rather than have pb references distributed all about the code base.
Purge ServiceException from Callable subclasses by pushing SE handling
up into the parent Callable class (varies by context but this is basic
patten). Allows us remove a bunch of boilerplate.
Do this in the public facing classes in particular (though if
an API has SE in it -- which a few do, this patch leaves these
untouched -- for now.) Make it so HBaseAdmin and HTable have no
direct pb imports (except for endpoint processor API).

Change a few of the HBaseAdmin calls to be retrying where comments
ask that we do retry rather than one time.

Purge TimeLimitedRpcController. Lets just have one override of RpcController.

        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/AbstractRegionServerCallable.java
         Cleanup. Make it clear this is an odd class for async hbase intro.

        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
         Refactor of RegionServerCallable allows me clean up a bunch of
         boilerplate in here and remove protobuf references.

        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
          Purge protobuf references everywhere except a reference to a throw of a
          ServiceException in method checkHBaseAvailable. I deprecated it in favor
          of new available method (the SE is not actually needed)

        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/PayloadCarryingServerCallable.java
         Move the RetryingTimeTracker instance in here from HTable.
         Allows me to contain tracker and remove a repeated code in HTable.

        M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionServerCallable.java
         Clean up move set up of rpc in here rather than have it repeat in HTable.
         Allows me to remove protobuf references from a bunch of places.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/FlushRegionCallable.java
     Make use of the push of boilerplate up into RegionServerCallable

    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/MultiServerCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/PayloadCarryingServerCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RegionAdminServiceCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/ScannerCallable.java
    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/SecureBulkLoadClient.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.java
     Move boilerplate up into superclass.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/client/RetryingTimeTracker.java
     Cleanup

    M hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/WALEditsReplaySink.java
    M hbase-server/src/main/java/org/apache/hadoop/hbase/replication/regionserver/RegionReplicaReplicationEndpoint.java
     Factor in TimeLimitedRpcController. Just have one RpcController override.

    D hbase-client/src/main/java/org/apache/hadoop/hbase/ipc/TimeLimitedRpcController.java
     Removed. Lets have one override of pb rpccontroller only.

    M hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
     (handleRemoteException) added
     (toText) added

Signed-off-by: stack <stack@apache.org>
2016-08-05 10:13:58 -07:00
Ramkrishna 2c5a0fcf1f HBASE-14881 Provide a Put API that uses the provided row without coping
(Xiang Li)
2016-08-01 14:35:49 +05:30
Jerry He 70f330dc84 Consolidate SecureBulkLoadEndpoint into HBase core as default for bulk load 2016-07-19 19:53:10 -07:00
Enis Soztutar a07892558b HBASE-16095 Add priority to TableDescriptor and priority region open thread pool 2016-07-13 18:19:59 -07:00
Matteo Bertozzi 41cc215544 HBASE-15975 logic in TestHTableDescriptor#testAddCoprocessorWithSpecStr is wrong (Huaxiang Sun) 2016-06-08 22:42:50 -07:00
Ramkrishna b21c56e795 HBASE-15174 Client Public API should not have PB objects in 2.0 (Ram) 2016-06-06 10:11:38 +05:30
Yu Li 53eb27bb60 HBASE-15931 Add log for long-running tasks in AsyncProcess 2016-06-02 12:00:42 +08:00
Jurriaan Mous a1f0c1cbb3 HBASE-15875 Remove HTable references and HTableInterface
Signed-off-by: stack <stack@apache.org>
2016-05-30 19:56:54 -07:00
Jurriaan Mous cdd532da8a HBASE-15610 Remove deprecated HConnection for 2.0 thus removing all PB references for 2.0
Signed-off-by: stack <stack@apache.org>
2016-05-29 07:50:55 -07:00
Ramkrishna 7b5d5394c0 HBASE-15784 Misuse core/maxPoolSize of LinkedBlockingQueue in
ThreadPoolExecutor (Jingcheng Du)
2016-05-18 12:40:43 +05:30
stack 6904430a3d HBASE-15811 Batch Get after batch Put does not fetch all Cells We were not waiting on all executors in a batch to complete. The test for no-more-executors was damaged by the 0.99/0.98.4 fix "HBASE-11403 Fix race conditions around Object#notify"
It added this in AsyncProcess#waitForMaximumCurrentTasks:

synchronized (this.tasksInProgress) {
+          if (tasksInProgress.get() != oldInProgress) break;
           this.tasksInProgress.wait(100);

which added a break out of our waiting loop if any change in
count of tasks; it seems that what was wanted was instead to
avoid the wait if there was movement in the count of completed
task.

Reformats waitForMaximumCurrentTasks so it is testable. Adds
test that we indeed wait on the specified parameter.
2016-05-13 17:51:27 -07:00
Ramkrishna 97ad33c691 HBASE-15609 Remove PB references from Result, DoubleColumnInterpreter and
any such public facing class for 2.0 (Ram)
2016-05-09 14:56:00 +05:30
tedyu 8b0ce77942 HBASE-15292 Refined ZooKeeperWatcher to prevent ZooKeeper's callback while construction (Hiroshi Ikeda) 2016-05-05 11:14:32 -07:00
Ramkrishna c06a976a98 HBASE-15607 Remove PB references from Admin for 2.0 (Ram) 2016-05-03 10:51:46 +05:30
Enis Soztutar 7e399883f6 HBASE-15505 ReplicationPeerConfig should be builder-style (Gabor Liptak) 2016-04-05 11:44:05 -07:00
Enis Soztutar 0520097611 HBASE-15295 MutateTableAccess.multiMutate() does not get high priority causing a deadlock 2016-03-28 17:56:32 -07:00
anoopsjohn eea8b38dfa HBASE-15180 Reduce garbage created while reading Cells from Codec Decoder. 2016-03-11 13:58:41 +05:30
Jesse Yates ef712df944 HBASE-14703 HTable.mutateRow does not collect stats (Heng Chen) 2016-03-05 11:01:45 -08:00
Jonathan M Hsieh f658f3ef83 HBASE-15356 Remove unused imports (Youngjoon Kim) 2016-03-03 11:42:38 -08:00
Josh Elser a8073c4a98 HBASE-15232 Handle region location cache mgmt in AsyncProcess for multi()'s
Further investigation after HBASE-15221 lead to some findings that
AsyncProcess should have been managing the contents of the region
location cache, appropriately clearing it when necessary (e.g. an
RPC to a server fails because the server doesn't host that region)

For multi() RPCs, the tableName argument is null since there is no
single table that the updates are destined to. This inadvertently
caused the existing region location cache updates to fail on 1.x
branches. AsyncProcess needs to handle when tableName is null
and perform the necessary cache evictions.

As such, much of the new retry logic in HTableMultiplexer is
unnecessary and is removed with this commit. Getters which were
added as a part of testing were left since that are mostly
harmless and should contain no negative impact.

Signed-off-by: stack <stack@apache.org>
2016-02-22 22:03:14 -08:00
anoopsjohn 12982d1957 HBASE-15198 RPC client not using Codec and CellBlock for puts by default-addendum. 2016-02-12 07:37:45 +05:30
Josh Elser dfd8a31a13 HBASE-15221 Reload the cache on re-tried puts in HTableMultiplexer and adds a close() method to HTableMultiplexer
When a Put fails due to a NotServingRegionException, the cached location
of that Region is never cleared. Thus, subsequent calls to resubmit
the Put will fail in the same way as the original, never determining
the new location of the Region.

If the Connection is not closed by the user before the Multiplexer
is discarded, it will leak resources and could cause resource
issues.

Signed-off-by: Sean Busbey <busbey@cloudera.com>
2016-02-08 00:04:28 -06:00
Enis Soztutar a69272efe1 HBASE-15177 Reduce garbage created under high load 2016-02-04 13:27:00 -08:00
stack ed46591f30 HBASE-15196 HBASE-15158 Preamble 2 of 2:Add Increment tests 2016-02-02 11:27:03 -08:00
Elliott Clark 138b754671 HBASE-15146 Don't block on Reader threads queueing to a scheduler queue 2016-01-28 07:58:43 -05:00
tedyu 4ac8d4ce61 HBASE-14865 Support passing multiple QOPs to SaslClient/Server via hbase.rpc.protection (Appy) 2016-01-14 16:39:52 -08:00
Mikhail Antonov abe30b52a8 HBASE-14534 Bump yammer/coda/dropwizard metrics dependency version 2015-12-15 12:11:27 -08:00
Nate Edel 9511150bd6 HBASE-14901 Remove duplicate code to create/manage encryption keys
Signed-off-by: Gary Helmling <garyh@apache.org>
2015-12-10 14:38:43 -08:00
Gary Helmling c1e0fcc26d HBASE-14866 VerifyReplication and ReplicationAdmin should use full peer configuration for peer connection 2015-12-09 15:52:27 -08:00
tedyu 2317ec583d HBASE-14894 Fix misspellings of threshold in log4j.properties files for tests (Youngjoon Kim) 2015-11-28 10:08:38 -08:00
tedyu 789f8a5a70 HBASE-14498 Revert for on-going review 2015-11-12 12:57:23 -08:00
tedyu b677f2e65d HBASE-14498 Master stuck in infinite loop when all Zookeeper servers are unreachable (Pankaj Kumar) 2015-11-12 07:21:19 -08:00
tedyu cfc5348b5e HBASE-14758 Add UT case for unchecked error/exception thrown in AsyncProcess#sendMultiAction (Yu Li) 2015-11-04 07:20:59 -08:00
stack ceddec9141 HBASE-14725 Vet categorization of tests so they for sure go into the right small/medium/large buckets 2015-11-03 20:47:20 -08:00
chenheng 6871724104 HBASE-12986 Compaction pressure based client pushback
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-11-03 18:32:08 -08:00
stack e4bf77e2de HBASE-14754 TestFastFailWithoutTestUtil failing on trunk now in #testPreemptiveFastFailException50Times 2015-11-03 16:20:55 -08:00
stack 9630fec2d5 Revert "HBASE-14725 Vet categorization of tests so they for sure go into the right small/medium/large buckets"
Revert. Seems to have destabilized the build

This reverts commit 6dbb5a8052.
2015-11-02 08:17:41 -08:00
stack 6dbb5a8052 HBASE-14725 Vet categorization of tests so they for sure go into the right small/medium/large buckets 2015-11-01 22:26:43 -08:00
Elliott Clark ec651bfc7b HBASE-14687 Un-synchronize BufferedMutator
Summary:
Use concurrent collections and atomic longs to keep track of edits in buffered mutator.
This keeps buffered mutator as thread safe but it means that shared buffered mutators are not contending on thread locking.

Test Plan: Unit Tests.

Differential Revision: https://reviews.facebook.net/D49467
2015-10-30 13:27:25 -07:00
Jonathan M Hsieh 094d65e6f5 HBASE-14673 Exorcise deprecated Delete#delete* api 2015-10-29 11:15:34 -07:00
Jonathan M Hsieh de9555cec4 HBASE-14675 Exorcise deprecated Put#add(...) and replace with Put#addColumn(...) 2015-10-29 11:15:31 -07:00
Enis Soztutar 0e6dd3257b HBASE-14425 In Secure Zookeeper cluster superuser will not have sufficient permission if multiple values are configured in hbase.superuser (Pankaj Kumar) 2015-10-27 16:56:20 -07:00
Matteo Bertozzi 36a196722c HBASE-14669 remove unused import and fix javadoc 2015-10-22 09:25:26 -07:00
Nicolas Liochon e7defd7d9a HBASE-14521 Unify the semantic of hbase.client.retries.number (Yu Li) 2015-10-15 10:42:40 +02:00
Nick Dimiduk 7e30436e3f HBASE-12911 Client-side metrics 2015-10-07 17:01:56 -07:00
Mikhail Antonov 19045a5ea7 HBASE-14367 Add normalization support to shell 2015-10-04 00:29:39 -07:00
Matteo Bertozzi 2e8575bb0f HBASE-14485 ConnectionImplementation leaks on construction failure 2015-10-01 12:56:37 -07:00
stack bd26386dc7 HBASE-14433 Set down the client executor core thread count from 256 in tests: REAPPLY AGAIN (WAS MISSING JIRA) 2015-09-16 10:13:55 -07:00
stack b0aa86a694 Revert "Set down the client executor core thread count from 256 in tests: REAPPLY"
Missing JIRA number.

This reverts commit b00f3d3703.
2015-09-16 10:12:39 -07:00
stack b00f3d3703 Set down the client executor core thread count from 256 in tests: REAPPLY 2015-09-16 08:57:06 -07:00
stack 8633b26ee5 Revert "HBASE-14433 Set down the client executor core thread count from 256 to number of processors"
This reverts commit d2e3381818.
2015-09-16 08:53:34 -07:00
stack d2e3381818 HBASE-14433 Set down the client executor core thread count from 256 to number of processors 2015-09-15 22:36:05 -07:00
stack ceff3e242b HBASE-14421 TestFastFail* are flakey; ADDENDUM 2 DISABLE testInterceptorIntercept50Times 2015-09-13 10:33:44 -07:00
stack a9157379a3 HBASE-14421 TestFastFail* are flakey 2015-09-12 22:34:04 -07:00
Nick Dimiduk a11bb2a933 HBASE-14382 TestInterfaceAudienceAnnotations should hadoop-compt module resources 2015-09-09 11:08:28 -07:00
stack d0873f5a8c HBASE-14224 Fix coprocessor handling of duplicate classes 2015-08-24 13:47:19 -07:00
tedyu 4b6598e394 HBASE-13864 HColumnDescriptor should parse the output from master and from describe for TTL (Ashu Pachauri) 2015-08-01 02:15:02 -07:00
Ashish Singhi f504e4b4ed HBASE-14154 DFS Replication should be configurable at column family level
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-07-31 19:15:48 -07:00
Sean Busbey 4ce6f486d0 HBASE-14087 Ensure correct ASF headers for docs/code
* adds missing headers
* corrects some old-form headers to current
* restores proper header for guava copied LimitInputStream
* adds proper header for protobuf copied read/writeRawVarint
2015-07-29 14:25:43 -05:00
Jonathan M Hsieh 493f36c899 HBASE-11339 Merge remote-tracking branch 'apache/hbase-11339' (Jingcheng Du) 2015-07-22 12:51:11 -07:00
anoopsjohn 3b6db26863 HBASE-13954 Remove HTableInterface#getRowOrBefore related server side code. (Ashish) 2015-07-21 09:08:26 +05:30
anoopsjohn ebdac4b52e HBASE-12296 Filters should work with ByteBufferedCell. 2015-07-16 09:36:05 +05:30
ramkrishna a3d30892b4 HBASE-14047 - Cleanup deprecated APIs from Cell class (Ashish Singhi) 2015-07-13 22:06:16 +05:30
Enis Soztutar 5e708746b8 HBASE-13997 ScannerCallableWithReplicas cause Infinitely blocking (Zephyr Guo and Enis) 2015-07-10 16:06:29 -07:00
anoopsjohn 62f5694491 HBASE-13998 Remove CellComparator#compareRows(byte[] left, int loffset, int llength, byte[] right, int roffset, int rlength). 2015-07-02 11:58:25 +05:30
anoopsjohn 7b92d8c06a HBASE-13968 Remove deprecated methods from BufferedMutator class.(Ashish Singhi) 2015-06-29 11:00:54 +05:30
Ashish Singhi 3efde85614 HBASE-13214 Remove deprecated and unused methods from HTable class 2015-06-26 15:39:53 -07:00
stack b5b5853043 HBASE-13893 Replace HTable with Table in client tests (Jurriaan Mous) 2015-06-25 14:42:33 -07:00
Changgeng Li dcc711fff2 HBASE-13638 Put copy constructor is shallow
Deep copy the cell list

Signed-off-by: Elliott Clark <eclark@apache.org>
2015-06-01 13:55:29 -07:00
Matteo Bertozzi 749dda6aca HBASE-13779 Calling table.exists() before table.get() end up with an empty Result (addendum) 2015-05-29 17:41:33 -07:00
Geoffrey e61bf1bf25 HBASE 13796 - Fixed ZKUtil's cleaning of the zookeeper quorum setting
Signed-off-by: stack <stack@apache.org>
2015-05-28 20:06:58 -07:00
Andrew Purtell 942e09b71e HBASE-13768 ZooKeeper znodes are bootstrapped with insecure ACLs in a secure configuration (Enis Soztutar) 2015-05-27 12:23:14 -07:00
Jonathan M Hsieh 09a00efc0b Merge remote-tracking branch 'apache/master' (5/19/15) into hbase-11339
Patches that caused deltas:
HBASE-10810 - around HColumnDescriptor 'should' vs 'is' api.
HBASE-11677 - LOG was made private
HBASE-11927 - Checksum constant changed
HBASE-10800 - CellComparator instead of KVComparator

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/util/LoadTestTool.java
2015-05-19 16:30:21 -07:00
eshcar 86b91997d0 HBASE-13071 Hbase Streaming Scan Feature
Signed-off-by: stack <stack@apache.org>
2015-05-13 08:23:39 -07:00
Sean Busbey 9aeafe30b7 HBASE-13611 update clover profile to work with clover 4.x and maven 3.
* change pom to use a maven 3 compat version of clover
* add clover to javadoc plugin deps so that instrumented doclet works
* modify IA annotation test to filter out clover instrumentation
* make splitlog counters check for atomiclong before casting
2015-05-11 01:01:57 -05:00
ramkrishna 977f867439 HBASE-10800 - Use CellComparator instead of KVComparator (Ram) 2015-05-05 11:38:10 +05:30
Jonathan M Hsieh 0e20bbf6a3 Merge branch 'apache/master' (4/16/15) into hbase-11339
API conflicts and test fixes
Update LoadTestTool.COLUMN_FAMILY -> DEFAULT_COLUMN_FAMILY due HBASE-11842
Use new 1.0+ api in some tests
Use updated Scanners internal api
Fix to take into account  HBASE-13203 - procedure v2 table delete

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/protobuf/ProtobufUtil.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java
2015-05-01 08:18:51 -07:00
Usha Kuchibhotla 94a00bea07 HBASE-11677 Making Logger instance modifiers consistent.
* IA.Public accessible logger instances deprecated
* logger instances modified by tests left in place
* all others made private static final

Signed-off-by: Sean Busbey <busbey@apache.org>
2015-04-28 09:20:34 -05:00
Ashish Singhi 84dd84fc58 HBASE-13572 Procedure v2 - client truncate table sync
Signed-off-by: Matteo Bertozzi <matteo.bertozzi@cloudera.com>
2015-04-28 12:46:06 +01:00
Matteo Bertozzi 6a6e3f46fd HBASE-13204 Procedure v2 - client create/delete table sync 2015-04-10 18:53:42 +01:00
Andrew Purtell 8c707499ba HBASE-13409 Add categories to uncategorized tests 2015-04-06 11:02:18 -07:00
Mikhail Antonov 578df6dfc0 HBASE-13252 Get rid of managed connections and connection caching
Signed-off-by: stack <stack@apache.org>
2015-04-02 12:00:42 -07:00
Josh Elser ffdcc00952 HBASE-13335 Use serverHasMoreResults context in SmallScanner and SmallReversedScanner.
Use the context passed back via ScanResponse that a RegionServer
fills in to denote whether or not more results existing in the
current Region. Add a simple factory to remove a static method
used across both SmallScanner and SmallReverseScanner. Add new
unit tests for both scanner classes to test scans with and
without the new context (as a quick backward-compatibility test).
2015-03-31 21:32:49 -07:00
Josh Elser ced0e324a1 HBASE-13262 Observe ScanResponse.moreResults in ClientScanner.
The RS already returns to the client whether or not it has additional
results to be returned in a subsequent call to scan(), but the ClientScanner
did not use or adhere to this value. Subsequently, this can lead to
bugs around moving to the next region too early. A new method was added
to ClientScanner in the name of testability.

Encapsulate server-state into RegionServerCallable to avoid
modifying parameterization of callable impls.

Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-03-28 18:56:52 -07:00
Ashish Singhi b5c4d9a04f HBASE-13305 Get(Get get) is not copying the row key
Signed-off-by: stack <stack@apache.org>
2015-03-25 07:39:05 -07:00
stack 8579c6dd49 HBASE-13248 Make HConnectionImplementation top-level class 2015-03-25 07:25:44 -07:00
stack f57dca5e1b HBASE-13198 Remove HConnectionManager (Mikhail Antonov) 2015-03-20 09:41:48 -07:00
Andrey Stepachev 948746ce4e HBASE-12990 MetaScanner should be replaced by MetaTableAccessor 2015-03-09 10:39:59 +00:00
Ashish Singhi 913ea2c222 HBASE-13048 Use hbase.crypto.wal.algorithm in SecureProtobufLogReader while decrypting the data
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-02-24 18:18:07 -08:00
Enis Soztutar e405017a31 HBASE-12561 Replicas of regions can be cached from different instances of the table in MetaCache 2015-02-23 11:06:17 -08:00
Jonathan M Hsieh fe335b683c Merge branch 'master' (2/11/15) into hbase-11339
Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/HColumnDescriptor.java
	hbase-client/src/test/java/org/apache/hadoop/hbase/TestHColumnDescriptor.java
	hbase-common/src/main/java/org/apache/hadoop/hbase/TagType.java
	hbase-common/src/main/resources/hbase-default.xml
	hbase-hadoop-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapper.java
	hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.java
	hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestAcidGuarantees.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/io/HFileLink.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/handler/DeleteTableHandler.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/Compactor.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/compactions/StripeCompactor.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/ExportSnapshot.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java
	hbase-server/src/main/java/org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java
	hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperStub.java
	pom.xml
	src/main/docbkx/book.xml
	src/main/docbkx/ops_mgt.xml
	src/main/docbkx/schema_design.xml
2015-02-22 12:54:45 -08:00
Ashish Singhi 31f17b17f0 HBASE-13002 Make encryption cipher configurable
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-02-18 11:42:20 -08:00
Nick Dimiduk ab18158e60 HBASE-12728 buffered writes substantially less useful after removal of HTablePool (Solomon Duskis and Nick Dimiduk)
In our pre-1.0 API, HTable is considered a light-weight object that consumed by
a single thread at a time. The HTablePool class provided a means of sharing
multiple HTable instances across a number of threads. As an optimization,
HTable managed a "write buffer", accumulating edits and sending a "batch" all
at once. By default the batch was sent as the last step in invocations of
put(Put) and put(List<Put>). The user could disable the automatic flushing of
the write buffer, retaining edits locally and only sending the whole "batch"
once the write buffer has filled or when the flushCommits() method in invoked
explicitly. Explicit or implicit batch writing was controlled by the
setAutoFlushTo(boolean) method. A value of true (the default) had the write
buffer flushed at the completion of a call to put(Put) or put(List<Put>). A
value of false allowed for explicit buffer management. HTable also exposed the
buffer to consumers via getWriteBuffer().

The combination of HTable with setAutoFlushTo(false) and the HTablePool
provided a convenient mechanism by which multiple "Put-producing" threads could
share a common write buffer. Both HTablePool and HTable are deprecated, and
they are officially replaced in The new 1.0 API by Table and BufferedMutator.
Table, which replaces HTable, no longer exposes explicit write-buffer
management. Instead, explicit buffer management is exposed via BufferedMutator.
BufferedMutator is made safe for concurrent use. Where code would previously
retrieve and return HTables from an HTablePool, now that code creates and
shares a single BufferedMutator instance across all threads.
2015-01-23 08:48:31 -08:00
Andrew Purtell 71ab4ddb19 HBASE-12731 Heap occupancy based client pushback 2015-01-22 17:33:21 -08:00
Andrew Purtell 03e17168c3 HBASE-12840 Improve unit test coverage of the client pushback mechanism 2015-01-17 11:50:26 -08:00
tedyu 9246af8dac HBASE-12796 Clean up HTable and HBaseAdmin deprecated constructor usage (Jurriaan Mous) 2015-01-08 07:49:28 -08:00
Jurriaan Mous 4880e5d83b HBASE-12736
Signed-off-by: stack <stack@apache.org>
2014-12-23 10:30:25 -08:00
Jesse Yates a411227b0e HBASE-5162 Basic client pushback mechanism
Instead of just blocking the client for 90 seconds when the region gets too
busy, it now sends along region load stats to the client so the client can
know how busy the server is. Currently, its just the load on the memstore, but
it can be extended for other stats (e.g. cpu, general memory, etc.).

It is then up to the client to decide if it wants to listen to these stats.
By default, the client ignores the stats, but it can easily be toggled to the
built-in exponential back-off or users can plug in their own back-off
implementations
2014-12-16 11:14:30 -08:00
stack 4b1983c89d HBASE-12611 Create autoCommit() method and remove clearBufferOnFail (Solomon Duskis) 2014-12-08 11:01:28 -08:00
stack 7a3396f0e1 HBASE-12490 Replace uses of setAutoFlush(boolean, boolean) (Solomon Duskis) 2014-12-02 10:06:21 -08:00
stack 1a9b556474 Revert "HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- ADDED DEBUG"
This reverts commit 8b8f2026bd.

Overcommit. Added "HBASE-12490 Replace uses of setAutoFlush(boolean,
boolean)" by mistake

Conflicts:
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/ClusterStatusListener.java
	hbase-client/src/main/java/org/apache/hadoop/hbase/client/HTable.java
2014-12-02 09:51:19 -08:00
stack 8b8f2026bd HBASE-12558 TestHCM.testClusterStatus Unexpected exception, expected<org.apache.hadoop.hbase.regionserver.RegionServerStoppedException> but was<junit.framework.AssertionFailedError> -- ADDED DEBUG 2014-11-25 21:21:50 -08:00
Enis Soztutar 882324dbcc HBASE-10671 Add missing InterfaceAudience annotations for classes in hbase-common and hbase-client modules 2014-11-21 11:44:46 -08:00
Nick Dimiduk fb1af86ee1 HBASE-12432 RpcRetryingCaller should log after fixed number of retries like AsyncProcess
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2014-11-07 12:27:21 -08:00
stack c71244c02d HBASE-12329 Table create with duplicate column family names quietly succeeds (Jingcheng Du) 2014-11-05 17:32:21 -08:00
stack b0eaa92f5b HBASE-8707 Add LongComparator for filter (Liu Shaohui) 2014-11-05 16:56:43 -08:00
Lars Hofhansl ecd708671c HBASE-12363 Improve how KEEP_DELETED_CELLS works with MIN_VERSIONS. 2014-11-04 17:08:39 -08:00
stack 889333a6fd HBASE-12313 Redo the hfile index length optimization so cell-based rather than serialized KV key 2014-10-29 11:33:49 -07:00
manukranthk ece933fa3e Implement Preemptive Fast Fail
Summary: This diff ports the Preemptive Fast Fail feature to OSS. In multi threaded clients, we use a feature developed on 0.89-fb branch called Preemptive Fast Fail. This allows the client threads which would potentially fail, fail fast. The idea behind this feature is that we allow, among the hundreds of client threads, one thread to try and establish connection with the regionserver and if that succeeds, we mark it as a live node again. Meanwhile, other threads which are trying to establish connection to the same server would ideally go into the timeouts which is effectively unfruitful. We can in those cases return appropriate exceptions to those clients instead of letting them retry.

Test Plan: Unit tests

Differential Revision: https://reviews.facebook.net/D24177

Signed-off-by: stack <stack@apache.org>
2014-10-28 22:47:50 -07:00
stack c450298c44 HBASE-12307 Remove unused Imports in hbase-client and hbase-common 2014-10-21 21:53:04 -07:00
Andrew Purtell 8ee55fb339 HBASE-12126 Region server coprocessor endpoint (Virag Kothari) 2014-10-10 12:00:51 -07:00
Ted Yu a8be606145 HBASE-12016 Reduce number of versions in Meta table. Make it configurable (Andrey Stepachev) 2014-10-07 21:07:52 +00:00
Enis Soztutar 3beb168b4f HBASE-11995 Use Connection and ConnectionFactory where possible (Solomon Duskis) 2014-09-26 11:49:37 -07:00
Enis Soztutar bcbacefdd5 HBASE-12046 HTD/HCD setters should be builder-style 2014-09-22 11:44:34 -07:00
stack 3cc5d19039 HBASE-7767 Get rid of ZKTable, and table enable/disable state in ZK (Andrey Stepachev) 2014-09-15 10:12:49 -07:00
stack 3c9bd7d296 HBASE-11911 Break up tests into more fine grained categories (Alex Newman) 2014-09-12 21:37:06 -07:00
Enis Soztutar 4995ed8a02 HBASE-11679 Replace HTable with HTableInterface where backwards-compatible (Carter) 2014-09-08 23:39:34 -07:00
Enis Soztutar 27d4ca2f64 HBASE-11787 TestRegionLocations is not categorized (Nicolas Liochon) 2014-09-08 16:36:42 -07:00
Enis Soztutar 34a5019b42 HBASE-10841 Scan,Get,Put,Delete,etc setters should consistently return this 2014-09-05 18:48:38 -07:00
Ramkrishna c1660a7962 HBASE-11438 - [Visibility Controller] Support UTF8 character as Visibility
Labels (ram)
2014-08-14 12:41:16 +05:30
anoopsjohn 213e565bce HBASE-11437 Modify cell tag handling code to treat the length as unsigned. (Anoop) 2014-07-13 12:10:21 +05:30
Nick Dimiduk c01e7e50c1 HBASE-11118 non environment variable solution for "IllegalAccessError: class com.google.protobuf.ZeroCopyLiteralByteString cannot access its superclass com.google.protobuf.LiteralByteString" 2014-07-11 16:52:32 -07:00
Jeffrey Zhong d07bc87cd6 HBase-11315: Keeping MVCC for configurable longer time 2014-07-06 18:25:18 -07:00