summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-02-07 11:40:13 +0100
committerHarald Musum <musum@oath.com>2018-02-07 11:40:13 +0100
commit71487b8ed62cb933a68ee08946286b73b5dcfe1b (patch)
tree07c716e768509991a682ff7e246fb3460f4c4343
parent6db029156483eaab425ac2c5119c9d7152c01703 (diff)
Remove config and support for non-chunked transfer
-rw-r--r--configdefinitions/src/vespa/configserver.def1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java36
-rw-r--r--filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java35
3 files changed, 2 insertions, 70 deletions
diff --git a/configdefinitions/src/vespa/configserver.def b/configdefinitions/src/vespa/configserver.def
index d661119e049..aa807c76c91 100644
--- a/configdefinitions/src/vespa/configserver.def
+++ b/configdefinitions/src/vespa/configserver.def
@@ -51,4 +51,3 @@ loadBalancerAddress string default=""
# File distribution
disableFiledistributor bool default=true
-usechunkedtransfer bool default=true
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
index ee9ac81e090..08095c55373 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/rpc/RpcServer.java
@@ -23,7 +23,6 @@ import com.yahoo.jrt.Target;
import com.yahoo.jrt.Transport;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.config.ErrorCode;
-import com.yahoo.vespa.config.JRTConnectionPool;
import com.yahoo.vespa.config.JRTMethods;
import com.yahoo.vespa.config.protocol.ConfigResponse;
import com.yahoo.vespa.config.protocol.JRTServerConfigRequest;
@@ -99,7 +98,6 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
private final FileServer fileServer;
private final ThreadPoolExecutor executorService;
- private final boolean useChunkedFileTransfer;
private final FileDownloader downloader;
private volatile boolean allTenantsLoaded = false;
@@ -126,7 +124,6 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
this.useRequestVersion = config.useVespaVersionInRequest();
this.hostedVespa = config.hostedVespa();
this.fileServer = fileServer;
- this.useChunkedFileTransfer = config.usechunkedtransfer();
downloader = fileServer.downloader();
setUpHandlers();
}
@@ -428,35 +425,6 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
return useRequestVersion;
}
- class WholeFileReceiver implements FileServer.Receiver {
- Target target;
- WholeFileReceiver(Target target) {
- this.target = target;
- }
-
- @Override
- public String toString() {
- return target.toString();
- }
-
- @Override
- public void receive(FileReferenceData fileData, FileServer.ReplayStatus status) {
- Request fileBlob = new Request(FileReceiver.RECEIVE_METHOD);
- fileBlob.parameters().add(new StringValue(fileData.fileReference().value()));
- fileBlob.parameters().add(new StringValue(fileData.filename()));
- fileBlob.parameters().add(new StringValue(fileData.type().name()));
- fileBlob.parameters().add(new DataValue(fileData.content().array()));
- fileBlob.parameters().add(new Int64Value(fileData.xxhash()));
- fileBlob.parameters().add(new Int32Value(status.getCode()));
- fileBlob.parameters().add(new StringValue(status.getDescription()));
- target.invokeSync(fileBlob, 600);
- if (fileBlob.isError()) {
- log.warning("Failed delivering reference '" + fileData.fileReference().value() + "' with file '" + fileData.filename() + "' to " +
- target.toString() + " with error: '" + fileBlob.errorMessage() + "'.");
- }
- }
- }
-
class ChunkedFileReceiver implements FileServer.Receiver {
Target target;
ChunkedFileReceiver(Target target) {
@@ -543,9 +511,7 @@ public class RpcServer implements Runnable, ReloadListener, TenantListener {
@SuppressWarnings("UnusedDeclaration")
public final void serveFile(Request request) {
request.detach();
- FileServer.Receiver receiver = useChunkedFileTransfer
- ? new ChunkedFileReceiver(request.target())
- : new WholeFileReceiver(request.target());
+ FileServer.Receiver receiver = new ChunkedFileReceiver(request.target());
fileServer.serveFile(request, receiver);
}
diff --git a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java
index 43a5eae90bf..3d6c7bf0a5c 100644
--- a/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java
+++ b/filedistribution/src/main/java/com/yahoo/vespa/filedistribution/FileReceiver.java
@@ -33,7 +33,6 @@ import java.util.logging.Logger;
public class FileReceiver {
private final static Logger log = Logger.getLogger(FileReceiver.class.getName());
- public final static String RECEIVE_METHOD = "filedistribution.receiveFile";
public final static String RECEIVE_META_METHOD = "filedistribution.receiveFileMeta";
public final static String RECEIVE_PART_METHOD = "filedistribution.receiveFilePart";
public final static String RECEIVE_EOF_METHOD = "filedistribution.receiveFileEof";
@@ -152,7 +151,7 @@ public class FileReceiver {
}
// Defined here so that it can be added to supervisor used by client (server will use same connection when calling
- // receiveFile after getting a serveFile method call). handler needs to implement receiveFile method
+ // receiveFile after getting a serveFile method call). handler needs to implement receiveFile* methods
private List<Method> receiveFileMethod(Object handler) {
List<Method> methods = new ArrayList<>();
methods.add(new Method(RECEIVE_META_METHOD, "sssl", "ii", handler,"receiveFileMeta")
@@ -175,41 +174,9 @@ public class FileReceiver {
.paramDesc(3, "error-code", "Error code. 0 if none")
.paramDesc(4, "error-description", "Error description.")
.returnDesc(0, "ret", "0 if success, 1 if crc mismatch, 2 otherwise"));
- // Temporary method until we have chunking
- methods.add(new Method(RECEIVE_METHOD, "sssxlis", "i", handler, "receiveFile")
- .methodDesc("receive file reference content")
- .paramDesc(0, "file reference", "file reference to download")
- .paramDesc(1, "filename", "filename")
- .paramDesc(2, "type", "'file' or 'compressed'")
- .paramDesc(3, "content", "array of bytes")
- .paramDesc(4, "hash", "xx64hash of the file content")
- .paramDesc(5, "errorcode", "Error code. 0 if none")
- .paramDesc(6, "error-description", "Error description.")
- .returnDesc(0, "ret", "0 if success, 1 otherwise"));
return methods;
}
- @SuppressWarnings({"UnusedDeclaration"})
- public final void receiveFile(Request req) {
- FileReference fileReference = new FileReference(req.parameters().get(0).asString());
- String filename = req.parameters().get(1).asString();
- String type = req.parameters().get(2).asString();
- byte[] content = req.parameters().get(3).asData();
- long xxhash = req.parameters().get(4).asInt64();
- int errorCode = req.parameters().get(5).asInt32();
- String errorDescription = req.parameters().get(6).asString();
-
- if (errorCode == 0) {
- log.log(LogLevel.DEBUG, "Receiving file reference '" + fileReference.value() + "'");
- receiveFile(new FileReferenceDataBlob(fileReference, filename, FileReferenceData.Type.valueOf(type), content, xxhash));
- req.returnValues().add(new Int32Value(0));
- } else {
- log.log(LogLevel.WARNING, "Receiving file reference '" + fileReference.value() + "' failed: " + errorDescription);
- req.returnValues().add(new Int32Value(1));
- // TODO: Add error description return value here too?
- }
- }
-
void receiveFile(FileReferenceData fileReferenceData) {
long xxHashFromContent = fileReferenceData.xxhash();
if (xxHashFromContent != fileReferenceData.xxhash()) {