public ArrayList<SnappyIndexStats> getIndexStatForContainer(GemFireContainer c) { final LinkedHashMap<String, Object[]> retEstimates = new LinkedHashMap<>(); final String baseTableContainerName = c.getQualifiedTableName(); ArrayList<SnappyIndexStats> indexStats = new ArrayList<>(); final LocalRegion reg = c.getRegion(); final GfxdIndexManager idxMgr = (GfxdIndexManager)reg.getIndexUpdater(); List<GemFireContainer> indexes = (idxMgr != null ? idxMgr.getAllIndexes() : Collections.emptyList()); try { sizer.estimateIndexEntryValueSizes(baseTableContainerName, indexes, retEstimates, null); for (Map.Entry<String, Object[]> e : retEstimates.entrySet()) { long[] value = (long[])e.getValue()[0]; long sum = 0L; sum += value[0]; //constantOverhead sum += value[1]; //entryOverhead[0] + /entryOverhead[1] sum += value[2]; //keySize sum += value[3]; //valueSize long rowCount = value[5]; indexStats.add(new SnappyIndexStats(e.getKey(), rowCount, sum)); } } catch (StandardException | IllegalAccessException | InterruptedException e) { Logger logger = LoggerFactory.getLogger(getClass().getName()); logger.warn("Unexpected exception in getIndexStatForContainer: " + e.toString(), e); } return indexStats; }
private void clearAllIndexes(ArrayList<GemFireContainer> uninitializedContainers) { for (GemFireContainer container : uninitializedContainers) { LocalRegion region = container.getRegion(); DataPolicy dp = region.getDataPolicy(); if (dp == DataPolicy.PERSISTENT_PARTITION || dp == DataPolicy.PERSISTENT_REPLICATE) { GfxdIndexManager gim = (GfxdIndexManager)region.getIndexUpdater(); if (gim == null) continue; List<GemFireContainer> allIndexes = gim.getAllIndexes(); for (GemFireContainer c : allIndexes) { if (c.isLocalIndex()) { c.getSkipListMap().clear(); c.resetInitialAccounting(); } } } } }
List<GemFireContainer> indexes = (idxMgr != null ? idxMgr.getAllIndexes() : Collections.<GemFireContainer> emptyList());
List<GemFireContainer> indexes = (idxMgr != null ? idxMgr.getAllIndexes() : Collections.<GemFireContainer> emptyList());
List<GemFireContainer> indexes = (idxMgr != null ? idxMgr.getAllIndexes() : Collections.<GemFireContainer> emptyList());
@Override public void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException, IOException { final GemFireTransaction tc = (GemFireTransaction)xact; // ignore during abort if no LCC in current context if (Misc.getLanguageConnectionContext() != null) { this.indexManager.refreshIndexListAndConstriantDesc(!this.lockGIIDone, false, tc); if (this.dropColumnPos > 0) { // update the column positions for indexes (#47156) for (GemFireContainer index : this.indexManager.getAllIndexes()) { GemFireXDUtils.dropColumnAdjustColumnPositions( index.getBaseColumnPositions(), this.dropColumnPos); final ExtraIndexInfo indexInfo = index.getExtraIndexInfo(); if (indexInfo != null) { indexInfo.dropColumnForPrimaryKeyFormatter(this.dropColumnPos); } } } } if (this.lockGIIDone) { this.indexManager.unlockForGII(true, tc); } if (this.unlockForIndexGII) { this.indexManager.unlockForIndexGII(true, tc); } }
@Override public void doMe(Transaction xact, LogInstant instant, LimitObjectInput in) throws StandardException, IOException { final GemFireTransaction tc = (GemFireTransaction)xact; // ignore during abort if no LCC in current context if (Misc.getLanguageConnectionContext() != null) { this.indexManager.refreshIndexListAndConstriantDesc(!this.lockGIIDone, false, tc); if (this.dropColumnPos > 0) { // update the column positions for indexes (#47156) for (GemFireContainer index : this.indexManager.getAllIndexes()) { GemFireXDUtils.dropColumnAdjustColumnPositions( index.getBaseColumnPositions(), this.dropColumnPos); final ExtraIndexInfo indexInfo = index.getExtraIndexInfo(); if (indexInfo != null) { indexInfo.dropColumnForPrimaryKeyFormatter(this.dropColumnPos); } } } } if (this.lockGIIDone) { this.indexManager.unlockForGII(true, tc); } if (this.unlockForIndexGII) { this.indexManager.unlockForIndexGII(true, tc); } }
if (this.dropColumnPos > 0) { for (GemFireContainer index : this.indexManager.getAllIndexes()) { GemFireXDUtils.dropColumnAdjustColumnPositions( index.getBaseColumnPositions(), this.dropColumnPos);
List<GemFireContainer> indexes = getAllIndexes(); return numEntries; } catch (CancelException ce) {
for (GemFireContainer container : indexManager.getAllIndexes()) { container.clear(lcc, tc);
if (gim == null || container.isGlobalIndex()) continue; int localRegionSize = getAndDumpLocalRegionSize(region, dp, logger, false, throwErrorOnMismatch); List<GemFireContainer> allIndexes = gim.getAllIndexes(); for (GemFireContainer c : allIndexes) { if (c.isLocalIndex()) {
for (GemFireContainer container : indexManager.getAllIndexes()) { container.clear(lcc, tc);
for (GemFireContainer container : indexManager.getAllIndexes()) { container.clear(lcc, tc);