Repository: phoenix Updated Branches: refs/heads/3.0 9b0bb38d3 -> 2694568aa
PHOENIX-1434 Stats are not maintained correctly through splits (Mujtaba) Project: http://git-wip-us.apache.org/repos/asf/phoenix/repo Commit: http://git-wip-us.apache.org/repos/asf/phoenix/commit/d2e729de Tree: http://git-wip-us.apache.org/repos/asf/phoenix/tree/d2e729de Diff: http://git-wip-us.apache.org/repos/asf/phoenix/diff/d2e729de Branch: refs/heads/3.0 Commit: d2e729dea87357c208ff209aa22904f16e6aefbc Parents: 9b0bb38 Author: James Taylor <jtay...@salesforce.com> Authored: Wed Nov 12 09:06:11 2014 -0800 Committer: James Taylor <jtay...@salesforce.com> Committed: Wed Nov 12 21:59:29 2014 -0800 ---------------------------------------------------------------------- .../phoenix/schema/stats/StatisticsCollector.java | 4 ++-- .../apache/phoenix/schema/stats/StatisticsScanner.java | 4 ++-- .../apache/phoenix/schema/stats/StatisticsWriter.java | 12 ++++++------ 3 files changed, 10 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/phoenix/blob/d2e729de/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java index 61fb7da..a362ffc 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsCollector.java @@ -114,13 +114,13 @@ public class StatisticsCollector { if(logger.isDebugEnabled()) { logger.debug("Deleting the stats for the region "+region.getRegionInfo()); } - statsTable.deleteStats(region.getRegionInfo().getRegionNameAsString(), this, Bytes.toString(fam.copyBytesIfNecessary()), + statsTable.deleteStats(region.getRegionInfo().getRegionName(), this, Bytes.toString(fam.copyBytesIfNecessary()), mutations); } if(logger.isDebugEnabled()) { logger.debug("Adding new stats for the region "+region.getRegionInfo()); } - statsTable.addStats((region.getRegionInfo().getRegionNameAsString()), this, Bytes.toString(fam.copyBytesIfNecessary()), + statsTable.addStats((region.getRegionInfo().getRegionName()), this, Bytes.toString(fam.copyBytesIfNecessary()), mutations); } } catch (IOException e) { http://git-wip-us.apache.org/repos/asf/phoenix/blob/d2e729de/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsScanner.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsScanner.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsScanner.java index 239085d..37a1e22 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsScanner.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsScanner.java @@ -80,12 +80,12 @@ public class StatisticsScanner implements InternalScanner { LOG.debug("Deleting the stats for the region " + region.getRegionNameAsString() + " as part of major compaction"); } - stats.deleteStats(region.getRegionNameAsString(), this.tracker, Bytes.toString(family), mutations); + stats.deleteStats(region.getRegionName(), this.tracker, Bytes.toString(family), mutations); if (LOG.isDebugEnabled()) { LOG.debug("Adding new stats for the region " + region.getRegionNameAsString() + " as part of major compaction"); } - stats.addStats(region.getRegionNameAsString(), this.tracker, Bytes.toString(family), mutations); + stats.addStats(region.getRegionName(), this.tracker, Bytes.toString(family), mutations); if (LOG.isDebugEnabled()) { LOG.debug("Committing new stats for the region " + region.getRegionNameAsString() + " as part of major compaction"); http://git-wip-us.apache.org/repos/asf/phoenix/blob/d2e729de/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsWriter.java ---------------------------------------------------------------------- diff --git a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsWriter.java b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsWriter.java index e28f805..f344c5c 100644 --- a/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsWriter.java +++ b/phoenix-core/src/main/java/org/apache/phoenix/schema/stats/StatisticsWriter.java @@ -112,13 +112,13 @@ public class StatisticsWriter implements Closeable { GuidePostsInfo lguidePosts = new GuidePostsInfo(byteSize, guidePosts.getGuidePosts().subList(0, midEndIndex)); tracker.clear(); tracker.addGuidePost(fam, lguidePosts, byteSize, cell.getTimestamp()); - addStats(l.getRegionNameAsString(), tracker, fam, mutations); + addStats(l.getRegionName(), tracker, fam, mutations); } if (midStartIndex < guidePosts.getGuidePosts().size()) { GuidePostsInfo rguidePosts = new GuidePostsInfo(byteSize, guidePosts.getGuidePosts().subList(midStartIndex, guidePosts.getGuidePosts().size())); tracker.clear(); tracker.addGuidePost(fam, rguidePosts, byteSize, cell.getTimestamp()); - addStats(r.getRegionNameAsString(), tracker, fam, mutations); + addStats(r.getRegionName(), tracker, fam, mutations); } } } @@ -139,7 +139,7 @@ public class StatisticsWriter implements Closeable { * if we fail to do any of the puts. Any single failure will prevent any future attempts for the remaining list of stats to * update */ - public void addStats(String regionName, StatisticsCollector tracker, String fam, List<Mutation> mutations) throws IOException { + public void addStats(byte[] regionName, StatisticsCollector tracker, String fam, List<Mutation> mutations) throws IOException { if (tracker == null) { return; } boolean useMaxTimeStamp = clientTimeStamp == StatisticsCollector.NO_TIMESTAMP; long timeStamp = clientTimeStamp; @@ -148,7 +148,7 @@ public class StatisticsWriter implements Closeable { mutations.add(getLastStatsUpdatedTimePut(timeStamp)); } byte[] prefix = StatisticsUtil.getRowKey(tableName, PDataType.VARCHAR.toBytes(fam), - PDataType.VARCHAR.toBytes(regionName)); + regionName); Put put = new Put(prefix); GuidePostsInfo gp = tracker.getGuidePosts(fam); if (gp != null) { @@ -200,11 +200,11 @@ public class StatisticsWriter implements Closeable { statisticsTable.put(put); } - public void deleteStats(String regionName, StatisticsCollector tracker, String fam, List<Mutation> mutations) + public void deleteStats(byte[] regionName, StatisticsCollector tracker, String fam, List<Mutation> mutations) throws IOException { long timeStamp = clientTimeStamp == StatisticsCollector.NO_TIMESTAMP ? tracker.getMaxTimeStamp() : clientTimeStamp; byte[] prefix = StatisticsUtil.getRowKey(tableName, PDataType.VARCHAR.toBytes(fam), - PDataType.VARCHAR.toBytes(regionName)); + regionName); mutations.add(new Delete(prefix, timeStamp - 1)); } } \ No newline at end of file