2635 Commits

Author SHA1 Message Date
Umesh Agashe
1f1a13f2e2 HBASE-16753 There is a mismatch between suggested Java version in hbase-env.sh
Signed-off-by: Dima Spivak <dimaspivak@apache.org>
2016-10-05 10:16:41 -07:00
stack
b30b6dffe1 HBASE-16742 Add chapter for devs on how we do protobufs going forward; ADDENDUM -- put all notes on CPEPs together in the CPEP section 2016-10-04 08:44:46 -07:00
stack
b5d34cf6fc HBASE-16742 Add chapter for devs on how we do protobufs going forward; ADDENDUM -- add in Duo Zhang remark 2016-10-04 08:34:39 -07:00
stack
2508edcd4e HBASE-16742) Add chapter for devs on how we do protobufs going forward
Fix misspelling noticed by Anoop Sam John.
2016-10-03 22:42:46 -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
Sean Busbey
76396714e1 HBASE-15984 Handle premature EOF treatment of WALs in replication.
In some particular deployments, the Replication code believes it has
reached EOF for a WAL prior to succesfully parsing all bytes known to
exist in a cleanly closed file.

Consistently this failure happens due to an InvalidProtobufException
after some number of seeks during our attempts to tail the in-progress
RegionServer WAL. As a work-around, this patch treats cleanly closed
files differently than other execution paths. If an EOF is detected due
to parsing or other errors while there are still unparsed bytes before
the end-of-file trailer, we now reset the WAL to the very beginning and
attempt a clean read-through.

In current testing, a single such reset is sufficient to work around
observed dataloss. However, the above change will retry a given WAL file
indefinitely. On each such attempt, a log message like the below will
be emitted at the WARN level:

  Processing end of WAL file '{}'. At position {}, which is too far away
  from reported file length {}. Restarting WAL reading (see HBASE-15983
  for details).

Additionally, this patch adds some additional log detail at the TRACE
level about file offsets seen while handling recoverable errors. It also
add metrics that measure the use of this recovery mechanism.
2016-09-29 10:07:14 -05:00
Jerry He
edc0ef3fe4 HBASE-16598 Enable zookeeper useMulti always and clean up in HBase code 2016-09-17 16:51:26 -07:00
Jerry He
bb3d9ccd48 HBASE-16544 Remove or Clarify Using Amazon S3 Storage section in the reference guide -addendum (Yi Liang) 2016-09-16 18:34:23 -07:00
stack
8540171a45 Tune up the release candidate making section 2016-09-14 08:02:01 -07:00
zhangduo
105bfc7d7c HBASE-15624 Move master branch/hbase-2.0.0 to jdk-8 only 2016-09-12 21:54:52 +08:00
Jerry He
e65817ef15 HBASE-16544 Remove or Clarify 'Using Amazon S3 Storage' section in the reference guide (Yi Liang) 2016-09-07 18:50:02 -07:00
Enis Soztutar
cbfd6eecbd HBASE-16474 Remove dfs.support.append related code and documentation 2016-08-24 03:41:54 -07:00
stack
2261c8c31a HBASE-16422 Tighten our guarantees on compatibility across patch versions 2016-08-17 10:58:26 -07:00
stack
9219d6867f Add mention to front page of hbaseconeast 2016-08-15 11:41:09 -07:00
Sean Busbey
48af3f5f7a HBASE-15461 update links to blogs posted on the Cloudera website to account for site restructuring.
Signed-off-by: Dima Spivak <dspivak@cloudera.com>
Signed-off-by: Matteo Bertozzi <matteo.bertozzi@cloudera.com>
2016-08-05 10:36:48 -05:00
Sean Busbey
431c8c9ad0 HBASE-8386 deprecate TableMapReduce.addDependencyJars(Configuration, class<?> ...)
Signed-off-by: Matteo Bertozzi <matteo.bertozzi@cloudera.com>
2016-08-05 10:35:02 -05:00
Sean Busbey
60b79e2daa HBASE-16321 ensure no findbugs-jsr305
Signed-off-by: Esteban Gutierrez <esteban@apache.org>
2016-08-05 10:16:29 -05:00
Dima Spivak
9b3bc5fac2 HBASE-16347 Unevaluated expressions in book 2016-08-03 14:30:50 -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
chenheng
cf0f4f72d9 HBASE-16076 Cannot configure split policy in HBase shell 2016-07-18 10:28:05 +08:00
Misty Stanley-Jones
6462a615cb HBASE-15305 Fix a couple of incorrect anchors in HBase Ref Guide 2016-07-14 17:00:56 -07:00
Xiang Li
12813c7f03 HBASE-16183: Correct errors in example programs of coprocessor in Ref Guide 2016-07-14 16:51:13 -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
Weiqing Yang
86f3768627 HBASE-15473: Documentation for the usage of hbase dataframe user api (JSON, Avro, etc) 2016-07-13 15:05:27 -07:00
Jerry He
632969787a HBASE-14548 Expand how table coprocessor jar and dependency path can be specified (Xiang Li) 2016-07-09 18:01:49 -07:00
Sean Busbey
29c46c4834 HBASE-15985 clarify promises about edits from replication in ref guide
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2016-07-05 13:03:18 -05:00
Jerry He
e3f66364a5 HBASE-16069 Typo in item 3 of chapter 87.2 of Reference Guide (li xiang) 2016-06-27 15:40:33 -07:00
chenheng
68c1b34dbc HBASE-16040 Remove configuration "hbase.replication" 2016-06-24 10:41:35 +08:00
tedyu
d8902ba0e6 HBASE-16045 endtime argument for VerifyReplication was incorrectly specified in usage 2016-06-16 15:50:29 -07:00
chenheng
d1de9337ef HBASE-16031 Documents about "hbase.replication" default value seems wrong 2016-06-16 14:12:37 +08:00
Dima Spivak
158568e780 HBASE-15977 Failed variable substitution on home page
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2016-06-15 16:03:45 -07:00
tedyu
ae5fe1e616 HBASE-5291 Add Kerberos HTTP SPNEGO authentication support to HBase web consoles (Josh Elser) 2016-06-15 09:26:44 -07:00
Mikhail Antonov
1621257e7a HBASE-15344 add 1.3 to prereq tables in ref guide 2016-06-14 14:59:31 -07:00
Matteo Bertozzi
d9463bcce0 HBASE-15989 Remove hbase.online.schema.update.enable 2016-06-08 13:09:31 -07:00
Bryan Beaudreault
2da090f9a3 HBASE-15981 Remove references to disabling table in docs around stripe and date-tiered compactions
Signed-off-by: stack <stack@apache.org>
2016-06-07 13:10:35 -07:00
Ronan Stokes
73ec33856d HBASE-15907 updates for HBase Shell pre-splitting docs
(cherry picked from commit 01adec574d9ccbdd6183466cb8ee6b43935d69ca)
2016-05-31 13:52:46 -07:00
stack
c80e232642 Remove the hbasecon banner logo 2016-05-31 10:14:40 -07:00
Apekshit
5ea2f09233 HBASE-15919 Modify docs to change from @Rule to @ClassRule. Also clarify that timeout limits are on test case level. (Apekshit)
Change-Id: Ifcd0264ea147bcb1100db74d92da95b643f4793f

Signed-off-by: stack <stack@apache.org>
2016-05-31 10:12:00 -07:00
Apekshit
f2b00e61af HBASE-15910 Update 'Create Patch' in HBase reference guide from make_patch.sh to submit-patch.py. (Apekshit)
Change-Id: Ifc199ce3e612b8f14f3cc4b6b5f1ada239e5b4db

Signed-off-by: stack <stack@apache.org>
2016-05-28 21:50:39 -07:00
Misty Stanley-Jones
92f5595e7e HBASE-15646 Add some docs about exporting and importing snapshots using S3 2016-05-19 13:01:05 -07:00
Jerry He
98fa263b51 HBASE-15834 Correct Bloom filter documentation in section 96.4 of Reference Guide 2016-05-17 14:39:05 -07:00
stack
1dff18e33f HBASE-15667 Add more clarity to Reference Guide related to importing Eclipse Formatter (Sai Teja Ranuva) 2016-05-17 11:12:29 -07:00
Esteban Gutierrez
a6e29676db HBASE-15612: Minor improvements to CellCounter and RowCounter documentation
Signed-off-by: stack <stack@apache.org>
2016-05-09 14:12:43 -07:00
Nick Dimiduk
58888e0911 HBASE-15738 Ensure artifacts in project dist area include required md5 file 2016-05-08 18:06:31 -07:00
Alex Moundalexis
0bf065a5d5 HBASE-15768 fix capitalization of ZooKeeper usage
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-05-05 15:35:44 -05:00
Junegunn Choi
0e37063345 HBASE-15528 Clean up outdated entries in hbase-default.xml
Signed-off-by: Enis Soztutar <enis@apache.org>
2016-05-03 19:09:19 -07:00
Clara
66213c9f28 HBASE-15337 Document Date Tiered Compaction in the book
Signed-off-by: Enis Soztutar <enis@apache.org>
2016-05-03 15:05:00 -07:00
Jerry He
cd148b7cee HBASE-14898 Correct Bloom filter documentation in the book (yi liang) 2016-04-29 08:33:34 -05:00
Sean Busbey
547398eccd Revert "Correct Bloom filter documentation in the book (yi liang)"
This reverts commit 31b85e73da8bee80e8aa918de09fd85d1d7a724a.

Bad commit message.
2016-04-29 08:33:09 -05:00
Enis Soztutar
3d4f026702 HBASE-15685 Typo in REST documentation (Bin Wang) 2016-04-27 18:32:20 -07:00