Source:
<code><START> protected TreeMap<KeyExtent,TabletData> splitTablet(Tablet tablet, byte[] splitPoint) <END> throws IOException { long t1 = System.currentTimeMillis(); TreeMap<KeyExtent,TabletData> tabletInfo = tablet.split(splitPoint); if (tabletInfo == null) { return null; } log.info("Starting split: {}", tablet.getExtent()); statsKeeper.incrementStatusSplit(); long start = System.currentTimeMillis(); Tablet[] newTablets = new Tablet[2]; Entry<KeyExtent,TabletData> first = tabletInfo.firstEntry(); TabletResourceManager newTrm0 = resourceManager.createTabletResourceManager(first.getKey(), getTableConfiguration(first.getKey())); newTablets[0] = new Tablet(TabletServer.this, first.getKey(), newTrm0, first.getValue()); Entry<KeyExtent,TabletData> last = tabletInfo.lastEntry(); TabletResourceManager newTrm1 = resourceManager.createTabletResourceManager(last.getKey(), getTableConfiguration(last.getKey())); newTablets[1] = new Tablet(TabletServer.this, last.getKey(), newTrm1, last.getValue()); statsKeeper.saveMajorMinorTimes(tablet.getTabletStats()); onlineTablets.split(tablet.getExtent(), newTablets[0], newTablets[1]); enqueueMasterMessage(new SplitReportMessage(tablet.getExtent(), newTablets[0].getExtent(), new Text("/" + newTablets[0].getDirName()), newTablets[1].getExtent(), new Text("/" + newTablets[1].getDirName()))); statsKeeper.updateTime(Operation.SPLIT, start, false); long t2 = System.currentTimeMillis(); log.info("Tablet split: size0 size1 time {}ms", tablet.getExtent(), newTablets[0].estimateTabletSize(), newTablets[1].estimateTabletSize(), (t2 - t1)); return tabletInfo; }</code><technical_language>suggestion TreeMap<KeyExtent,TabletData> splitTablet(Tablet tablet, byte[] splitPoint)</technical_language>

Target:
TreeMap<KeyExtent,TabletData> splitTablet(Tablet tablet, byte[] splitPoint) throws IOException { long t1 = System.currentTimeMillis(); TreeMap<KeyExtent,TabletData> tabletInfo = tablet.split(splitPoint); if (tabletInfo == null) { return null; } log.info("Starting split: {}", tablet.getExtent()); statsKeeper.incrementStatusSplit(); long start = System.currentTimeMillis(); Tablet[] newTablets = new Tablet[2]; Entry<KeyExtent,TabletData> first = tabletInfo.firstEntry(); TabletResourceManager newTrm0 = resourceManager.createTabletResourceManager(first.getKey(), getTableConfiguration(first.getKey())); newTablets[0] = new Tablet(TabletServer.this, first.getKey(), newTrm0, first.getValue()); Entry<KeyExtent,TabletData> last = tabletInfo.lastEntry(); TabletResourceManager newTrm1 = resourceManager.createTabletResourceManager(last.getKey(), getTableConfiguration(last.getKey())); newTablets[1] = new Tablet(TabletServer.this, last.getKey(), newTrm1, last.getValue()); statsKeeper.saveMajorMinorTimes(tablet.getTabletStats()); onlineTablets.split(tablet.getExtent(), newTablets[0], newTablets[1]); enqueueMasterMessage(new SplitReportMessage(tablet.getExtent(), newTablets[0].getExtent(), new Text("/" + newTablets[0].getDirName()), newTablets[1].getExtent(), new Text("/" + newTablets[1].getDirName()))); statsKeeper.updateTime(Operation.SPLIT, start, false); long t2 = System.currentTimeMillis(); log.info("Tablet split: size0 size1 time {}ms", tablet.getExtent(), newTablets[0].estimateTabletSize(), newTablets[1].estimateTabletSize(), (t2 - t1)); return tabletInfo; }