Commit Graph

1201 Commits

Author SHA1 Message Date
Umesh Agashe c8461456d0 HBASE-17888: Added generic methods for updating metrics on submit and finish of a procedure execution
Signed-off-by: Michael Stack <stack@apache.org>
2017-04-14 11:51:08 -07:00
CHIA-PING TSAI 3aadc675b0 HBASE-17896 The FIXED_OVERHEAD of Segment is incorrect 2017-04-12 11:26:43 +08:00
CHIA-PING TSAI df96d328fb HBASE-17872 The MSLABImpl generates the invaild cells when unsafe is not availble 2017-04-09 23:28:34 +08:00
Chia-Ping Tsai 18c5ecf6ed HBASE-17881 Remove the ByteBufferCellImpl 2017-04-07 21:14:19 +08:00
Chia-Ping Tsai 1a701ce444 HBASE-17836 CellUtil#estimatedSerializedSizeOf is slow when input is ByteBufferCell 2017-04-07 09:30:15 +08:00
Jerry He af604f0c0c HBASE-17869 UnsafeAvailChecker wrongly returns false on ppc 2017-04-06 16:04:47 -07:00
Umesh Agashe 9109803891 HBASE-17863: Procedure V2: Some cleanup around Procedure.isFinished() and procedure executor
Signed-off-by: Michael Stack <stack@apache.org>
2017-04-06 12:05:23 -07:00
zhangduo a66d491892 HBASE-17857 Remove IS annotations from IA.Public classes 2017-04-05 15:34:06 +08:00
CHIA-PING TSAI 73e1bcd335 HBASE-17859 ByteBufferUtils#compareTo is wrong 2017-04-01 13:42:36 +08:00
Yi Liang a9682ca5dc HBASE-17821: The CompoundConfiguration#toString is wrong
Signed-off-by: CHIA-PING TSAI <chia7712@gmail.com>
2017-03-31 15:05:44 +08:00
Michael Stack d033cbb715 HBASE-17844 Subset of HBASE-14614, Procedure v2: Core Assignment Manager (non-critical changes)
Minor changes related to HBASE-14614. Added comments. Changed logging.
Added toString formatting. Removed imports. Removed unused code.
2017-03-30 10:31:04 -07:00
Chia-Ping Tsai 6bd3109062 HBASE-17623 Reuse the bytes array when building the hfile block 2017-03-25 23:49:32 +08:00
CHIA-PING TSAI fe3c32ebd5 HBASE-17809 cleanup unused class 2017-03-23 14:15:28 +08:00
CHIA-PING TSAI 7bb0624bab HBASE-17805 We should remove BoundedByteBufferPool because it is replaced by ByteBufferPool 2017-03-21 09:38:02 +08:00
Jan Hentschel 55d6dcaf87 HBASE-16084 Cleaned up the stale references in Javadoc
Signed-off-by: tedyu <yuzhihong@gmail.com>
2017-03-20 10:55:36 -07:00
tedyu 4088f822a4 HBASE-17806 TestRSGroups#testMoveServersAndTables is flaky in master branch (Guangxu Cheng) 2017-03-20 09:26:34 -07:00
tedyu 75d0f49dcd HBASE-14123 HBase Backup/Restore Phase 2 (Vladimir Rodionov) 2017-03-18 03:04:19 -07:00
Andrew Purtell 14fb57cab2 HBASE-17780 BoundedByteBufferPool "At capacity" messages are not actionable 2017-03-14 13:23:11 -07:00
Yu Li 44b255889c HBASE-17747 Support both weak and soft object pool 2017-03-14 11:07:52 +08:00
anoopsamjohn ab5970773a HBASE-17338 Treat Cell data size under global memstore heap size only when that Cell can not be copied to MSLAB. 2017-03-10 11:12:59 +05:30
Jan Hentschel b53f354763 HBASE-17532 Replaced explicit type with diamond operator
Signed-off-by: Michael Stack <stack@apache.org>
2017-03-07 11:22:51 -08:00
Jerry He 6bb5938226 HBASE-14375 Define public API for spark integration module 2017-03-04 14:10:34 -08:00
Jerry He a95570cfa0 Revert "Define public API for spark integration module" for missing JIRA number.
This reverts commit 58b6d9759e.
2017-03-04 14:08:38 -08:00
Jerry He 58b6d9759e Define public API for spark integration module 2017-03-04 12:53:21 -08:00
Andrew Purtell 404a2883f2 HBASE-17722 Metrics subsystem stop/start messages add a lot of useless bulk to operational logging 2017-03-03 12:40:06 -08:00
Apekshit Sharma ce64e7eb6e HBASE-17654 RSGroup refactoring.
Changes contain:
- Making rsGroupInfoManager non-static in RSGroupAdminEndpoint
- Encapsulate RSGroupAdminService into an internal class in RSGroupAdminEndpoint (on need of inheritence).
- Change two internal classes in RSGroupAdminServer to non-static (so outer classes' variables can be shared).
- Rename RSGroupSerDe to RSGroupProtobufUtil('ProtobufUtil' is what we use in other places). Moved 2 functions to RSGroupManagerImpl because they are only used there.
- Javadoc comments
- Improving variable names
- Maybe other misc refactoring

Change-Id: I09f0f5aa413150390c91795b8a8fd5e6cdd6c416
2017-02-25 22:12:03 -08:00
Ashu Pachauri e7d16db2ac HBASE-17057 Minor compactions should also drop page cache (Ashu Pachauri)
Signed-off-by: Gary Helmling <garyh@apache.org>
2017-02-24 14:42:10 -08:00
anoopsamjohn ff045cab84 HBASE-17647 OffheapKeyValue#heapSize() implementation is wrong. 2017-02-23 11:29:10 +05:30
zhangduo f037f230fd HBASE-17608 Add suspend support for RawScanResultConsumer 2017-02-22 20:32:03 +08:00
anoopsamjohn 7763dd6688 HBASE-17644 Always create ByteBufferCells after copying to MSLAB. 2017-02-17 17:50:41 +05:30
Michael Stack ae840c0ccd HBASE-17656 Move new Address class from util to net package 2017-02-16 12:17:50 -08:00
Michael Stack e019961150 HBASE-17624 Address late review of HBASE-6721, rsgroups feature
Addresses review comments by Sean Busbey and Appy that happened
to come in long after the commit of HBASE-6721, the original
rsgroup issue.

Also includes subsequent accommodation of Duo Zhang review.

Adds a new type to hold hostname and port. It is called
Address. It is a facade over Guava's HostAndPort. Replace
all instances of HostAndPort with Address. In particular,
those places where HostAndPort was part of the rsgroup
public API.

Fix licenses. Add audience annotations.

Cleanup and note concurrency expectation on a few core classes.
In particular, all access on RSGroupInfoManager is made
synchronized.

M hbase-client/src/main/java/org/apache/hadoop/hbase/ServerName.java
 Host the hostname and port in an instance of the new type Address.
 Add a bunch of deprecation of exotic string parses that should never
 have been public.

M hbase-rsgroup/src/main/java/org/apache/hadoop/hbase/rsgroup/RSGroupAdmin.java
 Make this an Interface rather than abstract class. Creation was a
 static internal method that only chose one type.... Let it be free
 as a true Interface instead.
2017-02-14 09:29:17 -08:00
Ramkrishna 6c5eec249c HBASE-17484 Add non cached version of OffheapKV for write path (Ram) 2017-02-07 21:27:33 +05:30
Michael Stack 9ec0ec4922 HBASE-17350 Fixup of regionserver group-based assignment
Renamed move_rsgroup_servers as move_servers_rsgroup
Renamed move_rsgroup_tables as move_tables_rsgroup

Minor changes to help text in rsgroup commands making them all same.
Made LOG from RSGroupAdminServer all talk of 'rsgroup' rather than
'group' to be consistent.

Fix for table.jsp where it would fail to display regions because no
type for the protobuf record specified.

Fix it so that move of an offline server to 'default' rsgroup is like
moving the reference to the server to trash (keeps the 'default' group
consistently 'dynamic' regards its server-list).

Fixed another issue where we were stuck in a loop because regions
were in FAILED_OPEN state because no server to assign too so we'd
never recover (a vagary of the current state of Master assignement
but no less a possibility in real world deploys).

Make it so servers are sorted when we list them; its what operator
would expect.
2017-02-06 13:09:57 -08:00
Jerry He bc168b419d HBASE-17581 mvn clean test -PskipXXXTests does not work properly for some modules (Yi Liang) 2017-02-02 11:05:17 -08:00
Zach York ae21797305 HBASE-17437 Support specifying a WAL directory outside of the root directory (Yishan Yang and Zach York)
Signed-off-by: Enis Soztutar <enis@apache.org>
2017-01-31 11:43:33 -08:00
Michael Stack ffe7dac53d Revert "Revert "HBASE-12894 Upgrade to Jetty 9 for REST / Info Server / Thrift Http Server""
This reverts commit 0ac5d4a717.
This is a revert of a revert; i.e. a reapplication!
Fixes for breakage that comes in with this patch is in a follow-on.
2017-01-30 11:54:54 -08:00
Michael Stack fb2c89b1b3 HBASE-16785 We are not running all tests
M TestStressWALProcedureStore.java
Disable test that now runs that fails because of difference in pb3.1.0.

Signed-off-by: Michael Stack <stack@apache.org>
2017-01-26 21:49:18 -08:00
Michael Stack 1ee8776273 HBASE-16785 We are not running all tests Do nothing patch just to get baseline of how many tests we run 2017-01-26 12:21:00 -08:00
Michael Stack 0ac5d4a717 Revert "HBASE-12894 Upgrade to Jetty 9 for REST / Info Server / Thrift Http Server"
This reverts commit 59fd6eb7f6.
2017-01-25 22:55:18 -08:00
Enis Soztutar c64a1d1994 HBASE-9774 HBase native metrics and metric collection for coprocessors 2017-01-25 11:47:35 -08:00
Yang Guang 59fd6eb7f6 HBASE-12894 Upgrade to Jetty 9 for REST / Info Server / Thrift Http Server 2017-01-24 23:37:12 -08:00
Jan Hentschel 55a1aa1e73 HBASE-10699 Set capacity on ArrayList where possible and use isEmpty instead of size() == 0
Signed-off-by: Michael Stack <stack@apache.org>
2017-01-20 22:58:20 -08:00
Ramkrishna 406f66a4e8 HBASE-17483 Add equals/hashcode for OffheapKeyValue (Ram) 2017-01-18 17:00:57 +05:30
zhangduo 4ab95ebbce HBASE-17372 Make AsyncTable thread safe 2017-01-17 14:33:28 +08:00
Yu Li 36eeb2c569 HBASE-14061 Support CF-level Storage Policy (addendum)
Addendum to resolve compatible issue with Hadoop 2.8.0+ / 3.0.0-alpha1+, meantime added
a util method in ReflectionUtils for invoking method with reflection
2017-01-11 10:14:55 +08:00
Michael Stack dd1ae37148 HBASE-12148 Remove TimeRangeTracker as point of contention when many threads writing a Store (Huaxiang Sun) 2017-01-09 13:24:53 -08:00
rahul gidwani 0f6c79eb12 HBASE-16710 Add ZStandard Codec to Compression.java
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2017-01-05 10:46:55 -08:00
Jan Hentschel 7572e96e3a HBASE-17385 Change usage documentation from bin/hbase to hbase in various tools
Signed-off-by: Enis Soztutar <enis@apache.org>
2016-12-29 15:20:43 -08:00
zhangduo 05b1d918b0 HBASE-17320 Add inclusive/exclusive support for startRow and endRow of scan 2016-12-29 09:43:31 +08:00
Phil Yang 8fb9a91d44 HBASE-17314 Limit total buffered size for all replication sources 2016-12-23 11:48:06 +08:00
Michael Stack a1d2ff4646 Revert "HBASE-17314 Limit total buffered size for all replication sources"
This reverts commit 3826e63967.
2016-12-21 11:17:28 -08:00
Phil Yang 3826e63967 HBASE-17314 Limit total buffered size for all replication sources 2016-12-21 13:16:17 +08:00
binlijin b7bde350a1 HBASE-17332 Replace HashMap to Array for DataBlockEncoding.idToEncoding 2016-12-20 09:32:28 +08:00
tedyu 665fe3eef1 HBASE-17331 Avoid busy waiting in ThrottledInputStream (ChiaPing Tsai) 2016-12-18 08:15:15 -08:00
Thiruvel Thirumoolan c1293cc91e HBASE-16941: FavoredNodes - Split/Merge code paths
Signed-off-by: Francis Liu <toffer@apache.org>
2016-12-07 16:38:48 -08:00
tedyu 1fad920321 HBASE-17252 Wrong arguments for ValueAndTagRewriteCell in CellUtil 2016-12-05 07:41:24 -08:00
Xiang Li 004f0abb46 HBASE-14882: Provide a Put API that adds the provided family, qualifier, value without copying
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2016-12-05 13:16:46 +05:30
anoopsamjohn 4b3ffffa09 HBASE-17161 MOB : Make ref cell creation more efficient. 2016-12-02 17:30:34 +05:30
Jonathan M Hsieh eeaea4aea3 HBASE-17224 Fix lots of spelling errors in HBase logging and exception messages (Grant Sohn) 2016-12-01 08:57:16 -08:00
zhangduo 540ede376b HBASE-16648 [JDK8] Use computeIfAbsent instead of get and putIfAbsent 2016-12-01 21:17:55 +08:00
John Leach 37d7b57128 HBASE-17216 Fields that can safetly be made static 2016-11-30 22:03:35 -08:00
Yu Li 1f3c6f4c07 HBASE-17114 Add an option to set special retry pause when encountering CallQueueTooBigException 2016-12-01 13:38:13 +08:00
Guanghao Zhang ea912478e2 HBASE-17178 Add region balance throttling
Signed-off-by: Phil Yang <yangzhe1991@apache.org>
2016-11-30 18:03:15 +08:00
Ramkrishna 7c43a23c07 HBASE-17012 Handle Offheap cells in CompressedKvEncoder (Ram) 2016-11-29 22:27:45 +05:30
Xiang Li 346e904a21 HBASE-17086: Add comments to explain why Cell#getTagsLength() returns an int, rather than a short
Signed-off-by: anoopsamjohn <anoopsamjohn@gmail.com>
2016-11-29 12:51:57 +05:30
anoopsamjohn bbb81a7ac3 HBASE-17183 Handle ByteBufferCell while making TagRewriteCell. 2016-11-28 16:47:25 +05:30
anoopsamjohn 030054bcce HBASE-17162 Avoid unconditional call to getXXXArray() in write path. 2016-11-26 12:49:01 +05:30
anoopsamjohn 3f7f1c1353 HBASE-17169 Remove Cell variants with ShareableMemory. 2016-11-26 12:20:06 +05:30
anoopsamjohn 86e17858f7 HBASE-15786 Create DBB backed MSLAB pool. 2016-11-24 20:47:41 +05:30
Jingcheng Du 92b494f117 HBASE-17157 Increase the default mergeable threshold for mob compaction 2016-11-22 17:39:10 +08:00
Jan Hentschel 3e9d1a19e2 HBASE-17129 Removed public from methods in DataType interface
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-11-21 14:34:43 -06:00
anoopsamjohn 549c8d835a HBASE-17139 Remove sweep tool related configs from hbase-default.xml. 2016-11-21 15:54:31 +05:30
anoopsamjohn af4e4b6450 HBASE-17126 Expose KeyValue#checkParameters() and checkForTagsLength() to be used by other Cell implementations. (Xiang Li) 2016-11-19 21:13:22 +05:30
anoopsamjohn c3685760f0 HBASE-15788 Use Offheap ByteBuffers from BufferPool to read RPC requests. 2016-11-14 23:05:05 +05:30
Michael Stack 0998af01df Revert "Revert "HBASE-16983 TestMultiTableSnapshotInputFormat failing with Unable to create region directory: /tmp/... (Addendum by Guanghao Zhang)""
This is a revert of a revert, i.e. puts back the change only I added
HBaseCommonTestingUtility#getRandomDir from branch-1 too since
missing in master branch.

This reverts commit 9afcb4366d.
2016-11-08 12:55:48 -08:00
Apekshit Sharma 52241c90e4 HBASE-16982 Better integrate Apache CLI in AbstractHBaseTool.
- processOldArgs() in AbstractHBaseTool will make it possible to change existing tools to use Apache CLI in a backward compatible manner.
- Changes ExportSnapshot tool as a proof-of-concept
- Update version of Apache CLI from 1.2 to 1.3.1

Change-Id: I4bb2e7da4f2ed0e12e28621ab16459309fa36d03
2016-11-08 12:21:29 -08:00
tedyu 76814e8451 HBASE-17010 Serial replication should handle daughter regions being assigned to another RS (Phil Yang) 2016-11-08 06:25:50 -08:00
Lars Hofhansl c12c6ffaec HBASE-16765 Amend: Make SteppingSplitPolicy the default. 2016-11-01 13:34:07 -07:00
zhangduo 6cf9333e97 HBASE-16945 Implement AsyncRegionLocator 2016-11-01 10:18:55 +08:00
anoopsamjohn ba6d952324 HBASE-16747 Track memstore data size and heap overhead separately. 2016-10-30 12:20:46 +05:30
zhangduo 6127753b65 HBASE-16891 Try copying to the Netty ByteBuf directly from the WALEdit 2016-10-29 23:30:52 +08:00
Ramkrishna 1eae9aeeac HBASE-16783 Use ByteBufferPool for the header and message during Rpc
response (Ram)
2016-10-26 14:33:49 +05:30
Ramkrishna 9875c699af HBASE-16880 Correct the javadoc/behaviour of the APIs in ByteBufferUtils
(Ram)
2016-10-25 10:52:57 +05:30
Ramkrishna 3584537b07 HBASE-16463 Improve transparent table/CF encryption with Commons Crypto
(Dapeng Sun)
2016-10-24 16:22:30 +05:30
Ramkrishna 0ae211eb39 HBASE-16414 Improve performance for RPC encryption with Apache Common
Crypto (Colin Ma)
2016-10-21 16:02:39 +05:30
Ramkrishna 1e3d8c8226 HBASE-16792 Reuse KeyValue.KeyOnlyKeyValue in
BufferedDataBlockEncoder.SeekerState (Binlijin)
2016-10-17 12:26:36 +05:30
Ramkrishna bda5fd5a11 HBASE-16792 - reverting to change commit message 2016-10-17 12:25:13 +05:30
Matteo Bertozzi 62c84115ec HBASE-16839 Procedure v2 - Move all protobuf handling to ProcedureUtil 2016-10-14 11:32:28 -07:00
zhangduo 3fe7508295 HBASE-15921 Add first AsyncTable impl and create TableImpl based on it 2016-10-14 22:52:52 +08:00
Ramkrishna 4127fd2a7c iHBASE-16792 Reuse KeyValue.KeyOnlyKeyValue in
BufferedDataBlockEncoder.SeekerState (Binlijin)
2016-10-14 17:52:24 +05:30
Ramkrishna 193e0d6024 revert HBASE-16792 due to test failures 2016-10-13 14:32:02 +05:30
Ramkrishna f11aa4542f HBASE-16792 Reuse KeyValue.KeyOnlyKeyValue in
BufferedDataBlockEncoder.SeekerState (Binlijin)
2016-10-13 10:11:27 +05:30
Ramkrishna b76b75142d HBASE-16784 Make use of ExtendedCell#write(OutputStream os) for the
default HFileWriter#append() (Ram)
2016-10-12 10:40:10 +05:30
anoopsamjohn f77ff9f96f HBASE-16809 Save one cell length calculation in HeapMemStoreLAB#copyCellInto. (binlijin) 2016-10-12 09:57:23 +05:30
Gary Helmling 7b0acc292e HBASE-16146 Remove thread local usage in Counter 2016-10-11 14:29:56 -07:00
anoopsamjohn 912ed17286 HBASE-15721 Optimization in cloning cells into MSLAB. 2016-10-06 14:48:03 +05:30
Ramkrishna 58e843dae2 HBASE-16372 References to previous cell in read path should be avoided
(Ram)
2016-10-06 14:19:12 +05:30
anoopsamjohn 6a9b57b395 HBASE-16760 Deprecate ByteString related methods in Bytes.java. 2016-10-05 11:19:37 +05:30
tedyu b952e64751 HBASE-15560 TinyLFU-based BlockCache - revert pending performance verification 2016-10-04 08:37:29 -07:00
tedyu 9e0c2562a9 HBASE-15560 TinyLFU-based BlockCache (Ben Manes) 2016-10-04 05:15:51 -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
anoopsamjohn b644e0fb8d HBASE-16134 Introduce Cell extension for server side. 2016-09-27 22:55:45 +05:30
anoopsamjohn 43f47a8e73 HBASE-16704 Scan will be broken while working with DBE and KeyValueCodecWithTags. 2016-09-26 22:32:24 +05:30
tedyu 3896d9ed0a HBASE-16692 Make ByteBufferUtils#equals safer and correct (binlijin) 2016-09-25 06:37:40 -07:00
chenheng 21969f5159 HBASE-16665 Check whether KeyValueUtil.createXXX could be replaced by CellUtil without copy 2016-09-25 14:06:55 +08:00
Jerry He 50b051ade1 HBASE-16257 Move staging dir to be under hbase root dir 2016-09-23 10:07:58 -07:00
Jonathan M Hsieh c9d0d11e18 HBASE-12088 Addendum - fix spacing 2016-09-21 20:59:42 -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 6624c676fe HBASE-16658 Optimize UTF8 string/byte conversions (binlijin) 2016-09-20 13:08:04 -07:00
zhangduo 6eb6225456 HBASE-7612 [JDK8] Replace use of high-scale-lib counters with intrinsic facilities 2016-09-19 13:37:24 +08:00
Jerry He edc0ef3fe4 HBASE-16598 Enable zookeeper useMulti always and clean up in HBase code 2016-09-17 16:51:26 -07:00
Phil Yang 8ef6c76344 HBASE-16388 Prevent client threads being blocked by only one slow region server
Signed-off-by: stack <stack@apache.org>
2016-09-14 09:08:20 -07:00
tedyu 981200bf13 HBASE-16612 Use array to cache Types for KeyValue.Type.codeToType (Phil Yang) 2016-09-13 09:54:27 -07:00
anoopsamjohn 77b327320a HBASE-16229 Cleaning up size and heapSize calculation. 2016-09-12 23:23:38 -07:00
tedyu 8855670cd7 HBASE-16616 Rpc handlers stuck on ThreadLocalMap.expungeStaleEntry (Tomu Tsuruhara) 2016-09-12 15:49:23 -07:00
tedyu 8290b2c8fa HBASE-16609 Fake cells EmptyByteBufferedCell created in read path not implementing SettableSequenceId (Yu Sun) 2016-09-12 08:53:22 -07:00
binlijin fc224ed0ed HBASE-16530 Reduce DBE code duplication
Signed-off-by: Yu Li <liyu@apache.org>
2016-09-08 13:48:27 +08:00
Andrew Purtell 520c3cc4e9 Amend HBASE-16538 Changes the way version information is stored during build
Generated Version class needs an interface audience annotation
2016-09-02 19:54:05 -07:00
Apekshit Sharma 2fcc691b16 HBASE-16538 Changes the way version information is stored during build.
Instead of writing package-info.java with VersionAnnotation, saveVersion.sh now writes Version.java with static members.

Change-Id: I009f440fa049f409e10cb3f1c3afb483bc2aa876
2016-09-02 16:06:41 -07:00
tedyu 7b95ac117d HBASE-16502 Reduce garbage in BufferedDataBlockEncoder - addendum adopts Hiroshi's suggestion (binlijin) 2016-08-30 18:04:34 -07:00
Matteo Bertozzi af33f94513 HBASE-16522 Procedure v2 - Cache system user and avoid IOException 2016-08-30 15:39:49 -07:00
Apekshit Sharma c66bb48ce8 HBASE-16101 Tool to microbenchmark procedure WAL performance.
Change-Id: I8ec158319395d2ec8e36641a3beab2694f7b6aef
2016-08-30 13:31:58 -07:00
Matteo Bertozzi 2acd788dce HBASE-16082 Procedure v2 - Move out helpers from MasterProcedureScheduler 2016-08-30 09:44:35 -07:00
Matteo Bertozzi 1b9af2a2fa HBASE-16508 Move UnexpectedStateException to common 2016-08-26 16:40:30 -07: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
anoopsamjohn 0d99e827b2 HBASE-16213 A new HFileBlock structure for fast random get. (binlijin) 2016-08-26 10:50:36 +05:30
tedyu b1ee8a88c3 HBASE-16502 Reduce garbage in BufferedDataBlockEncoder (binlijin) 2016-08-25 20:35:30 -07:00
anoopsamjohn 32c21f4594 HBASE-14921 In-Memory MemStore Flush and Compaction : Memory optimizations. (Anastasia) 2016-08-24 09:25:21 +05:30
Ramkrishna 2f7b9b5423 HBASE-16444 - Remove white space 2016-08-23 12:32:26 +05:30
Ramkrishna 2aae923c32 HBASE-16444 CellUtil#estimatedSerializedSizeOfKey() should consider
KEY_INFRASTRUCTURE_SIZ (Ram)
2016-08-23 10:53:33 +05:30
Apekshit Sharma ae42a934d8 HBASE-16467 Move AbstractHBaseTool to hbase-common.
Change-Id: I64775f875f6900520e66c22c007704a067e8c2a4
2016-08-22 16:06:17 -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
Matteo Bertozzi e637a61e26 HBASE-16378 Procedure v2 - Make ProcedureException extend HBaseException 2016-08-17 14:31:08 -07:00
Ramkrishna 285e104176 HBASE-15554 - StoreFile$Writer.appendGeneralBloomFilter generates extra KV
(Ram)
2016-08-12 10:21:41 +05:30
stack 7e32510513 HBASE-16363 Correct javadoc for qualifier length and value (Xiang Li) 2016-08-10 17:53:13 -07:00
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
Phil Yang 5cadcd59aa HBASE-9465 Push entries to peer clusters serially
Signed-off-by: zhangduo <zhangduo@apache.org>
2016-08-09 15:25:50 +08: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
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
zhangduo b35cf8f93a HBASE-16225 Refactor ScanQueryMatcher 2016-08-02 14:01:28 +08:00
stack c29024c017 HBASE-16256 Purpose of EnvironmentEdge, EnvironmentEdgeManager (Sai Teja Ranuva) 2016-07-29 16:34:22 -07:00
anoopsjohn 00c2a5da7b HBASE-16286 When TagRewriteCell are not copied to MSLAB, deep clone it while adding to Memstore. 2016-07-27 22:29:26 +05:30
zhangduo bcf409e11f HBASE-16280 Use hash based map in SequenceIdAccounting 2016-07-26 11:31:32 +08:00
anoopsjohn 2df0ef549a HBASE-16205 When Cells are not copied to MSLAB, deep clone it while adding to Memstore. 2016-07-25 22:58:32 +05:30
Matteo Bertozzi cc766df28b HBASE-16272 Overflow in ServerName's compareTo method (Huaxiang Sun) 2016-07-22 15:28:04 -07:00
Jerry He 70f330dc84 Consolidate SecureBulkLoadEndpoint into HBase core as default for bulk load 2016-07-19 19:53:10 -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
stack 496fd9837a HBASE-16176 Bug fixes/improvements on HBASE-15650 Remove
TimeRangeTracker as point of contention when many threads reading a StoreFile
 Fixes HBASE-16074 ITBLL fails, reports lost big or tiny families broken
 scanning because of a side effect of a clean up in  HBASE-15650 to make
 TimeRange construction consistent exposed a latent issue in
 TimeRange#compare. See HBASE-16074 for more detail.

Also change HFile Writer constructor so we pass in the TimeRangeTracker, if one,
on construction rather than set later (the flag and reference were not volatile
so could have made for issues in concurrent case). And make sure the construction
of a TimeRange from a TimeRangeTracer on open of an HFile Reader never makes a
bad minimum value, one that would preclude us reading any values from a file
(set min to 0)

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/TimeRange.java
 Call through to next constructor (if minStamp was 0, we'd skip setting
 allTime=true). Add asserts that timestamps are not < 0 cos it messes
 us up if they are (we already were checking for < 0 on construction but
 assert passed in timestamps are not < 0).

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
 Add constructor override that takes a TimeRangeTracker (set when flushing
 but not when compacting)

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
 Add override creating an HFile in tmp that takes a TimeRangeTracker

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
 Add override for HFile Writer that takes a TimeRangeTracker Take it on
 construction instead of having it passed by a setter later (flags and
 reference set by the setter were not volatile... could have been prob
 in concurrent case)

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
 Log WARN if bad initial TimeRange value (and then 'fix' it)

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestTimeRangeTracker.java
 A few tests to prove serialization works as expected and that we'll get a bad min if not constructed properly.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
 Handle OLDEST_TIMESTAMP explictly. Don't expect TimeRange to do it.

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
 Refactor from junit3 to junit4 and add test for this weird case.
2016-07-08 18:20:31 -07:00
Andrew Purtell 318751cfd6 HBASE-16091 Canary takes lot more time when there are delete markers in the table (Vishal Khandelwal) 2016-07-05 11:13:48 -07:00
stack d1d8cc71c9 HBASE-16150 Remove ConcurrentIndex (Hiroshi Ikeda) 2016-06-30 15:03:32 -07:00
tedyu 6fb0dd07a8 HBASE-16139 Use CellUtil instead of KeyValueUtil in Import (NIDHI GAMBHIR) 2016-06-29 02:45:00 -07:00
chenheng 68c1b34dbc HBASE-16040 Remove configuration "hbase.replication" 2016-06-24 10:41:35 +08:00
Elliott Clark 65a8d77433 HBASE-16061 Allow logging to a buffered console 2016-06-17 17:06:12 -07:00
Ashu Pachauri 3abd52bdc6 HBASE-15429 Add split policy for busy regions
Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-16 17:36:54 -07:00
Enis Soztutar bff35d6387 HBASE-15950 Fix memstore size estimates to be more tighter 2016-06-15 13:34:39 -07:00
anoopsjohn 17bcf14fea HBASE-15525 OutOfMemory could occur when using BoundedByteBufferPool during RPC bursts. 2016-06-14 19:03:54 +05:30
Matteo Bertozzi d9463bcce0 HBASE-15989 Remove hbase.online.schema.update.enable 2016-06-08 13:09:31 -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
Lars Hofhansl fc890a2ecb HBASE-15881 Allow BZIP2 compression. 2016-06-02 12:19:02 -07:00
Apekshit 1a27278624 HBASE-15915 Set timeouts on hanging tests. Tests run: 8, Time elapsed: 94.191 sec - in org.apache.hadoop.hbase.master.procedure.TestMasterFailoverWithProcedures Tests run: 103, Time elapsed: 69.057 sec - in org.apache.hadoop.hbase.regionserver.TestHRegion Tests run: 103, Time elapsed: 67.957 sec - in org.apache.hadoop.hbase.regionserver.TestHRegionWithInMemoryFlush Tests run: 5, Time elapsed: 34.629 sec - in org.apache.hadoop.hbase.regionserver.TestRegionMergeTransactionOnCluster Tests run: 9, Time elapsed: 82.913 sec - in org.apache.hadoop.hbase.snapshot.TestFlushSnapshotFromClient Tests run: 9, Time elapsed: 80.458 sec - in org.apache.hadoop.hbase.snapshot.TestMobFlushSnapshotFromClient (Apekshit)
Change-Id: Ia7b986ca6276ff5498f588c0b1b9c570e2a9d798

Signed-off-by: stack <stack@apache.org>
2016-05-30 21:13:55 -07:00
Youngjoon Kim 47176049f8 HBASE-15897 Fix a wrong comment about QOS order
Signed-off-by: stack <stack@apache.org>
2016-05-29 14:35:35 -07:00
Sean Mackrory f4470af95d HBASE-15891. Closeable resources potentially not getting closed if exception is thrown.
Signed-off-by: stack <stack@apache.org>
2016-05-28 21:32:22 -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 838c306c0a HBASE-15769 Perform validation on cluster key for add_peer (Matt Warhaftig) 2016-05-17 11:01:26 -07:00
Sean Busbey e0aff10901 HBASE-15780 Make AuthUtil public and rely on it for talking to secure HBase.
Signed-off-by: Gary Helmling <garyh@apache.org>
Signed-off-by: Mikhail Antonov <antonov@apache.org>
Signed-off-by: stack <stack@apache.org>
2016-05-16 00:50:14 -05:00
anoopsjohn c9ebcd4e29 HBASE-15785 Unnecessary lock in ByteBufferArray. 2016-05-11 15:56:41 +05:30
Jonathan M Hsieh 541d1da5fe HBASE-15791 Improve javadoc around ScheduledChore 2016-05-09 08:41:28 -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
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
anoopsjohn d1130582d5 HBASE-15735 Tightening of the CP contract. 2016-05-02 09:48:51 +05:30
anoopsjohn 4706303186 HBASE-15706 HFilePrettyPrinter should print out nicely formatted tags. (huaxiang sun) 2016-04-29 09:23:57 +05:30
tedyu 8a28c23431 HBASE-15686 Add override mechanism for the exempt classes when dynamically loading table coprocessor 2016-04-28 09:19:12 -07: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 9ba9cdeb47 HBASE-15683 Min latency in latency histograms are emitted as Long.MAX_VALUE 2016-04-21 10:44:03 -07:00
stack d815211f5a HBASE-15650 Remove TimeRangeTracker as point of contention when many threads reading a StoreFile
Refactor so we use the immutable, unsynchronized TimeRange when doing
    time-based checks at read time rather than use heavily synchronized
    TimeRangeTracker; let TimeRangeTracker be for write-time only.

    While in here, changed the Segment stuff so that when an immutable
    segment, it uses TimeRange rather than TimeRangeTracker too.

    M hbase-common/src/main/java/org/apache/hadoop/hbase/io/TimeRange.java
      Make allTime final.
      Add a includesTimeRange method copied from TimeRangeTracker.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
      Change name of a few methods so they match TimeRange methods that do
      same thing.
      (getTimeRangeTracker, getTimeRange, toTimeRange) add utility methods

    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ImmutableSegment.java
      Change ImmutableSegment so it uses a TimeRange rather than
      TimeRangeTracker.. it is read-only. Redo shouldSeek, getMinTimestamp,
      updateMetaInfo, and getTimeRangeTracker so we use TimeRange-based
      implementations instead of TimeRangeTracker implementations.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/MutableSegment.java
      Implement shouldSeek, getMinTimestamp, updateMetaInfo, and
      getTimeRangeTracker using TimeRangeTracker.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Segment.java
      Make methods that were using TimeRangeTracker abstract and instead
      have the implementations do these methods how they want either using
      TimeRangeTracker when a mutable segment or TimeRange when an immutable
      segment.

    M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
      Change Reader to use TimeRange-based checks instead of
      TimeRangeTracker.

    Signed-off-by: stack <stack@apache.org>
2016-04-15 10:13:42 -07:00
tedyu 6930da781b HBASE-15187 Integrate CSRF prevention filter to REST gateway 2016-04-15 09:38:31 -07:00
tedyu ff9c92e168 HBASE-14985 TimeRange constructors should set allTime when appropriate (Geoffrey Jacoby) 2016-04-11 16:59:45 -07:00
Junegunn Choi ff6a339582 HBASE-15569 Make Bytes.toStringBinary faster
Signed-off-by: stack <stack@apache.org>
2016-03-31 21:23:44 -07:00
stack d7a4499dfc HBASE-15392 Single Cell Get reads two HFileBlocks
M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
moreRowsMayExistAfterCell Exploit the fact a Scan is a Get Scan. Also save compares
if no non-default stopRow.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
optimize Add doc on what is being optimized. Also, if a Get Scan, do not
optimize else we'll keep going after our row is DONE.
Another place to make use of the Get Scan fact is when we are DONE.. if
Get Scan, we can close out the scan.

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
Add tests for Get Scans and optimize around block loading.
2016-03-23 14:37:14 -07:00
anoopsjohn cadfb21f4b HBASE-15064 BufferUnderflowException after last Cell fetched from an HFile Block served from L2 offheap cache - Addendum. 2016-03-23 15:03:50 +05:30
stack 12f66e3060 HBASE-15477 Purge 'next block header' from cached blocks
When we read from HDFS, we overread to pick up the next blocks header.
Doing this saves a seek as we move through the hfile; we save having to
do an explicit seek just to read the block header every time we need to
read the body.  We used to read in the next header as part of the
current blocks buffer. This buffer was then what got persisted to
blockcache; so we were over-persisting: our block plus the next blocks'
header (33 bytes).

This patch undoes this over-persisting.

Removes support for version 1 blocks (0.2 was added in hbase-0.92.0).
Not needed any more.

There is an open question on whether checksums should be persisted
when caching. The code seems to say no but if cache is SSD backed or
backed by anything that does not do error correction, we'll want
checksums.

Adds loads of documentation.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockType.java
  (write) Add writing from a ByteBuff.

M hbase-common/src/main/java/org/apache/hadoop/hbase/nio/ByteBuff.java
  (toString) Add one so ByteBuff looks like ByteBuffer when you click on
  it in IDE

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
  Remove support for version 1 blocks.

  Cleaned up handling of metadata added when we serialize a block to
  caches. Metadata is smaller now.

  When we serialize (used when caching), do not persist the next blocks
  header if present.

  Removed a bunch of methods, a few of which had overlapping
  functionality and others that exposed too much of our internals.
  Also removed a bunch of constructors and unified the constructors we
  had left over making them share a common init method.
  Shutdown access to defines that should only be used internally here.

  Renamed all to do w/ 'EXTRA' and 'extraSerialization' to instead talk
  about metadata saved to caches; was unclear previously what EXTRA was
  about.

  Renamed static final declarations as all uppercase.

  (readBlockDataInternal): Redid. Couldn't make sense of it previously.
  Undid heavy-duty parse of header by constructing HFileBlock. Other
  cleanups. Its 1/3rd the length it used to be. More to do in here.
2016-03-22 18:45:17 -07:00
stack a13d6e000d Revert "HBASE-15392 Single Cell Get reads two HFileBlocks M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java moreRowsMayExistAfterCell Exploit the fact a Scan is a Get Scan. Also save compares if no non-default stopRow."
Revert mistaken commit

This reverts commit 7073f69993.
2016-03-22 18:39:22 -07:00
stack 54a543de22 Revert "HBASE-15477 Purge 'next block header' from cached blocks"
Overcommit. Revert to fix.

This reverts commit 000117ad9f.
2016-03-22 18:37:25 -07:00
stack 000117ad9f HBASE-15477 Purge 'next block header' from cached blocks
When we read from HDFS, we overread to pick up the next blocks header.
Doing this saves a seek as we move through the hfile; we save having to
do an explicit seek just to read the block header every time we need to
read the body.  We used to read in the next header as part of the
current blocks buffer. This buffer was then what got persisted to
blockcache; so we were over-persisting: our block plus the next blocks'
header (33 bytes).

This patch undoes this over-persisting.

Removes support for version 1 blocks (0.2 was added in hbase-0.92.0).
Not needed any more.

There is an open question on whether checksums should be persisted
when caching. The code seems to say no but if cache is SSD backed or
backed by anything that does not do error correction, we'll want
checksums.

Adds loads of documentation.

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/BlockType.java
  (write) Add writing from a ByteBuff.

M hbase-common/src/main/java/org/apache/hadoop/hbase/nio/ByteBuff.java
  (toString) Add one so ByteBuff looks like ByteBuffer when you click on
  it in IDE

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
  Remove support for version 1 blocks.

  Cleaned up handling of metadata added when we serialize a block to
  caches. Metadata is smaller now.

  When we serialize (used when caching), do not persist the next blocks
  header if present.

  Removed a bunch of methods, a few of which had overlapping
  functionality and others that exposed too much of our internals.
  Also removed a bunch of constructors and unified the constructors we
  had left over making them share a common init method.
  Shutdown access to defines that should only be used internally here.

  Renamed all to do w/ 'EXTRA' and 'extraSerialization' to instead talk
  about metadata saved to caches; was unclear previously what EXTRA was
  about.

  Renamed static final declarations as all uppercase.

  (readBlockDataInternal): Redid. Couldn't make sense of it previously.
  Undid heavy-duty parse of header by constructing HFileBlock. Other
  cleanups. Its 1/3rd the length it used to be. More to do in here.
2016-03-22 13:42:38 -07:00
stack 7073f69993 HBASE-15392 Single Cell Get reads two HFileBlocks M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java moreRowsMayExistAfterCell Exploit the fact a Scan is a Get Scan. Also save compares if no non-default stopRow.
M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreScanner.java
optimize Add doc on what is being optimized. Also, if a Get Scan, do not
optimize else we'll keep going after our row is DONE.
Another place to make use of the Get Scan fact is when we are DONE.. if
Get Scan, we can close out the scan.

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreScanner.java
Add tests for Get Scans and optimize around block loading.
2016-03-22 13:00:41 -07:00
Elliott Clark 75252af3a9 HBASE-15460 Fix infer issues in hbase-common
Summary: Fix issues found by static analysis

Test Plan: Unit test pass

Differential Revision: https://reviews.facebook.net/D55551
2016-03-21 11:51:50 -07:00
tedyu fbf58f330b HBASE-15325 ResultScanner allowing partial result will miss the rest of the row if the region is moved between two rpc requests (Phil Yang) 2016-03-17 11:03:29 -07:00
Enis Soztutar ca816f0780 HBASE-6721 RegionServer Group based Assignment (Francis Liu) 2016-03-14 18:28:50 -07:00
tedyu 122e6f5793 HBASE-15439 getMaximumAllowedTimeBetweenRuns in ScheduledChore ignores the TimeUnit (Jingcheng Du) 2016-03-14 07:09:58 -07:00
anoopsjohn 88ca84f685 HBASE-15379 Fake cells created in read path not implementing SettableSequenceId. (Amal Joshy) 2016-03-13 22:05:05 +05:30
Andrew Purtell b6b9910e2c Amend HBASE-15322 Operations using Unsafe path broken for platforms not having sun.misc.Unsafe
"Object cannot be cast to boolean" in UnsafeAvailChecker
2016-03-11 17:39:52 -08:00
anoopsjohn eea8b38dfa HBASE-15180 Reduce garbage created while reading Cells from Codec Decoder. 2016-03-11 13:58:41 +05:30
anoopsjohn 6628d2df11 HBASE-15322 Operations using Unsafe path broken for platforms not having sun.misc.Unsafe. 2016-03-11 09:37:00 +05:30
Matteo Bertozzi 9e967e5c1d HBASE-15113 Procedure v2 - Speedup eviction of sys operation results 2016-03-08 19:47:15 -08:00
Stephen Yuan Jiang 1c6beb3dc1 HBASE-15413 Procedure-V2: print out ProcedureInfo during trace (Stephen Yuan Jiang) 2016-03-07 20:28:45 -08:00
Jonathan M Hsieh f658f3ef83 HBASE-15356 Remove unused imports (Youngjoon Kim) 2016-03-03 11:42:38 -08:00
stack 8ace5bbfce HBASE-15366 Add doc, trace-level logging, and test around hfileblock
M hbase-common/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileContext.java
 Make it emit its toString in format that matches the way we log
 elsewhere

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
 Capitalize statics.

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
 Verify and cleanup documentation of hfileblock format at head of class.
 Explain what 'EXTRA_SERIALIZATION_SPACE' is all about.
 Connect how we serialize and deserialize... done in different places
 and one way when pulling from HDFS and another when pulling from cache
 (TO BE FIXED). Shut down a load of public access.

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderImpl.java
 Add trace-level logging

M hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/HFileScanner.java
 Make it Closeable
2016-03-03 09:16:30 -08:00
zhangduo 69e442efe4 HBASE-15365 Do not write to '/tmp' in TestHBaseConfiguration 2016-03-02 11:05:36 +08:00
stack 8f6e29785a HBASE-15351 Fix description of hbase.bucketcache.size in hbase-default.xml 2016-02-26 13:49:26 -08:00
Elliott Clark 77133fd225 HBASE-15222 Addendum - Use less contended classes for metrics 2016-02-25 09:08:11 -08:00
Mikhail Antonov 43f99def67 HBASE-15136 Explore different queuing behaviors while busy 2016-02-24 20:41:30 -08:00
Elliott Clark 630a65825e HBASE-15222 Use less contended classes for metrics
Summary:
Use less contended things for metrics.
For histogram which was the largest culprit we use FastLongHistogram
For atomic long where possible we now use counter.

Test Plan: unit tests

Reviewers:

Subscribers:

Differential Revision: https://reviews.facebook.net/D54381
2016-02-24 14:34:05 -08:00
eshcar 876a6ab73e HBASE-15016 Services a Store needs from a Region
Signed-off-by: stack <stack@apache.org>
2016-02-24 07:07:07 -08:00
ramkrishna 3ba1a7fd23 HBASE-13259 mmap() based BucketCache IOEngine (Zee Chen & Ram) 2016-02-23 17:03:38 +05:30
stack 6f8c7dca13 HBASE-15279 OrderedBytes.isEncodedValue does not check for int8 and int16 types (Robert Yokota) 2016-02-17 22:10:15 -08:00
Matteo Bertozzi e0fa176f0b HBASE-15100 ProcedureInfo constructor should be InterfaceAudience.Private (addendum) 2016-02-17 12:14:01 -08:00
ramkrishna a975408b7c HBASE-15253 Small bug in CellUtil.matchingRow(Cell, byte[]) (Ram) 2016-02-11 21:51:19 +05:30
Enis Soztutar a69272efe1 HBASE-15177 Reduce garbage created under high load 2016-02-04 13:27:00 -08:00
Enis Soztutar 2f5767376f HBASE-15129 Set default value for hbase.fs.tmp.dir rather than fully depend on hbase-default.xml (Yu Li) 2016-02-02 17:10:19 -08:00
stack ed46591f30 HBASE-15196 HBASE-15158 Preamble 2 of 2:Add Increment tests 2016-02-02 11:27:03 -08:00
stack 2cc48e039d HBASE-15158 HBASE-15158 Preamble 1 of 2: fix findbugs, add javadoc, change Region#getReadpoint to #getReadPoint, and some util 2016-01-31 20:21:48 -08:00
ramkrishna 0de221a19d HBASE-14841 Allow Dictionary to work with BytebufferedCells (Ram) 2016-01-29 10:06:20 +05:30
Misty Stanley-Jones 4ca27a68ef HBASE-15184 Fix broken links found via LinkLint 2016-01-26 10:02:53 -08:00
Matteo Bertozzi 772f30fe2a HBASE-15100 Master WALProcs are deleted out of order ending up with older wals not removed 2016-01-22 15:57:12 -08:00
stack bd9906736e HBASE-15098 Normalizer switch in configuration is not used 2016-01-20 09:32:38 -08:00
Gary Helmling df36178062 HBASE-15111 hbase version should write to stdout
Signed-off-by: Sean Busbey <busbey@cloudera.com>
2016-01-19 22:06:57 -06:00
Matteo Bertozzi 18a48af242 HBASE-14837 Procedure v2 - Procedure Queue Improvement 2016-01-14 09:24:42 -08:00
stack 83c506d9d4 HBASE-15087 Fix hbase-common findbugs complaints 2016-01-12 00:30:42 -08:00
anoopsjohn da932ee38d HBASE-15077 Support OffheapKV write in compaction with out copying data on heap. 2016-01-12 10:02:39 +05:30
anoopsjohn a9b671b31f HBASE-12593 Tags to work with ByteBuffer. 2016-01-06 21:28:06 +05:30
anoopsjohn 7cd09bfb91 HBASE-15064 BufferUnderflowException after last Cell fetched from an HFile Block served from L2 offheap cache. 2016-01-06 10:25:32 +05:30
stack 46303dfd75 HBASE-14888 ClusterSchema: Add Namespace Operations 2016-01-05 14:35:27 -08:00
anoopsjohn 9997e4ee52 HBASE-14524 Short-circuit comparison of rows in CellComparator. (Lars Francke) 2016-01-05 08:47:23 +05:30
stack a82f7fc94a Revert "HBASE-14888 ClusterSchema: Add Namespace Operations"
This reverts commit c5f3d17ae3.
2016-01-03 07:15:18 -08:00
stack c5f3d17ae3 HBASE-14888 ClusterSchema: Add Namespace Operations 2016-01-02 16:16:56 -08:00
anoopsjohn f01a388a35 HBASE-15063 Bug in MultiByteBuf#toBytes. (deepankar) 2016-01-01 23:11:59 +05:30
tedyu 449fb81286 HBASE-14030 Revert due to pending review comments 2015-12-28 01:08:02 -08:00
tedyu de69f0df34 HBASE-14030 HBase Backup/Restore Phase 1 (Vladimir Rodionov) 2015-12-27 10:02:09 -08:00
tedyu f53542c47d HBASE-15026 The default value of "hbase.regions.slop" in docs is obsolete 2015-12-25 15:37:31 -08:00
Jonathan M Hsieh 3de0b0417c HBASE-15035 bulkloading hfiles with tags that require splits do not preserve tags 2015-12-25 09:51:34 -08:00
anoopsjohn 6fc2596ab3 HBASE-14940 Make our unsafe based ops more safe. 2015-12-24 07:54:13 +05:30
Enis Soztutar 95a13b51ee HBASE-14977 ChoreService.shutdown may result in ConcurrentModificationException - ADDENDUM to fix extra concurrency issues 2015-12-22 02:04:09 -08:00
anoopsjohn cf458d3023 HBASE-14999 Remove ref to org.mortbay.log.Log. 2015-12-17 18:01:16 +05:30
Enis Soztutar a4bbc461e3 HBASE-14977 ChoreService.shutdown may result in ConcurrentModificationException (Vladimir Rodionov) 2015-12-15 12:29:43 -08:00
stack c15e0af84a HBASE-14906 Improvements on FlushLargeStoresPolicy (Yu Li) 2015-12-10 16:49:23 -08:00
ramkrishna 26ac60b03f HBASE-13153 Bulk Loaded HFile Replication (Ashish Singhi) 2015-12-10 13:07:46 +05:30
Gary Helmling c1e0fcc26d HBASE-14866 VerifyReplication and ReplicationAdmin should use full peer configuration for peer connection 2015-12-09 15:52:27 -08:00
stack 8bf70144e4 Revert "Revert "HBASE-14922 Delayed flush doesn't work causing flush storms; addendum by Lars Hofhansl""
Push again but with right JIRA number this time.

This reverts commit 9fb53d07c4.
2015-12-05 14:30:25 -08:00
stack 9fb53d07c4 Revert "HBASE-1422 Delayed flush doesn't work causing flush storms; addendum by Lars Hofhansl"
Revert because pushed with wrong JIRA number

This reverts commit b1462679e1.
2015-12-05 14:30:05 -08:00
stack b1462679e1 HBASE-1422 Delayed flush doesn't work causing flush storms; addendum by Lars Hofhansl 2015-12-05 11:39:34 -08:00
Elliott Clark 46198bb9a4 HBASE-14922 Delayed flush doesn't work causing flush storms. -- ADD 2015-12-04 18:37:29 -08:00
Elliott Clark cd5ddc5fec HBASE-14922 Delayed flush doesn't work causing flush storms. 2015-12-04 16:54:01 -08:00
Enis Soztutar b3260423b1 HBASE-14904 Mark Base[En|De]coder LimitedPrivate and fix binary compat issue 2015-12-03 18:18:20 -08:00
ramkrishna aa41232a87 HBASE-14832 Ensure write paths work with ByteBufferedCells in case of
compaction (Ram)
2015-12-02 10:28:30 +05:30
Apekshit 3bac31b2a4 HBASE-14890 Fix broken checkstyle tool. Some javadocs had parsing errors because of wrongly formatted HTML tags. (Apekshit)
Signed-off-by: stack <stack@apache.org>
2015-11-28 21:57:52 -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