You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@phoenix.apache.org by ja...@apache.org on 2016/11/18 21:26:29 UTC
phoenix git commit: PHOENIX-3484 Major compaction does not update
statistics based on table specific GUIDE_POSTS_WIDTH
Repository: phoenix
Updated Branches:
refs/heads/master 3b3d8ad3a -> 66d6bba6d
PHOENIX-3484 Major compaction does not update statistics based on table specific GUIDE_POSTS_WIDTH
Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo
Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/66d6bba6
Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/66d6bba6
Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/66d6bba6
Branch: refs/heads/master
Commit: 66d6bba6d8fa1d58eb636458f9f7095b8f4f5059
Parents: 3b3d8ad
Author: James Taylor <ja...@apache.org>
Authored: Fri Nov 18 12:41:08 2016 -0800
Committer: James Taylor <ja...@apache.org>
Committed: Fri Nov 18 13:26:23 2016 -0800
----------------------------------------------------------------------
.../org/apache/phoenix/end2end/GroupByCaseIT.java | 16 ++++++++++++++++
.../schema/stats/DefaultStatisticsCollector.java | 7 +++----
2 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/phoenix/blob/66d6bba6/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
index bec7337..56a94b3 100644
--- a/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
+++ b/phoenix-core/src/it/java/org/apache/phoenix/end2end/GroupByCaseIT.java
@@ -412,8 +412,24 @@ public class GroupByCaseIT extends ParallelStatsDisabledIT {
Properties props = PropertiesUtil.deepCopy(TEST_PROPERTIES);
Connection conn = DriverManager.getConnection(getUrl(), props);
String tableName = generateUniqueName();
+ ResultSet rs = conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + PhoenixDatabaseMetaData.SYSTEM_STATS_NAME + " WHERE " + PhoenixDatabaseMetaData.PHYSICAL_NAME + " ='" + tableName + "'");
+ assertTrue(rs.next());
+ assertEquals(0,rs.getInt(1));
initAvgGroupTable(conn, tableName, PhoenixDatabaseMetaData.GUIDE_POSTS_WIDTH + "=20 ");
testAvgGroupByOrderPreserving(conn, tableName, 13);
+ rs = conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + PhoenixDatabaseMetaData.SYSTEM_STATS_NAME + " WHERE " + PhoenixDatabaseMetaData.PHYSICAL_NAME + " ='" + tableName + "'");
+ assertTrue(rs.next());
+ assertEquals(13,rs.getInt(1));
+ conn.setAutoCommit(true);
+ conn.createStatement().execute("DELETE FROM " + PhoenixDatabaseMetaData.SYSTEM_STATS_NAME);
+ rs = conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + PhoenixDatabaseMetaData.SYSTEM_STATS_NAME + " WHERE " + PhoenixDatabaseMetaData.PHYSICAL_NAME + " ='" + tableName + "'");
+ assertTrue(rs.next());
+ assertEquals(0,rs.getInt(1));
+ TestUtil.doMajorCompaction(conn, tableName);
+ rs = conn.createStatement().executeQuery("SELECT COUNT(*) FROM " + PhoenixDatabaseMetaData.SYSTEM_STATS_NAME + " WHERE " + PhoenixDatabaseMetaData.PHYSICAL_NAME + " ='" + tableName + "'");
+ assertTrue(rs.next());
+ assertEquals(13,rs.getInt(1));
+ testAvgGroupByOrderPreserving(conn, tableName, 13);
conn.createStatement().execute("ALTER TABLE " + tableName + " SET " + PhoenixDatabaseMetaData.GUIDE_POSTS_WIDTH + "=100");
testAvgGroupByOrderPreserving(conn, tableName, 6);
conn.createStatement().execute("ALTER TABLE " + tableName + " SET " + PhoenixDatabaseMetaData.GUIDE_POSTS_WIDTH + "=null");
http://git-wip-us.apache.org/repos/asf/phoenix/blob/66d6bba6/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
----------------------------------------------------------------------
diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
index e8ecb14..17010ac 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/DefaultStatisticsCollector.java
@@ -27,7 +27,6 @@ import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hbase.Cell;
import org.apache.hadoop.hbase.KeyValue;
import org.apache.hadoop.hbase.KeyValueUtil;
-import org.apache.hadoop.hbase.TableName;
import org.apache.hadoop.hbase.client.Get;
import org.apache.hadoop.hbase.client.HTableInterface;
import org.apache.hadoop.hbase.client.Mutation;
@@ -297,15 +296,15 @@ class DefaultStatisticsCollector implements StatisticsCollector {
@Override
public void init() throws IOException {
- this.guidePostsInfoWriterMap.clear();
- maxTimeStamp = MetaDataProtocol.MIN_TABLE_TIMESTAMP;
initGuidepostDepth();
}
@Override
public GuidePostsInfo getGuidePosts(ImmutableBytesPtr fam) {
Pair<Long, GuidePostsInfoBuilder> pair = guidePostsInfoWriterMap.get(fam);
- if (pair != null) { return pair.getSecond().build(); }
+ if (pair != null) {
+ return pair.getSecond().build();
+ }
return null;
}