Commit Graph

137 Commits

Author SHA1 Message Date
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
Jonathan M Hsieh 09a31bd1e9 HBASE-16711 Fix hadoop-3.0 profile compile
Eliminates use of removed or deprecated hadoop2 api
- MBeanUtil -> MBeans Hadoop2 has both; Hadoop 3 removes MBeanUtil and uses MBeans
- FSDataOutputStream(OutputStream) -> FSDataOutputStream(OutputStream, FileSystem.Statistics)
- MetricsServlet is removed.  See HADOOP-12504
2016-09-28 13:11:37 -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
Jonathan M Hsieh a90d433a2c HBASE-12088 Remove unused hadoop-1.0, hadoop-1.1 profiles from non-root poms 2016-09-21 20:45:03 -07:00
tedyu 9cbe516b1f HBASE-16495 When accessed via Thrift, all column families have timeToLive equal to -1 (Tigran Saluev) 2016-08-24 13:35:18 -07:00
Joseph Hwang 03fe257a64 HBASE-16221 Have ThriftScanner update the ConnectionCache's last used time overtime getScannerRow() to keep the connection alive for long lived scanners
Signed-off-by: Elliott Clark <eclark@apache.org>
2016-07-22 17:58:39 -07: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
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
Ashu Pachauri 7d9d3ea38a HBASE-15890 Allow setting cacheBlocks for TScan
Signed-off-by: stack <stack@apache.org>
2016-05-27 15:28:59 -07:00
Ramkrishna 7b5d5394c0 HBASE-15784 Misuse core/maxPoolSize of LinkedBlockingQueue in
ThreadPoolExecutor (Jingcheng Du)
2016-05-18 12:40:43 +05:30
Andrew Purtell b6617b4eb9 HBASE-15663 Hook up JvmPauseMonitor to ThriftServer 2016-04-20 17:37:35 -07:00
Mikhail Antonov 0bb18de91c HBASE-15637 TSHA Thrift-2 server should allow limiting call queue size 2016-04-13 12:31:46 -07:00
tedyu 3a6d683d63 HBASE-15456 CreateTableProcedure/ModifyTableProcedure needs to fail when there is no family in table descriptor (huaxiang sun) 2016-03-18 10:21:43 -07:00
Jonathan M Hsieh f658f3ef83 HBASE-15356 Remove unused imports (Youngjoon Kim) 2016-03-03 11:42:38 -08:00
tedyu 5eefe13173 HBASE-14800 TCompareOp which was missing from initial checkin 2015-12-25 18:13:35 -08:00
tedyu b8e2e4a1e7 HBASE-14800 Expose checkAndMutate via Thrift2 (Josh Elser) 2015-12-25 17:41:37 -08:00
Elliott Clark 9647fee3f0 HBASE-14851 Add test showing how to use per put TTL from thrift 2015-12-09 16:04:10 -08:00
stack 26dd0d17f8 HBASE-14926 Hung ThriftServer; no timeout on read from client; if client crashes, worker thread gets stuck reading 2015-12-04 13:19:12 -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
Enis Soztutar 3aa3fae138 HBASE-14172 Upgrade existing thrift binding using thrift 0.9.2 compiler.(Josh Elser) 2015-11-18 19:11:51 -08:00
Apekshit(Appy) Sharma 08963189a2 HBASE-14767 - Remove deprecated functions from HBaseAdmin Deprecated in HBASE-12083 (1.0.0, 2.0.0, 0.99.2) - HBaseAdmin(Configuration)
Deprecated in HBASE-10479 (0.99.0, hbase-10070)
  - HBaseAdmin(Connection)

  Deprecated in HBASE-11826 (0.99.0, 1.0.0, 2.0.0)
  - flush()
  - compact()
  - majorCompact()
  - split()
  - getCompactionState()

- Changes many declarations from HBaseAdmin to Admin
(Apekshit)

Signed-off-by: stack <stack@apache.org>
2015-11-06 16:23:55 -10: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
Misty Stanley-Jones 9c37239f58 HBASE-14739 Fix broken link to Javadoc that is suppressed because it is generated code 2015-11-02 14:24:54 +10:00
Jonathan M Hsieh 4c25549e9f HBASE-14711 Remove or annotate deprecated methods in HRegionInfo 2015-11-01 04:29:51 -08:00
Jonathan M Hsieh 094d65e6f5 HBASE-14673 Exorcise deprecated Delete#delete* api 2015-10-29 11:15:34 -07:00
Elliott Clark 9925e9a182 HBASE-14690 Fix css so there's no left/right scroll bar 2015-10-24 10:27:12 -07:00
Matteo Bertozzi 36a196722c HBASE-14669 remove unused import and fix javadoc 2015-10-22 09:25:26 -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
tedyu 36f6eb139d HBASE-14471 Thrift - HTTP Error 413 full HEAD if using kerberos authentication (huaxiang sun) 2015-09-25 09:07:16 -07:00
Apekshit(Appy) Sharma fe2c4f630d HBASE-14400 Fix HBase RPC protection documentation
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-09-15 17:43:48 -07:00
stack 9a8ad7c27d HBASE-14435 thrift tests don't have test-specific hbase-site.xml so 'BindException: Address already in use' because info port is not turned off: ADDENDUM 2015-09-15 06:18:29 -07:00
stack bf46fc5542 HBASE-14435 thrift tests don't have test-specific hbase-site.xml so 'BindException: Address already in use' because info port is not turned off 2015-09-14 20:00:35 -07:00
stack 7a7c98ac18 Revert accidental commit without log message
Revert "config"

This reverts commit 87cc08754a.
2015-09-14 19:58:16 -07:00
stack 87cc08754a config 2015-09-14 15:15:31 -07:00
Sean Busbey 3aa2b2d638 HBASE-7972 allow configuring the TCP backlog on thrift services.
Author: Jean-Daniel Cryans
Ammending-Author: Esteban Gutierrez
Ammending-Author: Sean Busbey
2015-09-02 10:05:18 -05:00
Sean Busbey 720f2a8815 HBASE-14251 ensure javadoc jars have LICENSE/NOTICE that match content. 2015-08-20 10:52:41 -05:00
Andrew Purtell 643ba90185 HBASE-14196 Thrift server idle connection timeout issue (Vladimir Rodionov) 2015-08-12 16:32:37 -07:00
Lars Francke 3d5801602d HBASE-14194 Undeprecate methods in ThriftServerRunner.HBaseHandler
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2015-08-10 17:29:11 -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
Srikanth Srungarapu 377bf1937f HBASE-14162 Fixing maven target for regenerating thrift classes fails against 0.9.2 2015-07-31 15:03:56 -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
anoopsjohn 3b6db26863 HBASE-13954 Remove HTableInterface#getRowOrBefore related server side code. (Ashish) 2015-07-21 09:08:26 +05:30
Gábor Lipták 682b8ab8a5 HBASE-13569 Correct Javadoc (for Java8)
Signed-off-by: Sean Busbey <busbey@apache.org>
2015-06-13 01:10:37 -05:00
Sean Busbey a016b23e85 HBASE-13728 Remove direct use of Hadoop's GenericOptionParser.
* In most cases, just shift to proper use of ToolRunner
* Fix timing issue in TestImportExport
** add some diagnostic logs to Import and TestImportExport
** when testing for WAL use under different durability requests, ignore meta edits.
* In the case of TestImportTsv make a local anonymous class so we can get at internals.
2015-05-29 12:38:52 -05:00
Elliott Clark 3a1e101dcd HBASE-13700 Change Thrift2 so that number of woker threads can be passed in 2015-05-20 13:43:46 -07:00
Elliott Clark 1bfe387956 HBASE-13698 Add RegionLocator methods to Thrift2 2015-05-20 13:33:59 -07:00
Lars Francke 8e5a183256 HBASE-13655 Deprecate duplicate getCompression methods in HColumnDescriptor (Lars Francke <lars.francke@gmail.com>)
Recommit after commit missing JIRA
Signed-off-by: stack <stack@apache.org>
2015-05-10 22:52:10 -07:00
stack 17b6f59a98 Revert "Deprecate old methods"
Revert commit of HBASE-13655 Deprecate duplicate getCompression methods in HColumnDescriptor
I committed with bad commit message.

This reverts commit 5732bdb483.
2015-05-10 22:48:09 -07:00
Lars Francke 5732bdb483 Deprecate old methods
Add proper JIRA

Signed-off-by: stack <stack@apache.org>
2015-05-10 20:11:12 -07:00