List of usage examples for com.google.common.util.concurrent Futures getUnchecked
@GwtIncompatible("TODO") public static <V> V getUnchecked(Future<V> future)
From source file:com.continuuity.loom.common.zookeeper.lib.ZKMap.java
@Override public T remove(Object key) { if (!(key instanceof String)) { throw new IllegalArgumentException( "Expected key of type java.lang.String but was " + (key == null ? null : key.getClass())); }/*from w w w .j a v a 2 s . c o m*/ Map<String, T> current = Maps.newHashMap(currentView.get()); T removed = current.remove(key); currentView.set(ImmutableMap.<String, T>builder().putAll(current).build()); // note: we cannot only issue remove from zk if removed != null because even if removed == null this could mean // the element was removed (and for other race-condition reasons) Futures.getUnchecked(ZKClientExt.delete(zkClient, getItemNodePath((String) key), true)); return removed; }
From source file:com.github.parboiled1.grappa.backport.buffers.CharSequenceInputBuffer.java
@Override public String extractLine(final int lineNumber) { Preconditions.checkArgument(lineNumber > 0, "line number is negative"); final LineCounter counter = Futures.getUnchecked(lineCounter); final Range<Integer> range = counter.getLineRange(lineNumber); final int start = range.lowerEndpoint(); int end = range.upperEndpoint(); if (charAt(end - 1) == '\n') end--;/* w ww.j a v a 2 s. co m*/ if (charAt(end - 1) == '\r') end--; return extract(start, end); }
From source file:com.facebook.buck.versions.AsyncVersionedTargetGraphBuilder.java
@Override protected VersionInfo getVersionInfo(TargetNode<?> node) { return Futures.getUnchecked(versionInfoAsyncTransformationEngine.compute(ImmutableVersionInfoKey.of(node))); }
From source file:com.continuuity.weave.internal.AbstractServiceController.java
@Override public void stopAndWait() { Futures.getUnchecked(stop()); }
From source file:co.cask.tigon.data.co.cask.tigon.data.hbase.wd.DistributedScanner.java
private Result nextInternal() throws IOException { Result result = null;//from ww w .j a v a2 s . c o m int indexOfScannerToUse = -1; // advancing scanners if needed in multi-threaded way Future[] advanceFutures = new Future[scanners.length]; for (int i = 0; i < nextOfScanners.length; i++) { if (nextOfScanners[i] == null) { // result scanner is exhausted, don't advance it any more continue; } if (nextOfScanners[i].size() == 0) { final ResultScanner scanner = scanners[i]; advanceFutures[i] = scansExecutor.submit(new Callable<Result[]>() { @Override public Result[] call() throws Exception { return scanner.next(caching); } }); } } for (int i = 0; i < advanceFutures.length; i++) { if (advanceFutures[i] == null) { continue; } // advancing result scanner Result[] results = Futures.getUnchecked((Future<Result[]>) advanceFutures[i]); if (results.length == 0) { // marking result scanner as exhausted nextOfScanners[i] = null; continue; } nextOfScanners[i].addAll(Arrays.asList(results)); } for (int i = 0; i < nextOfScanners.length; i++) { if (nextOfScanners[i] == null) { // result scanner is exhausted, don't advance it any more continue; } // if result is null or next record has original key less than the candidate to be returned if (result == null || Bytes.compareTo(keyDistributor.getOriginalKey(nextOfScanners[i].get(0).getRow()), keyDistributor.getOriginalKey(result.getRow())) < 0) { result = nextOfScanners[i].get(0); indexOfScannerToUse = i; } } if (indexOfScannerToUse >= 0) { nextOfScanners[indexOfScannerToUse].remove(0); } return result; }
From source file:com.facebook.buck.distributed.DistBuildArtifactCacheImpl.java
@Override public boolean remoteContains(BuildRule buildRule) { if (!remoteCacheContainsFutures.containsKey(buildRule)) { prewarmRemoteContains(ImmutableSet.of(buildRule)); }/*from ww w . j a v a 2 s .c o m*/ return Futures.getUnchecked(remoteCacheContainsFutures.get(buildRule)); }
From source file:com.continuuity.loom.common.zookeeper.lib.ZKCollection.java
public void clear() { currentView.set(Collections.<T>emptyList()); // Hint: again, we can try to make removal more efficient by cleaning only when in-mem collection cleaned smth, // but then we may face races... NodeChildren nodeChildren = Futures.getUnchecked(zkClient.getChildren("")); List<ListenableFuture<String>> deleteFutures = Lists.newArrayList(); for (String node : nodeChildren.getChildren()) { deleteFutures.add(ZKClientExt.delete(zkClient, getNodePath(node), true)); }//from w w w . j ava2s. co m Futures.getUnchecked(Futures.allAsList(deleteFutures)); }
From source file:org.apache.aurora.scheduler.mesos.VersionedSchedulerDriverService.java
@Override public void acceptInverseOffer(OfferID offerID, Filters filter) { whenRegistered(() -> {//from w ww. ja v a2s . com LOG.info("Accepting Inverse Offer {}", offerID.getValue()); Futures.getUnchecked(mesosFuture).send(Call.newBuilder().setFrameworkId(getFrameworkId()) .setType(Call.Type.ACCEPT_INVERSE_OFFERS) .setAcceptInverseOffers( Call.AcceptInverseOffers.newBuilder().addInverseOfferIds(offerID).setFilters(filter)) .build()); }); }
From source file:com.github.parboiled1.grappa.backport.buffers.CharSequenceInputBuffer.java
@SuppressWarnings("AutoUnboxing") @Override/* w w w . ja v a 2s . com*/ public IndexRange getLineRange(final int lineNumber) { final Range<Integer> range = Futures.getUnchecked(lineCounter).getLineRange(lineNumber); return new IndexRange(range.lowerEndpoint(), range.upperEndpoint()); }
From source file:com.facebook.buck.core.rules.resolver.impl.MultiThreadedActionGraphBuilder.java
@Override public BuildRule computeIfAbsent(BuildTarget target, Function<BuildTarget, BuildRule> mappingFunction) { Preconditions.checkState(isValid);/*w w w . j ava 2 s .c om*/ Preconditions.checkState(isInForkJoinPool(), "Should only be called while executing in the pool"); WorkThreadTrackingTask<BuildRule> future = buildRuleIndex.computeIfAbsent(target, wrap(mappingFunction)); if (future.isBeingWorkedOnByCurrentThread()) { BuildRule rule = mappingFunction.apply(target); future.complete(rule); return rule; } else { return Futures.getUnchecked(future); } }