From 927eb12cf02cfc02e91f6e929300f523ae8887fc Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Tue, 16 Oct 2018 22:13:35 +0200 Subject: Prepare for removal --- .../yahoo/document/restapi/OperationHandler.java | 3 ++- .../document/restapi/OperationHandlerImpl.java | 9 ++++----- .../documentapi/metrics/DocumentApiMetrics.java | 4 +++- .../metrics/DocumentOperationStatus.java | 2 ++ .../documentapi/metrics/DocumentOperationType.java | 2 ++ .../java/com/yahoo/feedhandler/StatusResponse.java | 3 ++- .../feedhandler/VespaFeedHandlerCompatibility.java | 3 ++- .../com/yahoo/feedhandler/VespaFeedHandlerGet.java | 3 ++- .../yahoo/feedhandler/VespaFeedHandlerRemove.java | 3 ++- .../VespaFeedHandlerRemoveLocation.java | 3 ++- .../yahoo/feedhandler/VespaFeedHandlerStatus.java | 3 ++- .../yahoo/feedhandler/VespaFeedHandlerVisit.java | 3 ++- .../yahoo/storage/searcher/ContinuationHit.java | 22 ++++++++-------------- .../storage/searcher/DocumentFieldTemplate.java | 3 ++- .../com/yahoo/storage/searcher/DocumentHit.java | 2 ++ .../yahoo/storage/searcher/DocumentRemoveHit.java | 2 ++ .../storage/searcher/DocumentXMLTemplate.java | 3 ++- .../com/yahoo/storage/searcher/GetSearcher.java | 3 +++ .../storage/searcher/MessageBusErrorMessage.java | 2 ++ .../com/yahoo/storage/searcher/VisitSearcher.java | 4 ++++ .../storage/searcher/ContinuationHitTest.java | 1 + 21 files changed, 53 insertions(+), 30 deletions(-) (limited to 'vespaclient-container-plugin') diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandler.java index 775207d8629..f32b3594f28 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandler.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandler.java @@ -32,7 +32,8 @@ public interface OperationHandler { public final Optional bucketSpace; /** @deprecated Use a VisitOptions.Builder instead */ - @Deprecated + // TODO: Remove on Vespa 7 + @Deprecated // OK public VisitOptions(Optional cluster, Optional continuation, Optional wantedDocumentCount) { this.cluster = cluster; this.continuation = continuation; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java index c3844e398fe..7f7e2553b04 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/OperationHandlerImpl.java @@ -10,6 +10,7 @@ import com.yahoo.document.json.JsonWriter; import com.yahoo.document.DocumentPut; import com.yahoo.documentapi.DocumentAccess; import com.yahoo.documentapi.DocumentAccessException; +import com.yahoo.documentapi.ProgressToken; import com.yahoo.documentapi.SyncParameters; import com.yahoo.documentapi.SyncSession; import com.yahoo.documentapi.VisitorControlHandler; @@ -22,7 +23,6 @@ import com.yahoo.documentapi.metrics.DocumentOperationStatus; import com.yahoo.documentapi.metrics.DocumentOperationType; import com.yahoo.messagebus.StaticThrottlePolicy; import com.yahoo.metrics.simple.MetricReceiver; -import com.yahoo.storage.searcher.ContinuationHit; import com.yahoo.vdslib.VisitorOrdering; import com.yahoo.vespaclient.ClusterDef; import com.yahoo.vespaclient.ClusterList; @@ -195,10 +195,9 @@ public class OperationHandlerImpl implements OperationHandler { throw new RestApiException(Response.createErrorResponse(500, ExceptionUtils.getStackTrace(e), restUri, RestUri.apiErrorCodes.INTERRUPTED)); } if (localDataVisitorHandler.getErrors().isEmpty()) { - final Optional continuationToken; + Optional continuationToken; if (! visitorControlHandler.getProgress().isFinished()) { - final ContinuationHit continuationHit = new ContinuationHit(visitorControlHandler.getProgress()); - continuationToken = Optional.of(continuationHit.getValue()); + continuationToken = Optional.of(visitorControlHandler.getProgress().serializeToString()); } else { continuationToken = Optional.empty(); } @@ -448,7 +447,7 @@ public class OperationHandlerImpl implements OperationHandler { if (options.continuation.isPresent()) { try { - params.setResumeToken(ContinuationHit.getToken(options.continuation.get())); + params.setResumeToken(ProgressToken.fromSerializedString(options.continuation.get())); } catch (Exception e) { throw new RestApiException(Response.createErrorResponse(500, ExceptionUtils.getStackTrace(e), restUri, RestUri.apiErrorCodes.UNSPECIFIED)); } diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java index 25755c8c7d5..28fcd027d2b 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentApiMetrics.java @@ -18,6 +18,7 @@ import java.util.Map; * @author freva */ public class DocumentApiMetrics { + private final Counter feeds; private final Gauge feedLatency; private final Map> points = new HashMap<>(); @@ -46,7 +47,7 @@ public class DocumentApiMetrics { } public void reportSuccessful(DocumentOperationType documentOperationType, Instant startTime) { - final double latency = Duration.between(startTime, Instant.now()).toMillis() / 1000.0d; + double latency = Duration.between(startTime, Instant.now()).toMillis() / 1000.0d; reportSuccessful(documentOperationType, latency); } @@ -54,4 +55,5 @@ public class DocumentApiMetrics { Point point = points.get(documentOperationStatus).get(documentOperationType); feeds.add(point); } + } diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java index b1fe4d3cac2..f0529f3d55a 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationStatus.java @@ -16,6 +16,7 @@ import java.util.Set; * @author freva */ public enum DocumentOperationStatus { + OK, REQUEST_ERROR, SERVER_ERROR; public static DocumentOperationStatus fromHttpStatusCode(int httpStatus) { @@ -30,4 +31,5 @@ public enum DocumentOperationStatus { public static DocumentOperationStatus fromMessageBusErrorCodes(Set errorCodes) { return fromHttpStatusCode(OperationHandlerImpl.getHTTPStatusCode(errorCodes)); } + } diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationType.java b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationType.java index 9053c69ea1d..a478cbe3edb 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationType.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/documentapi/metrics/DocumentOperationType.java @@ -10,6 +10,7 @@ import com.yahoo.messagebus.Message; * @author freva */ public enum DocumentOperationType { + PUT, REMOVE, UPDATE, ERROR; public static DocumentOperationType fromMessage(Message msg) { @@ -23,5 +24,6 @@ public enum DocumentOperationType { return ERROR; } } + } diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/StatusResponse.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/StatusResponse.java index 38f9e229726..365f605688c 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/StatusResponse.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/StatusResponse.java @@ -14,7 +14,8 @@ import java.io.OutputStreamWriter; /** * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class StatusResponse extends HttpResponse { MetricManager manager; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerCompatibility.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerCompatibility.java index dc23589f8ed..8fe721899f9 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerCompatibility.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerCompatibility.java @@ -12,7 +12,8 @@ import com.yahoo.container.jdisc.ThreadedHttpRequestHandler; /** * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VespaFeedHandlerCompatibility extends ThreadedHttpRequestHandler { private final VespaFeedHandlerGet getHandler; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerGet.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerGet.java index ed4750148bd..ab8728e017b 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerGet.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerGet.java @@ -14,7 +14,8 @@ import com.yahoo.search.handler.SearchHandler; /** * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VespaFeedHandlerGet extends ThreadedHttpRequestHandler { private final SearchHandler searchHandler; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemove.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemove.java index 4673efb4605..9baad1a605d 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemove.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemove.java @@ -24,7 +24,8 @@ import java.util.concurrent.Executor; /** * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VespaFeedHandlerRemove extends VespaFeedHandlerBase { @Inject diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemoveLocation.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemoveLocation.java index ecb911953f6..0ca77decf22 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemoveLocation.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerRemoveLocation.java @@ -23,7 +23,8 @@ import java.util.concurrent.Executor; /** * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VespaFeedHandlerRemoveLocation extends VespaFeedHandlerBase { @Inject diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerStatus.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerStatus.java index 77d8a6ed37c..ac16159a9bb 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerStatus.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerStatus.java @@ -19,7 +19,8 @@ import com.yahoo.vespaclient.config.FeederConfig; /** * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VespaFeedHandlerStatus extends ThreadedHttpRequestHandler { private MetricManager manager; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerVisit.java b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerVisit.java index 5b5224775cb..b73ea455c32 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerVisit.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/feedhandler/VespaFeedHandlerVisit.java @@ -16,7 +16,8 @@ import com.yahoo.search.handler.SearchHandler; * * @deprecated Legacy API. Will be removed in Vespa 7 */ -@Deprecated +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VespaFeedHandlerVisit extends ThreadedHttpRequestHandler { private final SearchHandler searchHandler; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/ContinuationHit.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/ContinuationHit.java index 6f3caf24471..c66af4f02ba 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/ContinuationHit.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/ContinuationHit.java @@ -6,28 +6,22 @@ import com.yahoo.search.result.Hit; import java.io.IOException; import java.util.Base64; +/** + * @deprecated + */ +@Deprecated // OK +// TODO: Remove on Vespa 7 public class ContinuationHit extends Hit { private final String value; public ContinuationHit(ProgressToken token) { super("continuation"); - - final byte[] serialized = token.serialize(); - value = Base64.getUrlEncoder().encodeToString(serialized); + value = token.serializeToString(); } - public static ProgressToken getToken(String continuation) throws IOException { - byte[] serialized; - try { - serialized = Base64.getUrlDecoder().decode(continuation); - } catch (IllegalArgumentException e) { - // Legacy visitor tokens were encoded with MIME Base64 which may fail decoding as URL-safe. - // Try again with MIME decoder to avoid breaking upgrade scenarios. - // TODO(vekterli): remove once this is no longer a risk. - serialized = Base64.getMimeDecoder().decode(continuation); - } - return new ProgressToken(serialized); + public static ProgressToken getToken(String continuation) { + return ProgressToken.fromSerializedString(continuation); } public String getValue() { diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentFieldTemplate.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentFieldTemplate.java index 4390f70cac0..cf35c789f65 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentFieldTemplate.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentFieldTemplate.java @@ -19,7 +19,8 @@ import java.io.Writer; * * @deprecated use a renderer instead */ -@Deprecated // TODO: Remove on Vespa 7 +@Deprecated // OK +// TODO: Remove on Vespa 7 @SuppressWarnings("deprecation") public class DocumentFieldTemplate extends com.yahoo.prelude.templates.UserTemplate { diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentHit.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentHit.java index 55f3163c55a..514cf055e84 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentHit.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentHit.java @@ -9,6 +9,8 @@ import com.yahoo.search.result.Hit; import java.util.Iterator; import java.util.Map; +@Deprecated // OK +// TODO: Remove on Vespa 7 public class DocumentHit extends Hit { private Document document; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentRemoveHit.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentRemoveHit.java index d468df4fb81..73363e68e2b 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentRemoveHit.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentRemoveHit.java @@ -4,6 +4,8 @@ package com.yahoo.storage.searcher; import com.yahoo.document.DocumentId; import com.yahoo.search.result.Hit; +@Deprecated // OK +// TODO: Remove on Vespa 7 public class DocumentRemoveHit extends Hit { private final DocumentId idOfRemovedDoc; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentXMLTemplate.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentXMLTemplate.java index b16f39800ef..2366e7059bd 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentXMLTemplate.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/DocumentXMLTemplate.java @@ -16,7 +16,8 @@ import java.util.logging.Logger; /** * @deprecated use a renderer instead */ -@Deprecated // TODO: Remove on Vespa 7 +@Deprecated // OK +// TODO: Remove on Vespa 7 @SuppressWarnings("deprecation") public class DocumentXMLTemplate extends com.yahoo.prelude.templates.UserTemplate { diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/GetSearcher.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/GetSearcher.java index 3a5bda776b1..869a2f9317a 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/GetSearcher.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/GetSearcher.java @@ -57,8 +57,11 @@ import java.util.zip.GZIPInputStream; * contenttype=string (default: no content type specified) * For specifiying the returned HTTP header content type for a returned * document field's content. field must also be specified. + * @deprecated do not use */ @SuppressWarnings("deprecation") +// TODO: Remove on Vespa 7 +@Deprecated // OK public class GetSearcher extends Searcher { private static final Logger log = Logger.getLogger(GetSearcher.class.getName()); diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/MessageBusErrorMessage.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/MessageBusErrorMessage.java index 3eec821ad4c..ad93645e55e 100755 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/MessageBusErrorMessage.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/MessageBusErrorMessage.java @@ -7,6 +7,8 @@ import com.yahoo.search.result.ErrorMessage; * Simple ErrorMessage extension that includes a message bus error code, not * just the searcher error code (which isn't very useful for a Vespa XML consumer) */ +@Deprecated // OK +// TODO: Remove on Vespa 7 public class MessageBusErrorMessage extends ErrorMessage { private int mbusCode; diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/VisitSearcher.java b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/VisitSearcher.java index a3ac64e78a4..e330b76fa4b 100644 --- a/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/VisitSearcher.java +++ b/vespaclient-container-plugin/src/main/java/com/yahoo/storage/searcher/VisitSearcher.java @@ -27,7 +27,11 @@ import com.yahoo.vespaclient.config.FeederConfig; /** * A searcher that allows you to iterate through a storage cluster using visiting. + * + * @deprecated do not use */ +// TODO: Remove on Vespa 7 +@Deprecated // OK public class VisitSearcher extends Searcher { public static final String VISITOR_CONTINUATION_TOKEN_FIELDNAME = "visitorContinuationToken"; diff --git a/vespaclient-container-plugin/src/test/java/com/yahoo/storage/searcher/ContinuationHitTest.java b/vespaclient-container-plugin/src/test/java/com/yahoo/storage/searcher/ContinuationHitTest.java index 0f89bbd388d..b7a911109cc 100644 --- a/vespaclient-container-plugin/src/test/java/com/yahoo/storage/searcher/ContinuationHitTest.java +++ b/vespaclient-container-plugin/src/test/java/com/yahoo/storage/searcher/ContinuationHitTest.java @@ -11,6 +11,7 @@ import java.util.TreeSet; import static org.junit.Assert.*; +@SuppressWarnings("deprecation") public class ContinuationHitTest { private static final String SINGLE_BUCKET_URL_SAFE_BASE64 -- cgit v1.2.3