Commit Graph

4597 Commits

Author SHA1 Message Date
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
tedyu edc5ab5af9 HBASE-15291 Revert due to the bug Haitao discovered 2016-03-02 00:49:17 -08:00
eshcar dc44943666 HBASE-15359 Simplifying segment hierarchy
Signed-off-by: stack <stack@apache.org>
2016-03-01 23:25:11 -08:00
tedyu bab8d1527b HBASE-15181 Addendum fixes findbugs warning (Clara Xiong) 2016-03-01 18:17:43 -08:00
Elliott Clark 9ad13468a0 HBASE-15315 Remove always set super user call as high priority (Yong Zhang) 2016-03-01 15:34:16 -08:00
Phil Yang 88f775996b HBASE-15358 canEnforceTimeLimitFromScope should use timeScope instead of sizeScope
Signed-off-by: zhangduo <zhangduo@apache.org>
2016-02-29 17:21:42 +08:00
tedyu 03ffb30efe HBASE-15181 adds TestCompactionPolicy which was missing in first commit 2016-02-26 19:58:33 -08:00
tedyu f7f96b9fb7 HBASE-15181 A simple implementation of date based tiered compaction (Clara Xiong) 2016-02-26 17:36:23 -08:00
chenheng 99955a3240 HBASE-15128 Disable region splits and merges switch in master 2016-02-27 08:36:59 +08:00
Elliott Clark e88d943183 HBASE-15348 Disable metrics tests until fixed. 2016-02-26 09:04:51 -08:00
ramkrishna 8f2bd06019 HBASE-15205 Do not find the replication scope for every WAL#append() (Ram) 2016-02-26 22:30:55 +05:30
ramkrishna 538815d82a HBASE-15215 TestBlockEvictionFromClient is flaky in jdk1.7 build (setting
offheap)
2016-02-26 11:43:00 +05:30
chenheng bf4fcc30c6 Revert "HBASE-15128 Disable region splits and merges switch in master"
This reverts commit 24d481c580.
2016-02-26 08:52:12 +08:00
chenheng 24d481c580 HBASE-15128 Disable region splits and merges switch in master 2016-02-26 08:11:16 +08:00
Samir Ahmic 75c57a04dd HBASE-15311 Prevent NPE in BlockCacheViewTmpl.
Signed-off-by: stack <stack@apache.org>
2016-02-25 15:23:28 -08:00
Samir Ahmic 40c55915e7 HBASE-15144 Procedure v2 - Web UI displaying Store state 2016-02-25 10:46:56 -08:00
Mikhail Antonov 43f99def67 HBASE-15136 Explore different queuing behaviors while busy 2016-02-24 20:41:30 -08:00
zhangduo 6e9d355b12 HBASE-15264 Implement a fan out HDFS OutputStream 2016-02-25 10:07:27 +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
Phil Yang 30cec72f9a HBASE-15302 Reenable the other tests disabled by HBASE-14678
Signed-off-by: stack <stack@apache.org>
2016-02-24 07:14:01 -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
stack 28cd48b673 HBASE-15277 TestRegionMergeTransactionOnCluster.testWholesomeMerge fails with no connection to master; ADDING DEBUGGING 2016-02-23 22:43:01 -08:00
Mikhail Antonov f47dba74d4 HBASE-15306 Make RPC call queue length dynamically configurable 2016-02-23 14:20:40 -08:00
tedyu 58283fa1b1 HBASE-15291 FileSystem not closed in secure bulkLoad (Yong Zhang) 2016-02-23 06:11:39 -08:00
ramkrishna 3ba1a7fd23 HBASE-13259 mmap() based BucketCache IOEngine (Zee Chen & Ram) 2016-02-23 17:03:38 +05:30
Josh Elser a8073c4a98 HBASE-15232 Handle region location cache mgmt in AsyncProcess for multi()'s
Further investigation after HBASE-15221 lead to some findings that
AsyncProcess should have been managing the contents of the region
location cache, appropriately clearing it when necessary (e.g. an
RPC to a server fails because the server doesn't host that region)

For multi() RPCs, the tableName argument is null since there is no
single table that the updates are destined to. This inadvertently
caused the existing region location cache updates to fail on 1.x
branches. AsyncProcess needs to handle when tableName is null
and perform the necessary cache evictions.

As such, much of the new retry logic in HTableMultiplexer is
unnecessary and is removed with this commit. Getters which were
added as a part of testing were left since that are mostly
harmless and should contain no negative impact.

Signed-off-by: stack <stack@apache.org>
2016-02-22 22:03:14 -08:00
stack 5e501123ca HBASE-15301 Remove the never-thrown NamingException from TableInputFormatBase#reverseDNS method signature (Yu Li) 2016-02-22 21:58:20 -08:00
anoopsjohn 2d66cd86d0 HBASE-15247 InclusiveStopFilter does not respect reverse Filter property. (Amal Joshy) 2016-02-23 09:21:37 +05:30
Mikhail Antonov e58c0385a7 HBASE-15135 Add metrics for storefile age 2016-02-22 02:21:02 -08:00
tedyu ed290cf829 HBASE-15219 Canary tool does not return non-zero exit code when one of regions is in stuck state 2016-02-20 20:25:01 -08:00
chenheng a878b19c4e HBASE-15259 WALEdits under replay will also be replicated 2016-02-20 10:09:27 +08:00
tedyu 8eedc96751 HBASE-15251 During a cluster restart, Hmaster thinks it is a failover by mistake (Clara Xiong) 2016-02-18 23:46:54 -08:00
zhangduo d2ba87509b HBASE-14949 Resolve name conflict when splitting if there are duplicated WAL entries 2016-02-18 19:48:52 +08:00
Samir Ahmic bba4f107c1 HBASE-15270 Use appropriate encoding for "filter" field in TaskMonitorTmpl.jamon.
Signed-off-by: chenheng <chenheng@apache.org>
2016-02-17 23:55:38 -06:00
Sean Busbey c7eb72a91c Revert "HBASE-15120 Use appropriate encoding for "filter" field in TaskMonitorTmpl.jamon."
This reverts commit 9f8273e717.
2016-02-17 23:55:20 -06:00
stack 4b1acead42 HBASE-15285 Forward-port respect for isReturnResult from HBASE-15095 2016-02-17 19:26:17 -08:00
Samir Ahmic 9f8273e717 HBASE-15120 Use appropriate encoding for "filter" field in TaskMonitorTmpl.jamon.
Signed-off-by: chenheng <chenheng@apache.org>
2016-02-17 10:23:06 +08:00
stack a8077080ba HBASE-15277 TestRegionMergeTransactionOnCluster.testWholesomeMerge fails with no connection to master 2016-02-16 13:13:13 -08:00
stack bb881eb80d HBASE-15276 TestFlushSnapshotFromClient hung 2016-02-16 12:58:22 -08:00
chenheng e3aa71fb76 HBASE-15263 TestIPv6NIOServerSocketChannel.testServerSocketFromLocalhostResolution can hang indefinetly
Signed-off-by: stack <stack@apache.org>
2016-02-16 12:53:44 -08:00
stack 7063562bf1 HBASE-13839 Fix AssgnmentManagerTmpl.jamon issues (coloring, content etc.) ; ADDENDUM 2016-02-15 17:50:10 -08:00
chenheng 68b300173f HBASE-15122 Servlets generate XSS_REQUEST_PARAMETER_TO_SERVLET_WRITER findbugs warnings (Samir Ahmic) 2016-02-15 13:53:47 +08:00
Sean Busbey 3897c4e102 Revert "HBASE-9393 Hbase does not closing a closed socket resulting in many CLOSE_WAIT"
This reverts commit c8d133186b.
2016-02-13 11:18:53 -06:00
stack 1419628881 HBASE-13839 Fix AssgnmentManagerTmpl.jamon issues (coloring, content etc.) 2016-02-12 15:06:38 -08:00
Ashish Singhi c8d133186b HBASE-9393 Hbase does not closing a closed socket resulting in many CLOSE_WAIT
Signed-off-by: stack <stack@apache.org>
2016-02-12 13:41:09 -08:00
tedyu 454e45f50d HBASE-15219 Revert pending verification of test result 2016-02-12 12:06:48 -08:00
zhangduo 85e1d9a109 HBASE-15252 Data loss when replaying wal if HDFS timeout 2016-02-12 16:16:37 +08:00
eshcar 25dfc112dd HBASE-14919 Refactoring for in-memory flush and compaction
Signed-off-by: stack <stack@apache.org>
2016-02-11 10:39:01 -08:00
anoopsjohn 29a192ef3c HBASE-15198 RPC client not using Codec and CellBlock for puts by default. 2016-02-11 09:51:11 +05:30
ramkrishna fec9733893 HBASE-15204 Try to estimate the cell count for adding into WALEdit (Ram) 2016-02-11 09:09:25 +05:30
Jerry He 1942a99b83 HBASE-15223 Make convertScanToString public for Spark 2016-02-10 15:02:58 -08:00
Andrew Purtell 2963d59ed2 HBASE-15229 Canary Tools should not call System.Exit on error (Vishal Khandelwal) 2016-02-10 10:21:00 -08:00
Matteo Bertozzi d53318163b HBASE-15239 Remove unused LoadBalancer.immediateAssignment() 2016-02-10 09:16:42 -08:00
tedyu df829ea7d1 HBASE-15219 Canary tool does not return non-zero exit code when one of regions is in stuck state 2016-02-10 02:36:46 -08:00