summaryrefslogtreecommitdiffstats
path: root/container-core
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-05-05 12:44:27 +0200
committergjoranv <gv@verizonmedia.com>2022-06-08 11:45:21 +0200
commite70380aaa5890d9d3a4c83630f0e49b82093bfc4 (patch)
tree6983c429696daa2618d77a3e40f31c422903b85a /container-core
parenta0c93b2790c150509659182328f5b7d2be0d9756 (diff)
Remove deprecated APIs exposing Guava types
Diffstat (limited to 'container-core')
-rw-r--r--container-core/abi-spec.json12
-rw-r--r--container-core/src/main/java/com/yahoo/processing/Response.java9
-rw-r--r--container-core/src/main/java/com/yahoo/processing/impl/ProcessingFuture.java5
-rw-r--r--container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java11
-rw-r--r--container-core/src/main/java/com/yahoo/processing/rendering/Renderer.java20
-rw-r--r--container-core/src/main/java/com/yahoo/processing/response/AbstractDataList.java11
-rw-r--r--container-core/src/main/java/com/yahoo/processing/response/DataList.java6
-rw-r--r--container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java8
-rw-r--r--container-core/src/main/java/com/yahoo/processing/response/IncomingData.java13
-rw-r--r--container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java4
-rw-r--r--container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java16
-rw-r--r--container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java4
-rw-r--r--container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java38
-rw-r--r--container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java7
14 files changed, 20 insertions, 144 deletions
diff --git a/container-core/abi-spec.json b/container-core/abi-spec.json
index 8ca6507f73e..845912056c9 100644
--- a/container-core/abi-spec.json
+++ b/container-core/abi-spec.json
@@ -2850,8 +2850,7 @@
"public void <init>(com.yahoo.processing.Request, com.yahoo.processing.request.ErrorMessage)",
"public void mergeWith(com.yahoo.processing.Response)",
"public com.yahoo.processing.response.DataList data()",
- "public static java.util.concurrent.CompletableFuture recursiveFuture(com.yahoo.processing.response.DataList)",
- "public static com.google.common.util.concurrent.ListenableFuture recursiveComplete(com.yahoo.processing.response.DataList)"
+ "public static java.util.concurrent.CompletableFuture recursiveFuture(com.yahoo.processing.response.DataList)"
],
"fields": []
},
@@ -3152,7 +3151,6 @@
"public final java.util.concurrent.CompletableFuture renderResponse(java.io.OutputStream, com.yahoo.processing.Response, com.yahoo.processing.execution.Execution, com.yahoo.processing.Request)",
"public void deconstruct()",
"public final java.util.concurrent.CompletableFuture renderResponseBeforeHandover(java.io.OutputStream, com.yahoo.processing.Response, com.yahoo.processing.execution.Execution, com.yahoo.processing.Request)",
- "public final com.google.common.util.concurrent.ListenableFuture renderBeforeHandover(java.io.OutputStream, com.yahoo.processing.Response, com.yahoo.processing.execution.Execution, com.yahoo.processing.Request)",
"public com.yahoo.processing.execution.Execution getExecution()",
"public com.yahoo.processing.Response getResponse()",
"protected boolean clientClosed()",
@@ -3197,8 +3195,7 @@
"public void <init>()",
"public com.yahoo.processing.rendering.Renderer clone()",
"public void init()",
- "public com.google.common.util.concurrent.ListenableFuture render(java.io.OutputStream, com.yahoo.processing.Response, com.yahoo.processing.execution.Execution, com.yahoo.processing.Request)",
- "public java.util.concurrent.CompletableFuture renderResponse(java.io.OutputStream, com.yahoo.processing.Response, com.yahoo.processing.execution.Execution, com.yahoo.processing.Request)",
+ "public abstract java.util.concurrent.CompletableFuture renderResponse(java.io.OutputStream, com.yahoo.processing.Response, com.yahoo.processing.execution.Execution, com.yahoo.processing.Request)",
"public abstract java.lang.String getEncoding()",
"public abstract java.lang.String getMimeType()",
"public bridge synthetic com.yahoo.component.AbstractComponent clone()",
@@ -3437,7 +3434,6 @@
"protected void <init>(com.yahoo.processing.Request, com.yahoo.processing.response.IncomingData, boolean, boolean)",
"public com.yahoo.processing.Request request()",
"public com.yahoo.processing.response.IncomingData incoming()",
- "public com.google.common.util.concurrent.ListenableFuture complete()",
"public java.util.concurrent.CompletableFuture completeFuture()",
"public boolean isOrdered()",
"public boolean isStreamed()",
@@ -3498,7 +3494,6 @@
"public abstract java.util.List asList()",
"public abstract com.yahoo.processing.response.IncomingData incoming()",
"public abstract java.util.concurrent.CompletableFuture completeFuture()",
- "public abstract com.google.common.util.concurrent.ListenableFuture complete()",
"public abstract void addDataListener(java.lang.Runnable)",
"public void close()"
],
@@ -3517,7 +3512,6 @@
"public void <init>(com.yahoo.processing.response.DataList)",
"public final void assignOwner(com.yahoo.processing.response.DataList)",
"public com.yahoo.processing.response.DataList getOwner()",
- "public com.google.common.util.concurrent.ListenableFuture completed()",
"public java.util.concurrent.CompletableFuture completedFuture()",
"public synchronized boolean isComplete()",
"public synchronized void addLast(com.yahoo.processing.response.Data)",
@@ -3582,7 +3576,6 @@
],
"methods": [
"public void <init>(com.yahoo.processing.response.DataList)",
- "public com.google.common.util.concurrent.ListenableFuture completed()",
"public java.util.concurrent.CompletableFuture completedFuture()",
"public com.yahoo.processing.response.DataList getOwner()",
"public boolean isComplete()",
@@ -3608,7 +3601,6 @@
"methods": [
"public abstract com.yahoo.processing.response.DataList getOwner()",
"public abstract java.util.concurrent.CompletableFuture completedFuture()",
- "public abstract com.google.common.util.concurrent.ListenableFuture completed()",
"public abstract boolean isComplete()",
"public abstract void addLast(com.yahoo.processing.response.Data)",
"public abstract void add(com.yahoo.processing.response.Data)",
diff --git a/container-core/src/main/java/com/yahoo/processing/Response.java b/container-core/src/main/java/com/yahoo/processing/Response.java
index cf54d043c5f..59533900a0c 100644
--- a/container-core/src/main/java/com/yahoo/processing/Response.java
+++ b/container-core/src/main/java/com/yahoo/processing/Response.java
@@ -1,9 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing;
-import com.google.common.util.concurrent.ListenableFuture;
import com.yahoo.component.provider.ListenableFreezableClass;
-import com.yahoo.concurrent.CompletableFutures;
import com.yahoo.concurrent.SystemTimer;
import com.yahoo.processing.execution.ResponseReceiver;
import com.yahoo.processing.impl.ProcessingFuture;
@@ -102,13 +100,6 @@ public class Response extends ListenableFreezableClass {
return new CompleteAllOnGetFuture<D>(futures);
}
- /** @deprecated Use {@link #recursiveFuture(DataList)} instead */
- @Deprecated(forRemoval = true, since = "7")
- @SuppressWarnings("removal")
- public static <D extends Data> ListenableFuture<DataList<D>> recursiveComplete(DataList<D> rootDataList) {
- return CompletableFutures.toGuavaListenableFuture(recursiveFuture(rootDataList));
- }
-
@SuppressWarnings("unchecked")
private static <D extends Data> void collectCompletionFutures(DataList<D> dataList, List<CompletableFuture<DataList<D>>> futures) {
futures.add(dataList.completeFuture());
diff --git a/container-core/src/main/java/com/yahoo/processing/impl/ProcessingFuture.java b/container-core/src/main/java/com/yahoo/processing/impl/ProcessingFuture.java
index ab597fffaff..07923de6e09 100644
--- a/container-core/src/main/java/com/yahoo/processing/impl/ProcessingFuture.java
+++ b/container-core/src/main/java/com/yahoo/processing/impl/ProcessingFuture.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.impl;
-import com.google.common.util.concurrent.ListenableFuture;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
@@ -14,8 +13,7 @@ import java.util.concurrent.TimeoutException;
*
* @author bjorncs
*/
-// TODO Vespa 8 remove ListenableFuture implementation
-public abstract class ProcessingFuture<V> extends CompletableFuture<V> implements ListenableFuture<V> {
+public abstract class ProcessingFuture<V> extends CompletableFuture<V> {
@Override public boolean cancel(boolean mayInterruptIfRunning) { return false; }
@Override public boolean isCancelled() { return false; }
@@ -23,7 +21,6 @@ public abstract class ProcessingFuture<V> extends CompletableFuture<V> implement
@Override public abstract V get() throws InterruptedException, ExecutionException;
@Override public abstract V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException;
- @Override
public void addListener(Runnable listener, Executor executor) {
whenCompleteAsync((__, ___) -> listener.run(), executor);
}
diff --git a/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java b/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java
index bb5fe7a1f76..aa753beb6a7 100644
--- a/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java
+++ b/container-core/src/main/java/com/yahoo/processing/rendering/AsynchronousSectionedRenderer.java
@@ -1,8 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.rendering;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.yahoo.concurrent.CompletableFutures;
import com.yahoo.concurrent.ThreadFactoryFactory;
import com.yahoo.jdisc.handler.CompletionHandler;
import com.yahoo.jdisc.handler.ContentChannel;
@@ -223,15 +221,6 @@ public abstract class AsynchronousSectionedRenderer<RESPONSE extends Response> e
return startRender(stream, response, execution, request);
}
-
- /** @deprecated Use {@link #renderResponseBeforeHandover(OutputStream, Response, Execution, Request)} */
- @Deprecated(forRemoval = true, since = "7")
- @SuppressWarnings("removal")
- public final ListenableFuture<Boolean> renderBeforeHandover(OutputStream stream, RESPONSE response,
- Execution execution, Request request) {
- return CompletableFutures.toGuavaListenableFuture(renderResponseBeforeHandover(stream, response, execution, request));
- }
-
private CompletableFuture<Boolean> startRender(OutputStream stream, RESPONSE response,
Execution execution, Request request) {
this.response = response;
diff --git a/container-core/src/main/java/com/yahoo/processing/rendering/Renderer.java b/container-core/src/main/java/com/yahoo/processing/rendering/Renderer.java
index 8db4ed4f624..df53ac846f2 100644
--- a/container-core/src/main/java/com/yahoo/processing/rendering/Renderer.java
+++ b/container-core/src/main/java/com/yahoo/processing/rendering/Renderer.java
@@ -1,9 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.rendering;
-import com.google.common.util.concurrent.ListenableFuture;
import com.yahoo.component.AbstractComponent;
-import com.yahoo.concurrent.CompletableFutures;
import com.yahoo.processing.Request;
import com.yahoo.processing.Response;
import com.yahoo.processing.execution.Execution;
@@ -43,17 +41,6 @@ public abstract class Renderer<RESPONSE extends Response> extends AbstractCompon
}
/**
- * @deprecated Use/implement {@link #renderResponse(OutputStream, Response, Execution, Request)} instead.
- * Return type changed from {@link ListenableFuture} to {@link CompletableFuture}.
- */
- @Deprecated(forRemoval = true, since = "7")
- @SuppressWarnings("removal")
- public ListenableFuture<Boolean> render(OutputStream stream, RESPONSE response, Execution execution,
- Request request) {
- return CompletableFutures.toGuavaListenableFuture(renderResponse(stream, response, execution, request));
- }
-
- /**
* Render a response to a stream. The stream also exposes a ByteBuffer API
* for efficient transactions to JDisc. The returned future will throw the
* exception causing failure wrapped in an ExecutionException if rendering
@@ -65,11 +52,8 @@ public abstract class Renderer<RESPONSE extends Response> extends AbstractCompon
* @param request the request matching the response
* @return a {@link CompletableFuture} containing a boolean where true indicates a successful rendering
*/
- @SuppressWarnings("removal")
- public CompletableFuture<Boolean> renderResponse(OutputStream stream, RESPONSE response,
- Execution execution, Request request) {
- return CompletableFutures.toCompletableFuture(render(stream, response, execution, request));
- }
+ public abstract CompletableFuture<Boolean> renderResponse(OutputStream stream, RESPONSE response,
+ Execution execution, Request request);
/**
* Name of the output encoding, if applicable.
diff --git a/container-core/src/main/java/com/yahoo/processing/response/AbstractDataList.java b/container-core/src/main/java/com/yahoo/processing/response/AbstractDataList.java
index b1ce0643487..15b1abc10cd 100644
--- a/container-core/src/main/java/com/yahoo/processing/response/AbstractDataList.java
+++ b/container-core/src/main/java/com/yahoo/processing/response/AbstractDataList.java
@@ -1,9 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.response;
-import com.google.common.util.concurrent.ListenableFuture;
import com.yahoo.component.provider.ListenableFreezableClass;
-import com.yahoo.concurrent.CompletableFutures;
import com.yahoo.processing.Request;
import com.yahoo.processing.impl.ProcessingFuture;
@@ -92,13 +90,6 @@ public abstract class AbstractDataList<DATATYPE extends Data> extends Listenable
return incomingData;
}
- @Override
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true, since = "7")
- public ListenableFuture<DataList<DATATYPE>> complete() {
- return CompletableFutures.toGuavaListenableFuture(completedFuture);
- }
-
@Override public CompletableFuture<DataList<DATATYPE>> completeFuture() { return completedFuture; }
@Override
@@ -108,7 +99,7 @@ public abstract class AbstractDataList<DATATYPE extends Data> extends Listenable
public boolean isStreamed() { return streamed; }
public String toString() {
- return super.toString() + (complete().isDone() ? " [completed]" : " [incomplete, " + incoming() + "]");
+ return super.toString() + (completeFuture().isDone() ? " [completed]" : " [incomplete, " + incoming() + "]");
}
public static final class DrainOnGetFuture<DATATYPE extends Data> extends ProcessingFuture<DataList<DATATYPE>> {
diff --git a/container-core/src/main/java/com/yahoo/processing/response/DataList.java b/container-core/src/main/java/com/yahoo/processing/response/DataList.java
index dbda8983f12..8c63dd2f7fe 100644
--- a/container-core/src/main/java/com/yahoo/processing/response/DataList.java
+++ b/container-core/src/main/java/com/yahoo/processing/response/DataList.java
@@ -1,8 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.response;
-import com.google.common.util.concurrent.ListenableFuture;
-
import java.util.List;
import java.util.concurrent.CompletableFuture;
@@ -74,10 +72,6 @@ public interface DataList<DATATYPE extends Data> extends Data {
*/
CompletableFuture<DataList<DATATYPE>> completeFuture();
- /** @deprecated Use {@link #completeFuture()} instead */
- @Deprecated(forRemoval = true, since = "7")
- ListenableFuture<DataList<DATATYPE>> complete();
-
/**
* Adds a listener which is invoked every time data is added to this list.
* The listener is always invoked on the same thread which is adding the data,
diff --git a/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java b/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java
index 813d6ac54d8..eab033f8bc9 100644
--- a/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java
+++ b/container-core/src/main/java/com/yahoo/processing/response/DefaultIncomingData.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.response;
-import com.google.common.util.concurrent.ListenableFuture;
import com.yahoo.collections.Tuple2;
import com.yahoo.concurrent.CompletableFutures;
@@ -50,13 +49,6 @@ public class DefaultIncomingData<DATATYPE extends Data> implements IncomingData<
return owner;
}
- @Override
- @Deprecated(forRemoval = true, since = "7")
- @SuppressWarnings("removal")
- public ListenableFuture<DataList<DATATYPE>> completed() {
- return CompletableFutures.toGuavaListenableFuture(completionFuture);
- }
-
@Override public CompletableFuture<DataList<DATATYPE>> completedFuture() { return completionFuture; }
/** Returns whether the data in this is complete */
diff --git a/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java b/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java
index 54ba0fa8031..fc0e6d21e13 100644
--- a/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java
+++ b/container-core/src/main/java/com/yahoo/processing/response/IncomingData.java
@@ -1,8 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.response;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.yahoo.concurrent.CompletableFutures;
import com.yahoo.processing.impl.ProcessingFuture;
import java.util.Collections;
@@ -39,10 +37,6 @@ public interface IncomingData<DATATYPE extends Data> {
*/
CompletableFuture<DataList<DATATYPE>> completedFuture();
- /** @deprecated Use {@link #completedFuture()} instead */
- @Deprecated(forRemoval = true, since = "7")
- ListenableFuture<DataList<DATATYPE>> completed();
-
/**
* Returns whether this is complete
*/
@@ -114,13 +108,6 @@ public interface IncomingData<DATATYPE extends Data> {
completionFuture = new ImmediateFuture<>(owner);
}
- @Override
- @SuppressWarnings("removal")
- @Deprecated(forRemoval = true, since = "7")
- public ListenableFuture<DataList<DATATYPE>> completed() {
- return CompletableFutures.toGuavaListenableFuture(completionFuture);
- }
-
@Override public CompletableFuture<DataList<DATATYPE>> completedFuture() { return completionFuture; }
@Override
diff --git a/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java b/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java
index efcf608b6f0..f8cd646909d 100644
--- a/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java
+++ b/container-core/src/test/java/com/yahoo/processing/ResponseTestCase.java
@@ -22,7 +22,7 @@ public class ResponseTestCase {
* Check the recursive toString printing along the way.
* List variable names ends by numbers specifying the index of the list at each level.
*/
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testRecursiveCompletionAndToString() throws InterruptedException, ExecutionException {
// create lists
@@ -68,7 +68,7 @@ public class ResponseTestCase {
assertEqualsIgnoreObjectNumbers("Uncompleted tree, incoming complete", uncompletedTreeCompletedIncoming, Responses.recursiveToString(list1));
// complete all
- Response.recursiveComplete(list1).get();
+ Response.recursiveFuture(list1).get();
assertEqualsIgnoreObjectNumbers("Completed tree", completedTree, Responses.recursiveToString(list1));
}
diff --git a/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java b/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java
index 2fb32271419..7dd043383a1 100644
--- a/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java
+++ b/container-core/src/test/java/com/yahoo/processing/execution/test/FutureDataTestCase.java
@@ -25,7 +25,7 @@ import static org.junit.Assert.assertEquals;
public class FutureDataTestCase {
/** Run a chain which ends in a processor which returns a response containing future data. */
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testFutureDataPassThrough() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -45,14 +45,14 @@ public class FutureDataTestCase {
futureDataSource.incomingData.get(0).add(new StringData(request, "d1"));
futureDataSource.incomingData.get(0).addLast(new StringData(request, "d2"));
assertEquals("New data is not visible because we haven't asked for it", 1, response.data().asList().size());
- response.data().complete().get(1000, TimeUnit.MILLISECONDS);
+ response.data().completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals("Now the data is available", 3, response.data().asList().size());
assertEquals("d1",response.data().get(1).toString().toString());
assertEquals("d2",response.data().get(2).toString().toString());
}
/** Federate to one source which returns data immediately and one who return future data */
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testFederateSyncAndAsyncData() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -81,7 +81,7 @@ public class FutureDataTestCase {
futureDataSource.incomingData.get(0).add(new StringData(request, "d1"));
futureDataSource.incomingData.get(0).addLast(new StringData(request, "d2"));
assertEquals("New data is not visible because we haven't asked for it", 0, asyncData.asList().size());
- asyncData.complete().get(1000, TimeUnit.MILLISECONDS);
+ asyncData.completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals("Now the data is available", 2, asyncData.asList().size());
assertEquals("d1",asyncData.get(0).toString().toString());
assertEquals("d2", asyncData.get(1).toString().toString());
@@ -108,7 +108,7 @@ public class FutureDataTestCase {
assertEquals("New data is not visible because it is not complete", 0, response.data().asList().size());
futureDataSource.incomingData.get(0).addLast(new StringData(request, "d2"));
assertEquals("Not visible because it has not been synced yet", 0, response.data().asList().size());
- response.data().complete().get(1000, TimeUnit.MILLISECONDS);
+ response.data().completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals("Now the data as well as the count is available", 3, response.data().asList().size());
assertEquals("d1",response.data().get(0).toString().toString());
assertEquals("d2",response.data().get(1).toString().toString());
@@ -120,7 +120,7 @@ public class FutureDataTestCase {
* When the first of the futures are done one additional chain is to be run.
* When both are done another chain is to be run.
*/
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testAsyncDataProcessingOfFederatedResult() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -154,7 +154,7 @@ public class FutureDataTestCase {
// complete async data in source1
futureSource1.incomingData.get(0).addLast(new StringData(request,"source1Data"));
assertEquals("Not visible yet", 0, source1Data.asList().size());
- source1Data.complete().get(1000, TimeUnit.MILLISECONDS);
+ source1Data.completeFuture().get(1000, TimeUnit.MILLISECONDS);
assertEquals(2, source1Data.asList().size());
assertEquals("source1Data",source1Data.get(0).toString());
assertEquals("Completion listener chain on this has run", "[source1] Data count: 1", source1Data.get(1).toString());
@@ -164,7 +164,7 @@ public class FutureDataTestCase {
futureSource2.incomingData.get(0).addLast(new StringData(request, "source2Data"));
assertEquals("Main completion listener has not run", 3, response.data().asList().size());
- Response.recursiveComplete(response.data()).get();
+ Response.recursiveFuture(response.data()).get();
assertEquals("Main completion listener has run", 4, response.data().asList().size());
assertEquals("The main data counter saw all sync data, but not source2 data as it executes after this",
"[main] Data count: " + (2 + 0 + 3), response.data().get(3).toString());
diff --git a/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java b/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java
index bd1307ff77c..d494e774f8e 100644
--- a/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java
+++ b/container-core/src/test/java/com/yahoo/processing/execution/test/StreamingTestCase.java
@@ -26,7 +26,7 @@ import static org.junit.Assert.assertEquals;
public class StreamingTestCase {
/** Tests adding a chain which is called every time new data is added to a data list */
- @SuppressWarnings({"unchecked", "removal"})
+ @SuppressWarnings({"unchecked"})
@Test
public void testStreamingData() throws InterruptedException, ExecutionException, TimeoutException {
// Set up
@@ -66,7 +66,7 @@ public class StreamingTestCase {
assertEquals("We are getting data add events also the last time", 4, streamProcessor.invocationCount);
assertEquals("New data is consumed", 4, response.data().asList().size());
- response.data().complete().get(1000, TimeUnit.MILLISECONDS); // no-op here
+ response.data().completeFuture().get(1000, TimeUnit.MILLISECONDS); // no-op here
assertEquals("d1",response.data().get(1).toString().toString());
assertEquals("d2",response.data().get(2).toString().toString());
assertEquals("d3",response.data().get(3).toString().toString());
diff --git a/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java b/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java
index a6db21d5094..5dfe29dd4a1 100644
--- a/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java
+++ b/container-core/src/test/java/com/yahoo/processing/rendering/AsynchronousSectionedRendererTest.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.rendering;
-import com.google.common.util.concurrent.ListenableFuture;
import com.yahoo.component.provider.ListenableFreezableClass;
import com.yahoo.container.jdisc.ContentChannelOutputStream;
import com.yahoo.processing.Processor;
@@ -23,8 +22,6 @@ import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.Executor;
-import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotSame;
@@ -403,41 +400,6 @@ public class AsynchronousSectionedRendererTest {
}
@Override
- @SuppressWarnings("removal")
- public ListenableFuture<DataList<StringData>> complete() {
- return new ListenableFuture<>() {
- @Override
- public void addListener(Runnable runnable, Executor executor) {
- }
-
- @Override
- public boolean cancel(boolean b) {
- return false;
- }
-
- @Override
- public boolean isCancelled() {
- return false;
- }
-
- @Override
- public boolean isDone() {
- return true;
- }
-
- @Override
- public DataList<StringData> get() {
- return StringDataList.this;
- }
-
- @Override
- public DataList<StringData> get(long l, TimeUnit timeUnit) {
- return StringDataList.this;
- }
- };
- }
-
- @Override
public CompletableFuture<DataList<StringData>> completeFuture() {
return CompletableFuture.completedFuture(this);
}
diff --git a/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java b/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java
index 21731f7d714..a2a028772e5 100644
--- a/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java
+++ b/container-core/src/test/java/com/yahoo/processing/test/documentation/AsyncDataProcessingInitiator.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.processing.test.documentation;
-import com.google.common.util.concurrent.MoreExecutors;
import com.yahoo.component.chain.Chain;
import com.yahoo.processing.Processor;
import com.yahoo.processing.Request;
@@ -22,13 +21,11 @@ public class AsyncDataProcessingInitiator extends Processor {
this.asyncChain=asyncChain;
}
- @SuppressWarnings({"removal"})
@Override
public Response process(Request request, Execution execution) {
Response response=execution.process(request);
- response.data().complete().addListener(new RunnableExecution(request,
- new ExecutionWithResponse(asyncChain, response, execution)),
- MoreExecutors.directExecutor());
+ response.data().completeFuture().whenComplete((__, ___) -> new RunnableExecution(request,
+ new ExecutionWithResponse(asyncChain, response, execution)).run());
return response;
}