@Override public K firstKey() { return delegate.firstKey(); }
@Override public K lastKey() { return forward().firstKey(); }
/** * Returns the first element in this set. * @exception NoSuchElementException when this TreeSet is empty */ public E first() { return backingMap.firstKey(); }
/** @return Returns the first (lowest) key currently in this map. */ public GroupPartitionId firstKey() { return readMap.firstKey(); }
@Override public K lastKey() { return forward().firstKey(); }
@Override public K lastKey() { return forward().firstKey(); }
PositionImpl getFirstPosition() { Long ledgerId = ledgers.firstKey(); return ledgerId == null ? null : new PositionImpl(ledgerId, -1); }
@Override protected void preCommitWriters() throws IOException { if (!needEmptyFile) { return; } for (StoreFileWriter writer : lowerBoundary2Writer.values()) { if (writer != null) { return; } } // we haven't written out any data, create an empty file to retain metadata lowerBoundary2Writer.put(lowerBoundary2Writer.firstKey(), writerFactory.createWriter()); } }
@Override public K lastKey() { return forward().firstKey(); }
@Override public K firstKey() { assertTrue(Thread.holdsLock(mutex)); return delegate().firstKey(); }
public void testFirstKey() { NavigableMap<String, Integer> map = create(); map.put("a", 1); map.firstKey(); }
@Override public TrackingToken createTailToken() { if (events.size() == 0) { return null; } GlobalSequenceTrackingToken firstToken = (GlobalSequenceTrackingToken) events.firstKey(); return new GlobalSequenceTrackingToken(firstToken.getGlobalIndex() - 1); }
@Override public Position getFirstPosition() { Long firstLedgerId = ledger.getLedgersInfo().firstKey(); return firstLedgerId == null ? null : new PositionImpl(firstLedgerId, 0); }
/** * Map of families to their most recent qualifiers and values. * <p> * Returns a two level Map of the form: <code>Map&family,Map<qualifier,value>></code> * <p> * The most recent version of each qualifier will be used. * @return map from families to qualifiers and value */ public NavigableMap<byte[], NavigableMap<byte[], byte[]>> getNoVersionMap() { if(this.familyMap == null) { getMap(); } if(isEmpty()) { return null; } NavigableMap<byte[], NavigableMap<byte[], byte[]>> returnMap = new TreeMap<>(Bytes.BYTES_COMPARATOR); for(Map.Entry<byte[], NavigableMap<byte[], NavigableMap<Long, byte[]>>> familyEntry : familyMap.entrySet()) { NavigableMap<byte[], byte[]> qualifierMap = new TreeMap<>(Bytes.BYTES_COMPARATOR); for(Map.Entry<byte[], NavigableMap<Long, byte[]>> qualifierEntry : familyEntry.getValue().entrySet()) { byte [] value = qualifierEntry.getValue().get(qualifierEntry.getValue().firstKey()); qualifierMap.put(qualifierEntry.getKey(), value); } returnMap.put(familyEntry.getKey(), qualifierMap); } return returnMap; }
/** * Map of qualifiers to values. * <p> * Returns a Map of the form: <code>Map<qualifier,value></code> * @param family column family to get * @return map of qualifiers to values */ public NavigableMap<byte[], byte[]> getFamilyMap(byte [] family) { if(this.familyMap == null) { getMap(); } if(isEmpty()) { return null; } NavigableMap<byte[], byte[]> returnMap = new TreeMap<>(Bytes.BYTES_COMPARATOR); NavigableMap<byte[], NavigableMap<Long, byte[]>> qualifierMap = familyMap.get(family); if(qualifierMap == null) { return returnMap; } for(Map.Entry<byte[], NavigableMap<Long, byte[]>> entry : qualifierMap.entrySet()) { byte [] value = entry.getValue().get(entry.getValue().firstKey()); returnMap.put(entry.getKey(), value); } return returnMap; }
int getMinLoad() { return getServersByLoad().firstKey().getLoad(); }
@Override public K firstKey() { return isEmpty() ? null : entries().firstKey(); }
protected boolean needsBalance(Cluster c) { ClusterLoadState cs = new ClusterLoadState(c.clusterState); if (cs.getNumServers() < MIN_SERVER_BALANCE) { if (LOG.isDebugEnabled()) { LOG.debug("Not running balancer because only " + cs.getNumServers() + " active regionserver(s)"); } return false; } if(areSomeRegionReplicasColocated(c)) return true; // Check if we even need to do any load balancing // HBASE-3681 check sloppiness first float average = cs.getLoadAverage(); // for logging int floor = (int) Math.floor(average * (1 - slop)); int ceiling = (int) Math.ceil(average * (1 + slop)); if (!(cs.getMaxLoad() > ceiling || cs.getMinLoad() < floor)) { NavigableMap<ServerAndLoad, List<RegionInfo>> serversByLoad = cs.getServersByLoad(); if (LOG.isTraceEnabled()) { // If nothing to balance, then don't say anything unless trace-level logging. LOG.trace("Skipping load balancing because balanced cluster; " + "servers=" + cs.getNumServers() + " regions=" + cs.getNumRegions() + " average=" + average + " mostloaded=" + serversByLoad.lastKey().getLoad() + " leastloaded=" + serversByLoad.firstKey().getLoad()); } return false; } return true; }
/** Fails if the map's first key is not equal to the given key. */ public void hasFirstKey(@NullableDecl Object key) { if (actualAsNavigableMap().isEmpty()) { fail("has first key", key); return; } if (!Objects.equal(actualAsNavigableMap().firstKey(), key)) { if (actualAsNavigableMap().containsKey(key)) { failWithoutActual( simpleFact( lenientFormat( "Not true that %s has first key <%s>. " + "It does contain this key, but the first key is <%s>", actualAsString(), key, actualAsNavigableMap().firstKey()))); return; } failWithoutActual( simpleFact( lenientFormat( "Not true that %s has first key <%s>. " + "It does not contain this key, and the first key is <%s>", actualAsString(), key, actualAsNavigableMap().firstKey()))); } }