aboutsummaryrefslogtreecommitdiffstats
path: root/vespaclient-core
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-10-29 19:52:13 +0100
committerGitHub <noreply@github.com>2018-10-29 19:52:13 +0100
commit27a98339d105f0ef7b3cd7397379e251115f8f60 (patch)
treedc809780a7fefd5ce92655c381852bbfc72e0880 /vespaclient-core
parent3caf9568a1c69b4ce79b4df6d9fcaeb313cd80d8 (diff)
Revert "Also obey the timeout."
Diffstat (limited to 'vespaclient-core')
-rw-r--r--vespaclient-core/src/main/java/com/yahoo/feedapi/Feeder.java7
-rwxr-xr-xvespaclient-core/src/main/java/com/yahoo/feedapi/SimpleFeedAccess.java1
-rwxr-xr-xvespaclient-core/src/main/java/com/yahoo/feedapi/SingleSender.java13
-rwxr-xr-xvespaclient-core/src/main/java/com/yahoo/feedapi/VespaFeedSender.java3
-rw-r--r--vespaclient-core/src/main/java/com/yahoo/feedhandler/ThreadedFeedAccess.java4
-rwxr-xr-xvespaclient-core/src/main/java/com/yahoo/feedhandler/VespaFeedHandler.java5
6 files changed, 10 insertions, 23 deletions
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/Feeder.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/Feeder.java
index a1440a1ff32..e354cba141d 100644
--- a/vespaclient-core/src/main/java/com/yahoo/feedapi/Feeder.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/Feeder.java
@@ -78,7 +78,7 @@ public abstract class Feeder {
return errors;
}
- while (!sender.isAborted() && !sender.hasTimedOut()) {
+ while (!sender.isAborted()) {
try {
VespaXMLFeedReader.Operation op = new VespaXMLFeedReader.Operation();
reader.read(op);
@@ -92,7 +92,10 @@ public abstract class Feeder {
} else {
sender.sendOperation(op);
}
- } catch (XMLStreamException | NullPointerException e) {
+ } catch (XMLStreamException e) {
+ addException(e);
+ break;
+ } catch (NullPointerException e) {
addException(e);
break;
} catch (Exception e) {
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/SimpleFeedAccess.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/SimpleFeedAccess.java
index c4fb9a1e04a..98609650432 100755
--- a/vespaclient-core/src/main/java/com/yahoo/feedapi/SimpleFeedAccess.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/SimpleFeedAccess.java
@@ -14,7 +14,6 @@ public interface SimpleFeedAccess {
void put(Document doc, TestAndSetCondition condition);
void remove(DocumentId docId, TestAndSetCondition condition);
void update(DocumentUpdate update, TestAndSetCondition condition);
- boolean hasTimedOut();
boolean isAborted();
void close();
}
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/SingleSender.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/SingleSender.java
index 6f9d539855e..e0e12b26ae6 100755
--- a/vespaclient-core/src/main/java/com/yahoo/feedapi/SingleSender.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/SingleSender.java
@@ -19,18 +19,16 @@ public class SingleSender implements SimpleFeedAccess {
private final SharedSender.ResultCallback owner;
private final SharedSender sender;
private final List<MessageProcessor> messageProcessors = new ArrayList<>();
- private final long timeofDoom;
private boolean blockingQueue;
- public SingleSender(SharedSender.ResultCallback owner, SharedSender sender, long timeoutMS, boolean blockingQueue) {
+ public SingleSender(SharedSender.ResultCallback owner, SharedSender sender, boolean blockingQueue) {
this.owner = owner;
this.sender = sender;
- timeofDoom = System.currentTimeMillis() + timeoutMS;
this.blockingQueue = blockingQueue;
}
- public SingleSender(SharedSender.ResultCallback owner, int timeoutMS, SharedSender sender) {
- this(owner, sender, timeoutMS, true);
+ public SingleSender(SharedSender.ResultCallback owner, SharedSender sender) {
+ this(owner, sender, true);
}
@Override
@@ -105,9 +103,4 @@ public class SingleSender implements SimpleFeedAccess {
@Override
public void close() { }
-
- @Override
- boolean hasTimedOut() {
- return System.currentTimeMillis() > timeofDoom;
- }
}
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedapi/VespaFeedSender.java b/vespaclient-core/src/main/java/com/yahoo/feedapi/VespaFeedSender.java
index a5042e91ef0..b441e81a829 100755
--- a/vespaclient-core/src/main/java/com/yahoo/feedapi/VespaFeedSender.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedapi/VespaFeedSender.java
@@ -17,9 +17,6 @@ public class VespaFeedSender {
public boolean isAborted() {
return sender.isAborted();
}
- boolean hasTimedOut() {
- return sender.hasTimedOut();
- }
public void sendOperation(VespaXMLFeedReader.Operation op) {
switch (op.getType()) {
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedhandler/ThreadedFeedAccess.java b/vespaclient-core/src/main/java/com/yahoo/feedhandler/ThreadedFeedAccess.java
index f09e9ae7662..3ad3e0b7f42 100644
--- a/vespaclient-core/src/main/java/com/yahoo/feedhandler/ThreadedFeedAccess.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedhandler/ThreadedFeedAccess.java
@@ -79,8 +79,4 @@ final class ThreadedFeedAccess implements SimpleFeedAccess {
executorService.shutdown();
}
}
- @Override
- public boolean hasTimedOut() {
- return simpleFeedAccess.hasTimedOut();
- }
}
diff --git a/vespaclient-core/src/main/java/com/yahoo/feedhandler/VespaFeedHandler.java b/vespaclient-core/src/main/java/com/yahoo/feedhandler/VespaFeedHandler.java
index 27904b5369c..4adfe3ebe1d 100755
--- a/vespaclient-core/src/main/java/com/yahoo/feedhandler/VespaFeedHandler.java
+++ b/vespaclient-core/src/main/java/com/yahoo/feedhandler/VespaFeedHandler.java
@@ -80,12 +80,10 @@ public final class VespaFeedHandler extends VespaFeedHandlerBase {
MessagePropertyProcessor.PropertySetter properties = getPropertyProcessor().buildPropertySetter(request);
- long millis = getTimeoutMillis(request);
-
String route = properties.getRoute().toString();
FeedResponse response = new FeedResponse(new RouteMetricSet(route, callback));
- SingleSender sender = new SingleSender(response, getSharedSender(route), millis, !asynchronous);
+ SingleSender sender = new SingleSender(response, getSharedSender(route), !asynchronous);
sender.addMessageProcessor(properties);
sender.addMessageProcessor(new DocprocMessageProcessor(getDocprocChain(request), getDocprocServiceRegistry(request)));
ThreadedFeedAccess feedAccess = new ThreadedFeedAccess(numThreads, sender);
@@ -108,6 +106,7 @@ public final class VespaFeedHandler extends VespaFeedHandlerBase {
if (asynchronous) {
return response;
}
+ long millis = getTimeoutMillis(request);
boolean completed = sender.waitForPending(millis);
if (!completed) {
response.addError(Error.TIMEOUT, "Timed out after " + millis + " ms waiting for responses");