public Map.Entry<K, V> pollFirstEntry() { lock.lock(); try { return tree.pollFirstEntry(); } finally { lock.unlock(); } }
@Override public void close() throws IOException { // ColumnizedDeleteEventRegistry reads all the delete events into memory during initialization // and it closes the delete event readers after it. If an exception gets thrown during // initialization, we may have to close any readers that are still left open. while (!sortMerger.isEmpty()) { Entry<DeleteRecordKey, DeleteReaderValue> entry = sortMerger.pollFirstEntry(); entry.getValue().close(); // close the reader for this entry } } }
/** * @return removes the smallest entry (key and value) from this collection */ public int pollKey() { if (map.isEmpty()) throw new IllegalStateException("Cannot poll collection is empty!"); long key = map.pollFirstEntry().getKey(); return bitUtil.getIntLow(key); }
/** * Check how much we missed scheduled wake up and if it is larger than _minStallNano * then consider it a stall and remember it. */ private void checkForStall(long currentTime) { long delta = currentTime - _lastMonitoringStep; if (delta < _shortestObservedDelta) { _shortestObservedDelta = delta; } long stall = Math.max(0, delta - _shortestObservedDelta); if (stall > _minStallNano) { _stalls.put(_lastMonitoringStep, stall); if (_stalls.size() > _stallsHistorySize) { _stalls.pollFirstEntry(); } } }
@Override public void close() throws IOException { // ColumnizedDeleteEventRegistry reads all the delete events into memory during initialization // and it closes the delete event readers after it. If an exception gets thrown during // initialization, we may have to close any readers that are still left open. while (!sortMerger.isEmpty()) { Entry<DeleteRecordKey, DeleteReaderValue> entry = sortMerger.pollFirstEntry(); entry.getValue().close(); // close the reader for this entry } } }
public List<MessageExt> takeMessags(final int batchSize) { List<MessageExt> result = new ArrayList<MessageExt>(batchSize); final long now = System.currentTimeMillis(); try { this.lockTreeMap.writeLock().lockInterruptibly(); this.lastConsumeTimestamp = now; try { if (!this.msgTreeMap.isEmpty()) { for (int i = 0; i < batchSize; i++) { Map.Entry<Long, MessageExt> entry = this.msgTreeMap.pollFirstEntry(); if (entry != null) { result.add(entry.getValue()); consumingMsgOrderlyTreeMap.put(entry.getKey(), entry.getValue()); } else { break; } } } if (result.isEmpty()) { consuming = false; } } finally { this.lockTreeMap.writeLock().unlock(); } } catch (InterruptedException e) { log.error("take Messages exception", e); } return result; }
private void tryCreatePendingStreams() { while (!pendingStreams.isEmpty() && canCreateStream()) { Map.Entry<Integer, PendingStream> entry = pendingStreams.pollFirstEntry(); PendingStream pendingStream = entry.getValue(); try { pendingStream.sendFrames(); } catch (Throwable t) { pendingStream.close(t); } } }
@Override public void close() { try { if (!closed) { closed = true; // Fail all buffered streams. Http2ChannelClosedException e = new Http2ChannelClosedException(); while (!pendingStreams.isEmpty()) { PendingStream stream = pendingStreams.pollFirstEntry().getValue(); stream.close(e); } } } finally { super.close(); } }
timeToFile.pollFirstEntry().getValue()); mUfs.deleteFile(toDeleteFile);
Entry<DeleteRecordKey, DeleteReaderValue> entry = sortMerger.pollFirstEntry(); DeleteRecordKey deleteRecordKey = entry.getKey(); DeleteReaderValue deleteReaderValue = entry.getValue();
Entry<DeleteRecordKey, DeleteReaderValue> entry = sortMerger.pollFirstEntry(); DeleteRecordKey deleteRecordKey = entry.getKey(); DeleteReaderValue deleteReaderValue = entry.getValue();
Map.Entry<ReaderKey, ReaderPair> entry = readers.pollFirstEntry(); if (entry != null) { primary = entry.getValue();
Map.Entry<ReaderKey, ReaderPair> entry = readers.pollFirstEntry(); if (entry != null) { primary = entry.getValue();
Map.Entry<ReaderKey, ReaderPair> entry = readers.pollFirstEntry(); if (entry == null) { columns = 0;
public Map.Entry<K, V> pollFirstEntry() { lock.lock(); try { return tree.pollFirstEntry(); } finally { lock.unlock(); } }
public Map.Entry<K, V> pollFirstEntry() { lock.lock(); try { return tree.pollFirstEntry(); } finally { lock.unlock(); } }
@Override public synchronized Map.Entry<K,V> pollFirstEntry() { Map.Entry<K,V> entry = super.pollFirstEntry(); boolean removed = removeFromKeys(entry.getKey()); assert removed; return entry; } @Override
Map.Entry<ReaderKey, ReaderPair> entry = readers.pollFirstEntry(); if (entry == null) { columns = 0;
public List<MessageExt> takeMessags(final int batchSize) { List<MessageExt> result = new ArrayList<MessageExt>(batchSize); final long now = System.currentTimeMillis(); try { this.lockTreeMap.writeLock().lockInterruptibly(); this.lastConsumeTimestamp = now; try { if (!this.msgTreeMap.isEmpty()) { for (int i = 0; i < batchSize; i++) { Map.Entry<Long, MessageExt> entry = this.msgTreeMap.pollFirstEntry(); if (entry != null) { result.add(entry.getValue()); consumingMsgOrderlyTreeMap.put(entry.getKey(), entry.getValue()); } else { break; } } } if (result.isEmpty()) { consuming = false; } } finally { this.lockTreeMap.writeLock().unlock(); } } catch (InterruptedException e) { log.error("take Messages exception", e); } return result; }
private void updateMessageIndex(long sequenceNum, long offset, int size) { // Remove the lowest indexed sequence number if this addition // would result the index growing to larger than maxCachedMsgs. if (messageIndex.size() >= maxCachedMsgs && messageIndex.get(sequenceNum) == null) { messageIndex.pollFirstEntry(); } messageIndex.put(sequenceNum, new long[] { offset, size }); }