You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by bu...@apache.org on 2017/03/01 06:00:13 UTC
[1/3] hbase git commit: HBASE-17700 update version to 1.2.5 for RC0.
Repository: hbase
Updated Branches:
refs/heads/branch-1.2 2fcfb847e -> d7b05f79d
HBASE-17700 update version to 1.2.5 for RC0.
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/2d9ca0f6
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/2d9ca0f6
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/2d9ca0f6
Branch: refs/heads/branch-1.2
Commit: 2d9ca0f66e6bcffc198dffb71738f78d14862834
Parents: 5ac32c4
Author: Sean Busbey <bu...@apache.org>
Authored: Sun Feb 26 21:20:26 2017 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Tue Feb 28 23:51:43 2017 -0600
----------------------------------------------------------------------
hbase-annotations/pom.xml | 2 +-
hbase-assembly/pom.xml | 2 +-
hbase-checkstyle/pom.xml | 4 ++--
hbase-client/pom.xml | 2 +-
hbase-common/pom.xml | 2 +-
hbase-examples/pom.xml | 2 +-
hbase-external-blockcache/pom.xml | 2 +-
hbase-hadoop-compat/pom.xml | 2 +-
hbase-hadoop2-compat/pom.xml | 2 +-
hbase-it/pom.xml | 2 +-
hbase-prefix-tree/pom.xml | 2 +-
hbase-procedure/pom.xml | 2 +-
hbase-protocol/pom.xml | 2 +-
hbase-resource-bundle/pom.xml | 2 +-
hbase-rest/pom.xml | 2 +-
hbase-server/pom.xml | 2 +-
hbase-shaded/hbase-shaded-client/pom.xml | 2 +-
hbase-shaded/hbase-shaded-server/pom.xml | 2 +-
hbase-shaded/pom.xml | 2 +-
hbase-shell/pom.xml | 2 +-
hbase-testing-util/pom.xml | 2 +-
hbase-thrift/pom.xml | 2 +-
pom.xml | 2 +-
23 files changed, 24 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-annotations/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-annotations/pom.xml b/hbase-annotations/pom.xml
index 1718c05..4ea9300 100644
--- a/hbase-annotations/pom.xml
+++ b/hbase-annotations/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-assembly/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-assembly/pom.xml b/hbase-assembly/pom.xml
index 21a9a23..21eef91 100644
--- a/hbase-assembly/pom.xml
+++ b/hbase-assembly/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-assembly</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-checkstyle/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-checkstyle/pom.xml b/hbase-checkstyle/pom.xml
index 975c324..399acbb 100644
--- a/hbase-checkstyle/pom.xml
+++ b/hbase-checkstyle/pom.xml
@@ -24,14 +24,14 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-checkstyle</artifactId>
-<version>1.2.5-SNAPSHOT</version>
+<version>1.2.5</version>
<name>Apache HBase - Checkstyle</name>
<description>Module to hold Checkstyle properties for HBase.</description>
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-client/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-client/pom.xml b/hbase-client/pom.xml
index 6682fb6..0f86c3d 100644
--- a/hbase-client/pom.xml
+++ b/hbase-client/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-common/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-common/pom.xml b/hbase-common/pom.xml
index af581f9..d54828f 100644
--- a/hbase-common/pom.xml
+++ b/hbase-common/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-examples/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-examples/pom.xml b/hbase-examples/pom.xml
index 6865ddb..729804c 100644
--- a/hbase-examples/pom.xml
+++ b/hbase-examples/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-examples</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-external-blockcache/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-external-blockcache/pom.xml b/hbase-external-blockcache/pom.xml
index e316858..cef1419 100644
--- a/hbase-external-blockcache/pom.xml
+++ b/hbase-external-blockcache/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-external-blockcache</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-hadoop-compat/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-hadoop-compat/pom.xml b/hbase-hadoop-compat/pom.xml
index 1b7caf1..0c1abb2 100644
--- a/hbase-hadoop-compat/pom.xml
+++ b/hbase-hadoop-compat/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-hadoop2-compat/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-hadoop2-compat/pom.xml b/hbase-hadoop2-compat/pom.xml
index 314f43e..39b85be 100644
--- a/hbase-hadoop2-compat/pom.xml
+++ b/hbase-hadoop2-compat/pom.xml
@@ -21,7 +21,7 @@ limitations under the License.
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-it/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-it/pom.xml b/hbase-it/pom.xml
index 7e7064a..0d8770f 100644
--- a/hbase-it/pom.xml
+++ b/hbase-it/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-prefix-tree/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-prefix-tree/pom.xml b/hbase-prefix-tree/pom.xml
index 5370db2..d801ee5 100644
--- a/hbase-prefix-tree/pom.xml
+++ b/hbase-prefix-tree/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-procedure/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-procedure/pom.xml b/hbase-procedure/pom.xml
index 2de0554..2297e31 100644
--- a/hbase-procedure/pom.xml
+++ b/hbase-procedure/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-protocol/pom.xml b/hbase-protocol/pom.xml
index 7c78761..96b2f59 100644
--- a/hbase-protocol/pom.xml
+++ b/hbase-protocol/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-resource-bundle/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-resource-bundle/pom.xml b/hbase-resource-bundle/pom.xml
index 32a6767..4984b08 100644
--- a/hbase-resource-bundle/pom.xml
+++ b/hbase-resource-bundle/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-rest/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-rest/pom.xml b/hbase-rest/pom.xml
index 510b1b9..082c07d 100644
--- a/hbase-rest/pom.xml
+++ b/hbase-rest/pom.xml
@@ -25,7 +25,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-rest</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-server/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-server/pom.xml b/hbase-server/pom.xml
index 215658a..fb1d0ec 100644
--- a/hbase-server/pom.xml
+++ b/hbase-server/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-server</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-shaded/hbase-shaded-client/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-shaded/hbase-shaded-client/pom.xml b/hbase-shaded/hbase-shaded-client/pom.xml
index 5a95abd..9e3bd08 100644
--- a/hbase-shaded/hbase-shaded-client/pom.xml
+++ b/hbase-shaded/hbase-shaded-client/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>hbase-shaded</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded-client</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-shaded/hbase-shaded-server/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-shaded/hbase-shaded-server/pom.xml b/hbase-shaded/hbase-shaded-server/pom.xml
index 51ed478..21744e0 100644
--- a/hbase-shaded/hbase-shaded-server/pom.xml
+++ b/hbase-shaded/hbase-shaded-server/pom.xml
@@ -24,7 +24,7 @@
<parent>
<artifactId>hbase-shaded</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded-server</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-shaded/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-shaded/pom.xml b/hbase-shaded/pom.xml
index effa74e..bc7a9ac 100644
--- a/hbase-shaded/pom.xml
+++ b/hbase-shaded/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shaded</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-shell/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-shell/pom.xml b/hbase-shell/pom.xml
index 4c6f8b4..33f1800 100644
--- a/hbase-shell/pom.xml
+++ b/hbase-shell/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-shell</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-testing-util/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-testing-util/pom.xml b/hbase-testing-util/pom.xml
index 4a300c3..b4394e4 100644
--- a/hbase-testing-util/pom.xml
+++ b/hbase-testing-util/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-testing-util</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/hbase-thrift/pom.xml
----------------------------------------------------------------------
diff --git a/hbase-thrift/pom.xml b/hbase-thrift/pom.xml
index 9fbc261..88c2c78 100644
--- a/hbase-thrift/pom.xml
+++ b/hbase-thrift/pom.xml
@@ -23,7 +23,7 @@
<parent>
<artifactId>hbase</artifactId>
<groupId>org.apache.hbase</groupId>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<relativePath>..</relativePath>
</parent>
<artifactId>hbase-thrift</artifactId>
http://git-wip-us.apache.org/repos/asf/hbase/blob/2d9ca0f6/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index df6f769..26c2897 100644
--- a/pom.xml
+++ b/pom.xml
@@ -39,7 +39,7 @@
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<packaging>pom</packaging>
- <version>1.2.5-SNAPSHOT</version>
+ <version>1.2.5</version>
<name>Apache HBase</name>
<description>
Apache HBase� is the Hadoop database. Use it when you need
[3/3] hbase git commit: HBASE-17700 update CHANGES.txt for 1.2.5 RC0.
Posted by bu...@apache.org.
HBASE-17700 update CHANGES.txt for 1.2.5 RC0.
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/d7b05f79
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/d7b05f79
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/d7b05f79
Branch: refs/heads/branch-1.2
Commit: d7b05f79dee10e0ada614765bb354b93d615a157
Parents: 2d9ca0f
Author: Sean Busbey <bu...@apache.org>
Authored: Tue Feb 28 23:37:39 2017 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Tue Feb 28 23:53:00 2017 -0600
----------------------------------------------------------------------
CHANGES.txt | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/d7b05f79/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 0f186c3..1acc1ee 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,6 +1,72 @@
HBase Change Log
+Release Notes - HBase - Version 1.2.5
+
+** Sub-task
+ * [HBASE-16970] - Clarify misleading Scan.java comment about caching
+ * [HBASE-17149] - Procedure V2 - Fix nonce submission to avoid unnecessary calling coprocessor multiple times
+ * [HBASE-17409] - Re-fix XSS request issue in JMXJsonServlet
+ * [HBASE-17561] - table status page should escape values that may contain arbitrary characters.
+
+** Bug
+ * [HBASE-15324] - Jitter may cause desiredMaxFileSize overflow in ConstantSizeRegionSplitPolicy and trigger unexpected split
+ * [HBASE-15328] - Unvalidated Redirect in HMaster
+ * [HBASE-16765] - New SteppingRegionSplitPolicy, avoid too aggressive spread of regions for small tables.
+ * [HBASE-16886] - hbase-client: scanner with reversed=true and small=true gets no result
+ * [HBASE-16960] - RegionServer hang when aborting
+ * [HBASE-16980] - TestRowProcessorEndpoint failing consistently
+ * [HBASE-16985] - TestClusterId failed due to wrong hbase rootdir
+ * [HBASE-17020] - keylen in midkey() dont computed correctly
+ * [HBASE-17023] - Region left unassigned due to AM and SSH each thinking others would do the assignment work
+ * [HBASE-17039] - SimpleLoadBalancer schedules large amount of invalid region moves
+ * [HBASE-17042] - Remove 'public' keyword from MasterObserver interface
+ * [HBASE-17044] - Fix merge failed before creating merged region leaves meta inconsistent
+ * [HBASE-17058] - Lower epsilon used for jitter verification from HBASE-15324
+ * [HBASE-17069] - RegionServer writes invalid META entries for split daughters in some circumstances
+ * [HBASE-17074] - PreCommit job always fails because of OOM
+ * [HBASE-17091] - IntegrationTestZKAndFSPermissions failed with 'KeeperException$NoNodeException'
+ * [HBASE-17112] - Prevent setting timestamp of delta operations the same as previous value's
+ * [HBASE-17118] - StoreScanner leaked in KeyValueHeap
+ * [HBASE-17127] - Locate region should fail fast if underlying Connection already closed
+ * [HBASE-17187] - DoNotRetryExceptions from coprocessors should bubble up to the application
+ * [HBASE-17206] - FSHLog may roll a new writer successfully with unflushed entries
+ * [HBASE-17238] - Wrong in-memory hbase:meta location causing SSH failure
+ * [HBASE-17264] - Processing RIT with offline state will always fail to open the first time
+ * [HBASE-17265] - Region left unassigned in master failover when region failed to open
+ * [HBASE-17275] - Assign timeout may cause region to be unassigned forever
+ * [HBASE-17289] - Avoid adding a replication peer named "lock"
+ * [HBASE-17328] - Properly dispose of looped replication peers
+ * [HBASE-17341] - Add a timeout during replication endpoint termination
+ * [HBASE-17357] - PerformanceEvaluation parameters parsing triggers NPE.
+ * [HBASE-17381] - ReplicationSourceWorkerThread can die due to unhandled exceptions
+ * [HBASE-17424] - Protect REST client against malicious XML responses.
+ * [HBASE-17522] - RuntimeExceptions from MemoryMXBean should not take down server process
+ * [HBASE-17540] - Change SASL server GSSAPI callback log line from DEBUG to TRACE in RegionServer to reduce log volumes in DEBUG mode
+ * [HBASE-17558] - ZK dumping jsp should escape html
+ * [HBASE-17587] - Do not Rethrow DoNotRetryIOException as UnknownScannerException
+ * [HBASE-17597] - TestMetaWithReplicas.testMetaTableReplicaAssignment is flaky
+ * [HBASE-17601] - close() in TableRecordReaderImpl assumes the split has started
+ * [HBASE-17616] - Incorrect actions performed by CM
+ * [HBASE-17649] - REST API for scan should return 410 when table is disabled
+ * [HBASE-17675] - ReplicationEndpoint should choose new sinks if a SaslException occurs
+ * [HBASE-17677] - ServerName parsing from directory name should be more robust to errors from guava's HostAndPort
+ * [HBASE-17682] - Region stuck in merging_new state indefinitely
+ * [HBASE-17688] - MultiRowRangeFilter not working correctly if given same start and stop RowKey
+
+** Improvement
+ * [HBASE-16033] - Add more details in logging of responseTooSlow/TooLarge
+ * [HBASE-16972] - Log more details for Scan#next request when responseTooSlow
+ * [HBASE-17004] - Refactor IntegrationTestManyRegions to use @ClassRule for timing out
+ * [HBASE-17006] - Add names to threads for better debugability of thread dumps
+ * [HBASE-17637] - Update progress more frequently in IntegrationTestBigLinkedList.Generator.persist
+
+** Task
+ * [HBASE-16710] - Add ZStandard Codec to Compression.java
+ * [HBASE-17255] - Backport HBASE-17181 to branch-1.2
+ * [HBASE-17700] - Release 1.2.5
+
+
Release Notes - HBase - Version 1.2.4 11/07/2016
** Sub-task
[2/3] hbase git commit: Revert "HBASE-16630 Handle Fragmentation in
bucket cache"
Posted by bu...@apache.org.
Revert "HBASE-16630 Handle Fragmentation in bucket cache"
This reverts commit 2fcfb847efadd005b240d9a54257e6f3cde4c9f8.
Compilation failure
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/5ac32c4b
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/5ac32c4b
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/5ac32c4b
Branch: refs/heads/branch-1.2
Commit: 5ac32c4b7a79e8946e6064ee665df346f32ae0db
Parents: 2fcfb84
Author: Sean Busbey <bu...@apache.org>
Authored: Tue Feb 28 23:49:20 2017 -0600
Committer: Sean Busbey <bu...@apache.org>
Committed: Tue Feb 28 23:51:43 2017 -0600
----------------------------------------------------------------------
.../hbase/io/hfile/bucket/BucketAllocator.java | 49 +-----------
.../hbase/io/hfile/bucket/BucketCache.java | 80 +++++---------------
2 files changed, 19 insertions(+), 110 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase/blob/5ac32c4b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java
index 646e822..938ab99 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketAllocator.java
@@ -20,16 +20,12 @@
package org.apache.hadoop.hbase.io.hfile.bucket;
+import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Comparator;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
-import java.util.Queue;
-import java.util.Set;
import java.util.concurrent.atomic.AtomicLong;
-import com.google.common.collect.MinMaxPriorityQueue;
import org.apache.commons.collections.map.LinkedMap;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -48,7 +44,7 @@ import com.google.common.primitives.Ints;
* when evicting. It manages an array of buckets, each bucket is associated with
* a size and caches elements up to this size. For a completely empty bucket, this
* size could be re-specified dynamically.
- *
+ *
* This class is not thread safe.
*/
@InterfaceAudience.Private
@@ -576,45 +572,4 @@ public final class BucketAllocator {
return sz;
}
- public int getBucketIndex(long offset) {
- return (int) (offset / bucketCapacity);
- }
-
- /**
- * Returns a set of indices of the buckets that are least filled
- * excluding the offsets, we also the fully free buckets for the
- * BucketSizes where everything is empty and they only have one
- * completely free bucket as a reserved
- *
- * @param excludedBuckets the buckets that need to be excluded due to
- * currently being in used
- * @param bucketCount max Number of buckets to return
- * @return set of bucket indices which could be used for eviction
- */
- public Set<Integer> getLeastFilledBuckets(Set<Integer> excludedBuckets,
- int bucketCount) {
- Queue<Integer> queue = MinMaxPriorityQueue.<Integer>orderedBy(
- new Comparator<Integer>() {
- @Override
- public int compare(Integer left, Integer right) {
- // We will always get instantiated buckets
- return Float.compare(
- ((float) buckets[left].usedCount) / buckets[left].itemCount,
- ((float) buckets[right].usedCount) / buckets[right].itemCount);
- }
- }).maximumSize(bucketCount).create();
-
- for (int i = 0; i < buckets.length; i ++ ) {
- if (!excludedBuckets.contains(i) && !buckets[i].isUninstantiated() &&
- // Avoid the buckets that are the only buckets for a sizeIndex
- bucketSizeInfos[buckets[i].sizeIndex()].bucketList.size() != 1) {
- queue.add(i);
- }
- }
-
- Set<Integer> result = new HashSet<>(bucketCount);
- result.addAll(queue);
-
- return result;
- }
}
http://git-wip-us.apache.org/repos/asf/hbase/blob/5ac32c4b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
index 7211fbf..d5b0710 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/io/hfile/bucket/BucketCache.java
@@ -31,7 +31,6 @@ import java.io.Serializable;
import java.nio.ByteBuffer;
import java.util.ArrayList;
import java.util.Comparator;
-import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
@@ -105,9 +104,6 @@ public class BucketCache implements BlockCache, HeapSize {
private static final float DEFAULT_ACCEPT_FACTOR = 0.95f;
private static final float DEFAULT_MIN_FACTOR = 0.85f;
- // Number of blocks to clear for each of the bucket size that is full
- private static final int DEFAULT_FREE_ENTIRE_BLOCK_FACTOR = 2;
-
/** Statistics thread */
private static final int statThreadPeriod = 5 * 60;
@@ -562,53 +558,6 @@ public class BucketCache implements BlockCache, HeapSize {
}
/**
- * Return the count of bucketSizeinfos still needf ree space
- */
- private int bucketSizesAboveThresholdCount(float minFactor) {
- BucketAllocator.IndexStatistics[] stats = bucketAllocator.getIndexStatistics();
- int fullCount = 0;
- for (int i = 0; i < stats.length; i++) {
- long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - minFactor));
- freeGoal = Math.max(freeGoal, 1);
- if (stats[i].freeCount() < freeGoal) {
- fullCount++;
- }
- }
- return fullCount;
- }
-
- /**
- * This method will find the buckets that are minimally occupied
- * and are not reference counted and will free them completely
- * without any constraint on the access times of the elements,
- * and as a process will completely free at most the number of buckets
- * passed, sometimes it might not due to changing refCounts
- *
- * @param completelyFreeBucketsNeeded number of buckets to free
- **/
- private void freeEntireBuckets(int completelyFreeBucketsNeeded) {
- if (completelyFreeBucketsNeeded != 0) {
- // First we will build a set where the offsets are reference counted, usually
- // this set is small around O(Handler Count) unless something else is wrong
- Set<Integer> inUseBuckets = new HashSet<Integer>();
- for (BucketEntry entry : backingMap.values()) {
- if (entry.refCount.get() != 0) {
- inUseBuckets.add(bucketAllocator.getBucketIndex(entry.offset()));
- }
- }
-
- Set<Integer> candidateBuckets = bucketAllocator.getLeastFilledBuckets(
- inUseBuckets, completelyFreeBucketsNeeded);
- for (Map.Entry<BlockCacheKey, BucketEntry> entry : backingMap.entrySet()) {
- if (candidateBuckets.contains(bucketAllocator
- .getBucketIndex(entry.getValue().offset()))) {
- evictBlock(entry.getKey(), false);
- }
- }
- }
- }
-
- /**
* Free the space if the used size reaches acceptableSize() or one size block
* couldn't be allocated. When freeing the space, we use the LRU algorithm and
* ensure there must be some blocks evicted
@@ -702,14 +651,27 @@ public class BucketCache implements BlockCache, HeapSize {
remainingBuckets--;
}
- // Check and free if there are buckets that still need freeing of space
- if (bucketSizesAboveThresholdCount(DEFAULT_MIN_FACTOR) > 0) {
+ /**
+ * Check whether need extra free because some bucketSizeinfo still needs
+ * free space
+ */
+ stats = bucketAllocator.getIndexStatistics();
+ boolean needFreeForExtra = false;
+ for (int i = 0; i < stats.length; i++) {
+ long freeGoal = (long) Math.floor(stats[i].totalCount() * (1 - DEFAULT_MIN_FACTOR));
+ freeGoal = Math.max(freeGoal, 1);
+ if (stats[i].freeCount() < freeGoal) {
+ needFreeForExtra = true;
+ break;
+ }
+ }
+
+ if (needFreeForExtra) {
bucketQueue.clear();
- remainingBuckets = 3;
+ remainingBuckets = 2;
bucketQueue.add(bucketSingle);
bucketQueue.add(bucketMulti);
- bucketQueue.add(bucketMemory);
while ((bucketGroup = bucketQueue.poll()) != null) {
long bucketBytesToFree = (bytesToFreeWithExtra - bytesFreed) / remainingBuckets;
@@ -718,14 +680,6 @@ public class BucketCache implements BlockCache, HeapSize {
}
}
- // Even after the above free we might still need freeing because of the
- // De-fragmentation of the buckets (also called Slab Calcification problem), i.e
- // there might be some buckets where the occupancy is very sparse and thus are not
- // yielding the free for the other bucket sizes, the fix for this to evict some
- // of the buckets, we do this by evicting the buckets that are least fulled
- freeEntireBuckets(DEFAULT_FREE_ENTIRE_BLOCK_FACTOR *
- bucketSizesAboveThresholdCount(1.0f));
-
if (LOG.isDebugEnabled()) {
long single = bucketSingle.totalSize();
long multi = bucketMulti.totalSize();