Commit Graph

240 Commits

Author SHA1 Message Date
tedyu 73e9456702 HBASE-16326 CellModel / RowModel should override 'equals', 'hashCode' and 'toString' (Minwoo Kang) 2016-10-17 12:42:06 -07: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
Ben Lau 4b05f40984 HBASE-16662 Fix open POODLE vulnerabilities
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2016-09-22 14:27:07 -07:00
Keith David Winkler 7145e46b7a HBASE-7621 REST client (RemoteHTable) doesn't support binary row keys
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2016-08-19 12:08:07 -07:00
anoopsamjohn 5f61f9cc5c HBASE-16405 Change read path Bloom check to work with Cells with out any copy. 2016-08-19 11:25:35 +05:30
tedyu fb668a0d3f HBASE-16267 Remove commons-httpclient dependency from hbase-rest module 2016-08-10 21:28:45 -07:00
stack 88956676d7 HBASE-16385 Have hbase-rest pull hbase.rest.port from Constants.java (Yi Liang) 2016-08-10 16:06:05 -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
tedyu 4e08a8bec9 HBASE-16267 Revert due to failure of TestLogLevel 2016-08-06 09:27:54 -07:00
Ramkrishna 6fdf3aa216 HBASE-16299 Update REST API scanner with ability to do reverse scan
(Minwoo Kang)
2016-08-04 11:17:34 +05:30
tedyu 379b86c5df HBASE-16267 Remove commons-httpclient dependency from hbase-rest module 2016-08-02 10:53:57 -07:00
stack 9d740f7b8b HBASE-16263 Move all to do w/ protobuf -- *.proto files and generated classes -- under hbase-protocol
Signed-off-by: stack <stack@apache.org>
2016-07-21 10:02:05 -07:00
Misty Stanley-Jones 4b7933bd65 HBASE-14813 REST documentation under package.html should go to the book
(cherry picked from commit 0167ec37054263a273214bc0c1fd845fa294a1e9)
2016-07-13 18:32:23 -07:00
Jerry He 4ca4cd856e HBASE-15870 Specify columns in REST multi gets (Matt Warhaftig) 2016-06-20 14:11:11 -07:00
Enis Soztutar 3d7840a173 HBASE-15954 REST server should log requests with TRACE instead of DEBUG 2016-06-06 10:58:37 -07:00
Sean Mackrory 4abc602e3b HBASE-15912. REST module has 2 extent warnings in findbugs.
ScannerResource defines a variable params the is never used.
TableResource catches Exception when IOException is thrown.
2016-05-28 21:34:07 -07:00
Sean Mackrory 3b6e6e6c25 HBASE-15889. String case conversions are locale-sensitive, used without locale
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-05-28 10:41:31 -07:00
tedyu c716a75416 HBASE-15767 upgrade httpclient to 4.3.6
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-05-05 15:41:26 -05:00
Phil Yang 53d7316075 HBASE-15645 hbase.rpc.timeout is not used in operations of HTable
Signed-off-by: stack <stack@apache.org>
2016-04-26 10:51:29 -07:00
Enis Soztutar 106fe99a9a HBASE-15670 Add missing Snapshot.proto to the maven profile for compiling protobuf 2016-04-22 11:34:49 -07:00
Andrew Purtell a330a2b505 HBASE-15662 Hook up JvmPauseMonitor to REST server 2016-04-20 17:37:35 -07:00
tedyu 6930da781b HBASE-15187 Integrate CSRF prevention filter to REST gateway 2016-04-15 09:38:31 -07:00
Jonathan M Hsieh f658f3ef83 HBASE-15356 Remove unused imports (Youngjoon Kim) 2016-03-03 11:42:38 -08:00
Enis Soztutar 7c54525c89 HBASE-15323 Hbase Rest CheckAndDeleteAPi should be able to delete more cells (Ajith) 2016-02-29 12:24:18 -08:00
Enis Soztutar 793babf4a4 HBASE-15290 Hbase Rest CheckAndAPI should save other cells along with compared cell (Ajith) 2016-02-26 15:05:59 -08:00
Andrew Purtell abb6cdce71 HBASE-14192 Fix REST Cluster Constructor with String List 2016-02-10 12:33:56 -08:00
Misty Stanley-Jones 7cab24729d HBASE-11792 Organize Performance Evaluation usage output 2016-02-09 11:16:22 -08:00
anoopsjohn a9b671b31f HBASE-12593 Tags to work with ByteBuffer. 2016-01-06 21:28:06 +05:30
tedyu d18c1af3bb HBASE-14928 Start row should be set for query through HBase REST gateway involving globbing option 2015-12-04 12:04:30 -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
Daniel Vimont 6a493ddff7 Commit for HBASE-14825 -- corrections of typos, misspellings, and mangled links
Commit for HBASE-14825 -- corrections of typos, misspellings, and mangled links - addition commit for line lengths
2015-11-25 07:12:36 +10:00
Matt Warhaftig dadfe7da04 HBASE-14584 TestNamespacesInstanceModel fails on jdk8
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-11-17 13:15:22 -08:00
Misty Stanley-Jones c575e18ab8 HBASE-14481 Deprecate HBase Wiki
We have an awesome community resource in our online book. It's maintained and looked after with
diligence. We also have an HBase section on the hadoop wiki that hasn't been updated since 2012.
Let's sift through the pages of the wiki, bring over any content that's still relevant and
not already present in the book, and kill the wiki.
2015-11-04 09:09:02 +10: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
Elliott Clark 5a5b854c2a HBASE-14633 Try fluid width UI 2015-10-20 17:45:47 -07:00
tedyu 8c69b0f751 HBASE-14594 Use new DNS API introduced in HADOOP-12437 (Josh Elser) 2015-10-14 14:17:36 -07:00
stack 7c11a06b25 HBASE-14584 TestNamespacesInstanceModel fails on jdk8; DISABLE TEST TEMPORARILY 2015-10-09 13:57:26 -07:00
Andrew Purtell eeefc3d589 HBASE-14492 Increase REST server header buffer size from 8k to 64k (Huaxiang Sun) 2015-09-25 16:08:57 -07:00
stack 2c83d8a263 HBASE-12751 Allow RowLock to be reader writer 2015-09-22 17:23:07 -07:00
Matt Warhaftig 783e20e1a7 HBASE-14147 Add namespace CRUD functionality to REST
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-09-21 19:03:24 -07:00
stack 27d3ab43ef Revert "HBASE-14147 REST Support for Namespaces (Matt Warhaftig); DOES NOT COMPILE"
This reverts commit fa730f89c3.
2015-09-09 06:52:08 -07:00
stack fa730f89c3 HBASE-14147 REST Support for Namespaces (Matt Warhaftig) 2015-09-08 22:27:38 -07:00
Andrew Purtell f06daaf010 HBASE-13825 Use ProtobufUtil#mergeFrom and ProtobufUtil#mergeDelimitedFrom in place of builder methods of same name 2015-08-06 21:48:09 -07:00
Sean Busbey 1b0b67fb7c HBASE-14085 Update LICENSE and NOTICE files.
* corrects license/notice for source distribution
* adds inception year to correct copyright in generated NOTICE files for jars
* updates project names in poms to use "Apache HBase" instead of "HBase" so jar NOTICE files will be correct
* uses append-resources to include supplemental info on jars with 3rd party works in source
* adds an hbase specific resource bundle for jars that include 3rd party works for binaries
** uses supplemental-model to fill in license gaps
** uses the above and a shade plugin transformation to build proper files for shaded jars.
** uses the above and the assembly plugin to build the proper files for bin assembly
* adds a NOTICE item for things copied out of Hadoop (TODO legal-discuss)
2015-08-04 17:16:56 -05: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
anoopsjohn 3b6db26863 HBASE-13954 Remove HTableInterface#getRowOrBefore related server side code. (Ashish) 2015-07-21 09:08:26 +05:30
anoopsjohn 2f327c9110 HBASE-14073 TestRemoteTable.testDelete failed in the latest trunk code.(Jingcheng) 2015-07-14 14:52:50 +05:30
ramkrishna a3d30892b4 HBASE-14047 - Cleanup deprecated APIs from Cell class (Ashish Singhi) 2015-07-13 22:06:16 +05:30
Ashish Singhi 3efde85614 HBASE-13214 Remove deprecated and unused methods from HTable class 2015-06-26 15:39:53 -07:00
Gábor Lipták 5826bf2a7c HBASE-13963 Do not leak jdk.tools dependency from hbase-annotations
Signed-off-by: Sean Busbey <busbey@apache.org>
2015-06-26 08:48:02 -05:00
stack b5b5853043 HBASE-13893 Replace HTable with Table in client tests (Jurriaan Mous) 2015-06-25 14:42:33 -07:00
Misty Stanley-Jones b16293b5e2 HBASE-13898 correct additional javadoc failures under java 8 <Gabor Liptak> 2015-06-16 14:18:09 +10:00
Misty Stanley-Jones 5e6373e8ec Revert "Correct Javadoc generation errors"
This reverts commit 0a227b79d6.
2015-06-16 14:18:09 +10:00
Gábor Lipták 0a227b79d6 Correct Javadoc generation errors 2015-06-16 13:27:45 +10:00
Lars Francke 1fcee86978 HBASE-13636 Remove deprecation for HBASE-4072 (Reading of zoo.cfg)
Signed-off-by: stack <stack@apache.org>
2015-05-19 16:32:32 -07:00
Enis Soztutar 59a6e031fb HBASE-13661 Correct binary compatibility issues discovered in 1.1.0RC0 2015-05-11 18:28:29 -07:00
Lars Francke ec51d7b2e6 HBASE-1989 Admin (et al.) not accurate with Column vs. Column-Family
usage

Fix check style issues & rename parameter

Incorporate comments

Signed-off-by: stack <stack@apache.org>
2015-05-11 09:46:28 -07:00
stack b03ff8ccca Revert "Rename & deprecate everything in Admin"
Revert because does not cite associated JIRA in commit message (my
fault)

This reverts commit 2ad4114149.
2015-05-11 09:45:33 -07:00
Lars Francke 2ad4114149 Rename & deprecate everything in Admin
Fix check style issues & rename parameter

Incorporate comments

Signed-off-by: stack <stack@apache.org>
2015-05-10 20:47:12 -07:00
Lars Hofhansl a4799acd6b HBASE-13333 Renew Scanner Lease without advancing the RegionScanner. 2015-05-02 17:48:32 -07:00
tedyu 8bffd45bd5 HBASE-13608 413 Error with Stargate through Knox, using AD, SPNEGO, and Pre-Auth 2015-05-01 13:40:26 -07:00
Matt Warhaftig d50d6d967d HBASE-13358 - Update VisibilityClient to accept Connection objects.
Signed-off-by: Srikanth Srungarapu <ssrungarapu@cloudera.com>
2015-04-30 21:28:01 -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
stack 8579c6dd49 HBASE-13248 Make HConnectionImplementation top-level class 2015-03-25 07:25:44 -07:00
zhangduo 6e9ded51fb HBASE-13310 Fix high priority findbugs warnings 2015-03-24 06:50:04 +08:00
stack f57dca5e1b HBASE-13198 Remove HConnectionManager (Mikhail Antonov) 2015-03-20 09:41:48 -07:00
Josh Elser 72855c584e HBASE-13236 Add addt'l lifecycle-mapping executions.
Adds a number of lifecycle-mapping entries which
prevent errors from showing up in Eclipse on a fresh
import of HBase. For plugins defined in the top-level
pom, the mapping is added there; otherwise, the mapping
is pushed down to the child pom.

Signed-off-by: Sean Busbey <busbey@apache.org>
2015-03-13 22:35:52 -05:00
Andrey Stepachev 948746ce4e HBASE-12990 MetaScanner should be replaced by MetaTableAccessor 2015-03-09 10:39:59 +00:00
Misty Stanley-Jones 39425a8558 HBASE-11670 Generate PDF of Reference Guide 2015-03-05 09:31:11 +10:00
Andrew Purtell c3a9c2a87f HBASE-13085 Security issue in the implementation of Rest gataway 'doAs' proxy user support (Jerry He) 2015-02-24 10:18:17 -08:00
stack 3babad30e6 HBASE-13030 [1.0.0 polish] Make ScanMetrics public again and align Put 'add' with Get, Delete, etc., addColumn 2015-02-13 15:24:38 -08:00
Enis Soztutar d5a2830777 HBASE-12991 Use HBase 1.0 interfaces in hbase-rest (Solomon Duskis) 2015-02-11 16:31:27 -08:00
stack 538388c2b5 HBASE-6778 Deprecate Chore; its a thread per task when we should have one thread to do all tasks (Jonathan Lawlor) 2015-01-29 19:26:26 -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
Sean Busbey 418ea93774 HBASE-12898 ensure direct dependencies are declared. 2015-01-22 14:33:25 -06:00
Misty Stanley-Jones 1a21c1684c HBASE-11533 Asciidoc Proof of Concept 2015-01-13 22:32:29 -08:00
tedyu e5f3dd682f HBASE-11144 Filter to support scanning multiple row key ranges (Jiajia Li) 2015-01-13 07:02:06 -08:00
tedyu 9246af8dac HBASE-12796 Clean up HTable and HBaseAdmin deprecated constructor usage (Jurriaan Mous) 2015-01-08 07:49:28 -08:00
tedyu 2452d3861f HBASE-12802 Remove unnecessary Table.flushCommits() (Solomon Duskis) 2015-01-05 15:45:52 -08:00
Jurriaan Mous 4880e5d83b HBASE-12736
Signed-off-by: stack <stack@apache.org>
2014-12-23 10:30:25 -08:00
Enis Soztutar 743d16138e HBASE-12679 Add HBaseInterfaceAudience.TOOLS and move some of the Public classes to LimitedPrivate 2014-12-14 17:46:30 -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 58b6b24c29 HBASE-12519 Remove tabs used as whitespace (Varun Saxena) 2014-11-28 20:50:02 -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 997c1adc2f HBASE-12390 Change revision style from svn to git 2014-10-31 11:10:38 -07:00
stack 775326907f HBASE-12308 Fix typo in hbase-rest profile name (Solomon Duskis) 2014-10-21 09:26:46 -07:00
stack 9a893a9c6a HBASE-12029 Use Table and RegionLocator in HTable.getRegionLocations() (Solomon Duskis) 2014-10-13 12:24:27 -07:00
Elliott Clark 6ddb2f1965 HBASE-12197 Move rest to it's on module
Summary:
Move hbase-rest to it's own module.
copy test resources from hbase-server into hbase-rest's test resources.

Test Plan: Unit tests pass of hbase-rest module.

Differential Revision: https://reviews.facebook.net/D24657
2014-10-10 09:51:09 -07:00