Commit Graph

4750 Commits

Author SHA1 Message Date
anoopsjohn d1130582d5 HBASE-15735 Tightening of the CP contract. 2016-05-02 09:48:51 +05:30
Jurriaan Mous 15631a76f5 HBASE-15744 Port over small format/text improvements from HBASE-13784
(Jurriaan Mous)

Signed-off-by: stack <stack@apache.org>
2016-05-01 19:48:43 -07:00
chenheng ccd8888b4b Revert "HBASE-15278 AsyncRPCClient hangs if Connection closes before RPC call response"
This reverts commit 01c0448ccd.
2016-04-30 11:37:05 +08:00
chenheng 01c0448ccd HBASE-15278 AsyncRPCClient hangs if Connection closes before RPC call response 2016-04-30 09:27:32 +08:00
tedyu c236409c3b HBASE-15357 TableInputFormatBase getSplitKey does not handle signed bytes correctly (Nathan Schile) 2016-04-29 17:08:25 -07:00
Mikhail Antonov 730b077666 HBASE-15551 Make call queue too big exception use servername 2016-04-29 10:25:29 -07:00
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
Ramkrishna 889d89a74c HBASE-15697 Excessive TestHRegion running time on branch-1 (Ram) 2016-04-28 14:24:39 +05:30
tedyu 9343ef438f HBASE-15676 FuzzyRowFilter fails and matches all the rows in the table if the mask consists of all 0s (Matt Warhaftig) 2016-04-27 21:00:11 -07:00
chenheng e8b37422c3 HBASE-15720 Print row locks at the debug dump page 2016-04-28 11:40:29 +08:00
Gary Helmling ce318a2906 HBASE-15658 Avoid excess meta cache clearing for RegionServerCallable 2016-04-26 22:54:13 -07:00
tedyu ebb5d421f9 HBASE-15707 ImportTSV bulk output does not support tags with hfile.format.version=3 (huaxiang sun) 2016-04-26 11:21:29 -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
tedyu dce59294ff HBASE-15634 TestDateTieredCompactionPolicy#negativeForMajor is flaky (Duo Zhang and Ted Yu) 2016-04-26 09:23:54 -07:00
tedyu 793d976d87 HBASE-14252 RegionServers fail to start when setting hbase.ipc.server.callqueue.scan.ratio to 0 (Yubao Liu and Ted Yu) 2016-04-25 13:26:47 -07:00
zhangduo 1eac103ead HBASE-15628 Implement an AsyncOutputStream which can work with any FileSystem implementation 2016-04-25 22:20:27 +08:00
zhangduo 3cfe363f13 HBASE-15699 Can not sync AsyncFSWAL if no edit is appended 2016-04-25 13:17:26 +08: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
Matteo Bertozzi 1ecb10ce07 HBASE-15688 Use MasterServices directly instead of casting to HMaster when possible 2016-04-22 10:15:58 -07:00
Enis Soztutar 4c0587134a HBASE-15671 Add per-table metrics on memstore, storefile and regionsize (Alicia Ying Shu) 2016-04-21 13:33:26 -07:00
chenheng 03f3c392a3 HBASE-15674 HRegionLocator#getAllRegionLocations should put the results in cache 2016-04-21 14:19:39 +08:00
zhangduo 58f175f0ea HBASE-15368 Add pluggable window support 2016-04-21 12:02:16 +08:00
Andrew Purtell 2c26fe37ac HBASE-15614 Report metrics from JvmPauseMonitor 2016-04-20 17:37:34 -07:00
Enis Soztutar 18d70bc680 HBASE-15518 Add Per-Table metrics back (Alicia Ying Shu) 2016-04-20 14:35:45 -07:00
stack 6dd938c20b HBASE-15640 L1 cache doesn't give fair warning that it is showing partial stats only when it hits limit 2016-04-20 14:14:37 -07:00
stack fa215a67e2 HBASE-15385 PREFETCH_BLOCKS_ON_OPEN in HColumnDescriptor is ignored 2016-04-20 09:38:30 -07:00
tedyu 3e1bdccc53 HBASE-15679 Assertion on wrong variable in TestReplicationThrottler#testThrottling 2016-04-20 07:11:17 -07:00
stack 954a41790c HBASE-15672 hadoop.hbase.security.visibility.TestVisibilityLabelsWithDeletes fails (Anoop Sam John) 2016-04-19 17:10:48 -07:00
Apekshit 501030d204 HBASE-15673 Fix latency metrics for multiGet. - Also fixes some stuff in help text. (Apekshit)
Change-Id: I49d76896d5cc070b9f60dadf6746865e98fbbbd0

Signed-off-by: stack <stack@apache.org>
2016-04-19 16:12:43 -07:00
zhangduo bd3b9753a9 HBASE-15665 Support using different StoreFileComparators for different CompactionPolicies 2016-04-19 19:35:17 +08:00
Gábor Lipták 6d7a7fa3aa HBASE-13372 Add unit tests for SplitTransaction and RegionMergeTransaction listeners
Signed-off-by: Andrew Purtell <apurtell@apache.org>
2016-04-18 17:04:56 -07:00
Ashish Singhi 70687c18bb HBASE-15668 HFileReplicator fails to replicate other hfiles in the request when a hfile in not found in FS anywhere 2016-04-18 22:17:02 +05:30
zhangduo f2e0aca2b6 HBASE-15664 Use Long.MAX_VALUE instead of HConstants.FOREVER in CompactionPolicy 2016-04-18 20:10:31 +08:00
tedyu e9211e415a HBASE-15287 mapreduce.RowCounter returns incorrect result with binary row key inputs (Matt Warhaftig) 2016-04-16 12:46:21 -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
Matteo Bertozzi 3e42f82600 HBASE-15622 Superusers does not consider the keytab credentials 2016-04-15 08:28:39 -07:00
chenheng a9f1c4a871 HBASE-15406 Split / merge switch left disabled after early termination of hbck 2016-04-15 14:09:52 +08:00
Apekshit 7efb9edecb HBASE-15296 Break out writer and reader from StoreFile. Done using Intellij15 Refactor > Move. (Apekshit)
Change-Id: Ie719569cc3393e0b5361e9d462c3cf125ad5144e

Signed-off-by: stack <stack@apache.org>
2016-04-13 22:43:03 -07:00
Elliott Clark 5a7c8dcb68 HBASE-15504 Fix Balancer in 1.3 not moving regions off overloaded regionserver 2016-04-13 18:07:00 -07:00
Apekshit 8f9e46a640 HBASE-15405 Fix PE logging and wrong defaults in help message. (Apekshit)
Change-Id: Ib3007fae8d05e651b62bf4c15352ed43ea79e739
2016-04-13 12:10:33 -07:00
Matteo Bertozzi ae7e5e29f9 HBASE-15481 Add pre/post roll to WALObserver
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-04-13 00:43:51 -05:00
Stephen Yuan Jiang 543e7081f5 HBASE-15636 hard coded wait time out value in HBaseTestingUtility#waitUntilAllRegionsAssigned might cause test failure (Stephen Yuan Jiang) 2016-04-12 16:46:39 -07:00
Matteo Bertozzi d03cdc795c HBASE-15621 Suppress Hbase SnapshotHFile cleaner error messages when a snaphot is going on (Huaxiang Sun) 2016-04-12 12:17:55 -07:00
Matteo Bertozzi 0f23e61ec5 HBASE-15632 Undo the checking of lastStoreFlushTimeMap.isEmpty() introduced in HBASE-13145 (Huaxiang Sun) 2016-04-12 11:35:18 -07:00
tedyu ff9c92e168 HBASE-14985 TimeRange constructors should set allTime when appropriate (Geoffrey Jacoby) 2016-04-11 16:59:45 -07:00
Matteo Bertozzi 8964573394 HBASE-15627 Miss space and closing quote in AccessController#checkSystemOrSuperUser (Huaxiang Sun) 2016-04-11 08:28:26 -07:00
tedyu 8541fe4ad1 HBASE-15093 Replication can report incorrect size of log queue for the global source when multiwal is enabled (Ashu Pachauri) 2016-04-11 08:17:20 -07:00
Vasudevan a395922ad5 HBASE-15605 Remove PB references from HCD and HTD for 2.0 (Ram) 2016-04-11 14:12:07 +05:30
Jerry He 80df1cb7b6 HBASE-15591 ServerCrashProcedure not yielding 2016-04-10 17:02:39 -07:00
zhangduo f7d44e929f HBASE-15527 Refactor Compactor related classes 2016-04-10 09:26:28 +08:00
tedyu e0f31ba6e6 HBASE-15507 Online modification of enabled ReplicationPeerConfig (Geoffrey Jacoby) 2016-04-08 21:26:31 -07:00
zhangduo 6ea4994569 HBASE-15407 Add SASL support for fan out OutputStream 2016-04-08 21:46:47 +08:00
stack e450d94a2c HBASE-15380 Purge rollback support in Store etc. 2016-04-07 22:35:23 -07:00
zhangduo 394b89d153 HBASE-15537 Make multi WAL work with WALs other than FSHLog 2016-04-08 10:36:16 +08:00
Enis Soztutar 2dcd08bc3d HBASE-15586 Unify human readable numbers in the web UI 2016-04-07 17:07:33 -07:00
tedyu a146a71a33 HBASE-15400 Use DateTieredCompactor for Date Tiered Compaction - drop TestDateTieredCompaction.java 2016-04-07 15:01:00 -07:00
tedyu f60fc9d1a0 HBASE-15400 Use DateTieredCompactor for Date Tiered Compaction (Clara Xiong) 2016-04-07 14:58:59 -07:00
tedyu 3826894f89 HBASE-15369 Handle NPE in region.jsp (Samir Ahmic) 2016-04-06 06:52:51 -07:00
Enis Soztutar c93cffb95c HBASE-15587 FSTableDescriptors.getDescriptor() logs stack trace erronously 2016-04-05 18:13:40 -07:00
tedyu a93a8878fe HBASE-15485 Filter.reset() should not be called between batches (Phil Yang) 2016-04-04 12:52:24 -07:00
Ashish Singhi 33396c3629 HBASE-15578 Handle HBASE-15234 for ReplicationHFileCleaner 2016-04-04 15:02:19 +05:30
Matteo Bertozzi 79868bd394 HBASE-15582 SnapshotManifestV1 too verbose when there are no regions 2016-04-01 20:55:21 -07:00
Ashish Singhi 25419d8b18 HBASE-15424 Add bulk load hfile-refs for replication in ZK after the event is appended in the WAL 2016-04-01 15:40:36 +05:30
tedyu 5d79790c55 HBASE-15293 Handle TableNotFound and IllegalArgument exceptions in table.jsp (Samir Ahmic) 2016-04-01 02:13:18 -07:00
Stephen Yuan Jiang 89d750166d HBASE-15568 Procedure V2 - Remove CreateTableHandler in HBase Apache 2.0 release (Stephen Yuan Jiang) 2016-04-01 01:31:09 -07:00
Gary Helmling 2d8e0a0477 HBASE-15234 Don't abort ReplicationLogCleaner on ZooKeeper errors 2016-03-31 22:28:18 -07:00
Stephen Yuan Jiang e1d5c3d269 HBASE-15521 Procedure V2 - RestoreSnapshot and CloneSnapshot (Stephen Yuan Jiang) 2016-03-31 21:49:13 -07:00
Harsh J 7d3a89ce8e HBASE-15396 Enhance mapreduce.TableSplit to add encoded region name
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-03-31 22:59:43 -05:00
tedyu 8c7f044efb HBASE-15571 Make MasterProcedureManagerHost accessible through MasterServices 2016-03-31 15:45:46 -07:00
zhangduo d6fd859451 HBASE-15538 Implement secure async protobuf wal writer 2016-03-31 10:33:35 +08:00
stack 9d56105eec HBASE-15324 Jitter may cause desiredMaxFileSize overflow in ConstantSizeRegionSplitPolicy and trigger unexpected split (Yu Li) 2016-03-30 13:31:09 -07:00
stack 21301a8a95 HBASE-15566 Add timeouts on TestMobFlushSnapshotFromClient and TestRegionMergeTransactionOnCluster 2016-03-30 13:23:20 -07:00
Elliott Clark a71ce6e738 HBASE-14983 Create metrics for per block type hit/miss ratios
Summary: Missing a root index block is worse than missing a data block. We should know the difference

Test Plan: Tested on a local instance. All numbers looked reasonable.

Differential Revision: https://reviews.facebook.net/D55563
2016-03-30 11:41:11 -07:00
Elliott Clark b18de5ef45 HBASE-15559 Fix BaseMasterAndRegionObserver doesn't implement all the methods 2016-03-30 11:17:08 -07:00
tedyu 31aee19f28 HBASE-15327 Canary will always invoke admin.balancer() in each sniffing period when writeSniffing is enabled (Jianwei Cui) 2016-03-30 08:58:42 -07:00
Enis Soztutar afdfd1bd9c HBASE-15295 MutateTableAccess.multiMutate() does not get high priority causing a deadlock - ADDENDUM for failing test 2016-03-29 15:02:18 -07:00
chenheng 7f39baf0f4 HBASE-11393 Replication TableCfs should be a PB object rather than a string 2016-03-29 10:25:29 +08:00
Enis Soztutar 0520097611 HBASE-15295 MutateTableAccess.multiMutate() does not get high priority causing a deadlock 2016-03-28 17:56:32 -07:00
tedyu cbf9c1e116 HBASE-15191 CopyTable and VerifyReplication - Option to specify batch size, versions (Parth Shah) 2016-03-28 17:25:00 -07:00
tedyu 7793bc54c2 HBASE-15548 SyncTable: sourceHashDir is supposed to be optional but won't work without (Dave Latham) 2016-03-28 16:52:44 -07:00
zhangduo c96b642f15 HBASE-15265 Implement an asynchronous FSHLog 2016-03-26 15:41:27 +08:00
tedyu b865fb9434 HBASE-15496 Throw RowTooBigException only for user scan/get (Guanghao Zhang) 2016-03-25 18:18:35 -07:00
zhangduo 11d11d3fcc HBASE-15389 Write out multiple files when compaction 2016-03-25 15:07:54 +08:00
chenheng e9c4f12856 HBASE-15384 Avoid using '/tmp' directory in TestBulkLoad 2016-03-25 12:06:55 +08:00
tedyu 07c597c8a2 HBASE-15526 Make SnapshotManager accessible through MasterServices 2016-03-24 15:59:46 -07:00
tedyu ad3feaa448 HBASE-15515 Improve LocalityBasedCandidateGenerator in Balancer (Guanghao Zhang) 2016-03-24 11:10:58 -07:00
Jerry He 7c93098210 HBASE-14256 Flush task message may be confusing when region is recovered (Gabor Liptak) 2016-03-24 10:06:38 -07:00
Elliott Clark e71bc71c84 HBASE-15475 Addendum 2016-03-24 09:11:19 -07:00
zhangduo fd5c0934b6 HBASE-15520 Fix broken TestAsyncIPC 2016-03-24 10:46:44 +08:00
Elliott Clark 925c185969 HBASE-15475 Allow TimestampsFilter to provide a seek hint
Summary:
Allow TestTimestampFilterSeekHint to provide a seek next hint.
This can be incorrect as it might skip deletes. However it can
make things much much faster.

Test Plan: Added a unit test.

Differential Revision: https://reviews.facebook.net/D55617
2016-03-23 18:56:52 -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
Matteo Bertozzi 7177e4be64 HBASE-15508 Add command for exporting snapshot in hbase command script (Yufeng Jiang) 2016-03-23 10:26:32 -07:00
zhangduo 5fcadb86ab HBASE-15495 Connection leak in FanOutOneBlockAsyncDFSOutputHelper 2016-03-23 09:56:40 +08:00
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 c49d0caf53 Revert "HBASE-15477 Purge 'next block header' from cached blocks"
Overcommit. Revert.

This reverts commit ef94b55239.
2016-03-22 18:38:29 -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
Enis Soztutar 3f3613a234 HBASE-15212 RRCServer should enforce max request size 2016-03-22 16:23:15 -07:00
stack 8af9ed7433 HBASE-15416 TestHFileBackedByBucketCache is flakey since it went in 2016-03-22 15:44:25 -07:00
Enis Soztutar b3fe4ed16c HBASE-15412 Add average region size metric (Alicia Ying Shu) 2016-03-22 14:46:27 -07:00
zhangduo 2348478506 HBASE-15360 addendum fix testCoDelScheduling
Signed-off-by: stack <stack@apache.org>
2016-03-22 13:52:26 -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 ef94b55239 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:34:51 -07:00
stack 891569bbd9 Add javadoc on how BBIOEngine works (by Anoop Sam John) 2016-03-22 13:01:13 -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
tedyu 47471c35e3 HBASE-15488 Add ACL for setting split merge switch 2016-03-22 10:38:13 -07:00
Enis Soztutar 797562e6c3 HBASE-15464 Flush / Compaction metrics revisited 2016-03-21 17:50:02 -07:00
tedyu f1d453599a HBASE-15433 SnapshotManager#restoreSnapshot not update table and region count quota correctly when encountering exception (Jianwei Cui) 2016-03-21 03:46:23 -07:00
Sean Busbey f48c92d143 HBASE-15478 add comments to syncRunnerIndex handling explaining constraints on possible values.
Signed-off-by: zhangduo <zhangduo@apache.org>
2016-03-21 00:28:15 -05:00
Yu Li d2d8058ab3 HBASE-15451 Remove unnecessary wait in MVCC 2016-03-19 21:24:07 +08: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
tedyu 8c031e9d6b HBASE-15456 Revert due to unit test failure in thrift module 2016-03-17 17:36:44 -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
Elliott Clark ac1a7a4a78 HBASE-15470 Add a setting for Priority queue length
Summary:
Move the config keys to one place
Make Two different config keys. One for default, one for priority

Test Plan: unit tests

Differential Revision: https://reviews.facebook.net/D55575
2016-03-16 16:52:04 -07:00
Elliott Clark ecec35ae4e HBASE-15441 Fix WAL splitting when region has moved multiple times
Summary:
Currently WAL splitting is broken when a region has been opened multiple times in recent minutes.

Region open and region close write event markers to the wal. These markers should have the sequence id in them. However it is currently getting 1. That means that if a region has moved multiple times in the last few mins then multiple split log workers will try and create the recovered edits file for sequence id 1. One of the workers will fail and on failing they will delete the recovered edits. Causing all split wal attempts to fail.

We need to:

It appears that the close event with a sequence id of one is coming from region warm up.

This patch fixes that by making sure the close on warm up doesn't happen. Also splitting will ignore any of the events that are already in the logs.

Test Plan: Unit tests pass

Differential Revision: https://reviews.facebook.net/D55557
2016-03-16 16:26:09 -07:00
Matteo Bertozzi 3bf0945a11 HBASE-15430 Failed taking snapshot - Manifest proto-message too large (JunHo Cho) 2016-03-16 08:52:02 -07:00
stack 9eb25bd5c9 HBASE-15360 Fix flaky TestSimpleRpcScheduler (Duo Zhang) 2016-03-16 08:04:10 -07:00
tedyu f120602f1e HBASE-15456 CreateTableProcedure/ModifyTableProcedure needs to fail when there is no family in table descriptor (huaxiang sun) 2016-03-15 16:15:03 -07:00
Enis Soztutar 51259fe4a5 HBASE-15377 Per-RS Get metric is time based, per-region metric is size-based (Heng Chen) 2016-03-15 11:22:18 -07:00
tedyu 8fcc1e8e95 HBASE-15463 Region normalizer should check whether split/merge is enabled 2016-03-15 09:03:27 -07:00
Enis Soztutar ca816f0780 HBASE-6721 RegionServer Group based Assignment (Francis Liu) 2016-03-14 18:28:50 -07:00
anoopsjohn eea8b38dfa HBASE-15180 Reduce garbage created while reading Cells from Codec Decoder. 2016-03-11 13:58:41 +05:30
Enis Soztutar a979d85582 HBASE-15435 Add WAL (in bytes) written metric (Alicia Ying Shu) 2016-03-10 20:16:30 -08:00
stack bb5bfe82f2 Revert "HBASE-15261 Make Throwable t in DaughterOpener volatile (Huaxiang Sun)"
Not needed afterall

This reverts commit d15ae0e6ab.
2016-03-10 15:41:04 -08:00
tedyu d14b6c3810 HBASE-15425 Failing to write bulk load event marker in the WAL is ignored (Ashish Singhi) 2016-03-09 18:49:41 -08:00
tedyu ad9b91a904 HBASE-15378 Scanner cannot handle heartbeat message with no results (Phil Yang) 2016-03-09 09:28:54 -08:00
Matteo Bertozzi 9e967e5c1d HBASE-15113 Procedure v2 - Speedup eviction of sys operation results 2016-03-08 19:47:15 -08:00
Liu Shaohui 7e4e8dc3e9 HBASE-15420: TestCacheConfig failed after HBASE-15338 2016-03-09 10:15:35 +08:00
Gábor Lipták 14217cef24 HBASE-15364 Fix unescaped < and > characters in Javadoc 2016-03-08 16:44:04 -08:00
Mikhail Antonov 46cc3d4972 HBASE-15137 CallTimeoutException and CallQueueTooBigException should trigger PFFE 2016-03-07 20:54:54 -08:00
stack 4f044cf6be HBASE-15421 Convert TestStoreScanner to junit4 from junit3 and clean up close of scanners 2016-03-07 20:46:46 -08:00
Mikhail Antonov e477c143bc HBASE-15354 Use same criteria for clearing meta cache for all operations (addendum) (Ashu Pachauri) 2016-03-07 18:11:15 -08:00
stack d15ae0e6ab HBASE-15261 Make Throwable t in DaughterOpener volatile (Huaxiang Sun) 2016-03-07 16:34:11 -08:00
stack 0f14856b01 HBASE-15416 TestHFileBackedByBucketCache is flakey since it went in 2016-03-07 16:31:09 -08:00
tedyu ed977fd125 HBASE-15243 Utilize the lowest seek value when all Filters in MUST_PASS_ONE FilterList return SEEK_NEXT_USING_HINT 2016-03-07 16:15:59 -08:00
tedyu dfc650a953 HBASE-15243 Revert due to compilation error - master branch change makes the patch stale 2016-03-07 15:59:29 -08:00
tedyu 05c1309b3c HBASE-15243 Utilize the lowest seek value when all Filters in MUST_PASS_ONE FilterList return SEEK_NEXT_USING_HINT 2016-03-07 15:41:06 -08:00
tedyu 05161fcbfd HBASE-15393 Addendum adds TestReplicationAdminWithTwoDifferentZKClusters (Ashish) 2016-03-07 04:56:00 -08:00
chenheng f30afa05d9 HBASE-15376 ScanNext metric is size-based while every other per-operation metric is time based 2016-03-07 17:36:40 +08:00
Liu Shaohui 4483b3cbed HBASE-15338: Add a option to disable the data block cache for testing the performance of underlying file system 2016-03-07 16:37:07 +08:00
Jesse Yates ef712df944 HBASE-14703 HTable.mutateRow does not collect stats (Heng Chen) 2016-03-05 11:01:45 -08:00
tedyu d083e4f29f HBASE-15393 Enable table replication command will fail when parent znode is not default in peer cluster (Ashish Singhi) 2016-03-05 06:28:09 -08:00
Ashu Pachauri 27cf0c8c36 HBASE-15354 Same criteria to clear metacache across operations (Ashu Pachauri)
Signed-off-by: Mikhail Antonov <antonov@apache.org>
2016-03-04 17:55:35 -08:00
stack 7dabcf23e8 HBASE-15373 DEPRECATED_NAME_OF_NO_LIMIT_THROUGHPUT_CONTROLLER_CLASS value is wrong in CompactionThroughputControllerFactory 2016-03-03 19:42:42 -08:00
tedyu 4fba1c3627 HBASE-15291 FileSystem not closed in secure bulkLoad (Yong Zhang) 2016-03-03 15:59:37 -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
chenheng 4b3e38705c HBASE-15329 Cross-Site Scripting: Reflected in table.jsp (Samir Ahmic) 2016-03-03 12:20:00 +08:00
zhangduo 5e395c4294 HBASE-15375 Do not write to '/tmp' in TestRegionMover 2016-03-02 17:04:19 +08:00