aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-10-06 06:59:38 +0200
committerGitHub <noreply@github.com>2021-10-06 06:59:38 +0200
commit86e782da93c62933f9ab1e592f7ed6459f083963 (patch)
tree877d3f94ffc6ed3130d38ec0e77c693a94649d87
parenta27152601be60b1097415268e8eaa453b5d5c3f0 (diff)
parentb8941366a4540297e3bc725737b36f939d2750a9 (diff)
Merge pull request #19428 from vespa-engine/balder/attach-contextv7.479.3
Balder/attach context
-rw-r--r--container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java2
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java2
-rw-r--r--container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java11
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java4
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java11
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/Request.java2
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java4
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java5
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java5
-rw-r--r--jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java2
10 files changed, 37 insertions, 11 deletions
diff --git a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java
index 446ee90c205..ea686b7b956 100644
--- a/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/container/jdisc/ThreadedRequestHandler.java
@@ -174,7 +174,7 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler {
RequestTask(Request request, BufferedContentChannel content, ResponseHandler responseHandler) {
this.request = request;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
this.content = content;
this.responseHandler = responseHandler;
}
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java
index 57fb32f89f0..5ee4434fd84 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/FormPostRequestHandler.java
@@ -72,7 +72,7 @@ class FormPostRequestHandler extends AbstractRequestHandler implements ContentCh
this.contentCharset = getCharsetByName(contentCharsetName);
this.responseHandler = responseHandler;
this.request = (HttpRequest) request;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
return this;
}
diff --git a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java
index 71cca62ce9c..00f8fa5140a 100644
--- a/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java
+++ b/container-core/src/main/java/com/yahoo/jdisc/http/server/jetty/ReferenceCountingRequestHandler.java
@@ -71,6 +71,11 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler {
}
@Override
+ public ResourceReference refer(Object context) {
+ return delegate.refer(context);
+ }
+
+ @Override
public void release() {
delegate.release();
}
@@ -97,7 +102,7 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler {
Objects.requireNonNull(delegate, "delegate");
this.request = request;
this.delegate = delegate;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override
@@ -143,7 +148,7 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler {
Objects.requireNonNull(delegate, "delegate");
this.request = request;
this.delegate = delegate;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override
@@ -200,7 +205,7 @@ class ReferenceCountingRequestHandler implements DelegatedRequestHandler {
public ReferenceCountingCompletionHandler(SharedResource request, CompletionHandler delegate) {
this.delegate = delegate;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java b/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java
index 7f4fe96d769..214840aab63 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/NoopSharedResource.java
@@ -12,6 +12,10 @@ public class NoopSharedResource implements SharedResource {
public final ResourceReference refer() {
return References.NOOP_REFERENCE;
}
+ @Override
+ public final ResourceReference refer(Object context) {
+ return References.NOOP_REFERENCE;
+ }
@Override
public final void release() {
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java b/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java
index 6e385535e40..4e9e45f2f6e 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/ProxyRequestHandler.java
@@ -63,6 +63,11 @@ class ProxyRequestHandler implements DelegatedRequestHandler {
}
@Override
+ public ResourceReference refer(Object context) {
+ return delegate.refer(context);
+ }
+
+ @Override
public void release() {
delegate.release();
}
@@ -89,7 +94,7 @@ class ProxyRequestHandler implements DelegatedRequestHandler {
Objects.requireNonNull(delegate, "delegate");
this.request = request;
this.delegate = delegate;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override
@@ -121,7 +126,7 @@ class ProxyRequestHandler implements DelegatedRequestHandler {
Objects.requireNonNull(delegate, "delegate");
this.request = request;
this.delegate = delegate;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override
@@ -169,7 +174,7 @@ class ProxyRequestHandler implements DelegatedRequestHandler {
public ProxyCompletionHandler(SharedResource request, CompletionHandler delegate) {
this.delegate = delegate;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java b/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java
index eeb787e59dd..a6e6e734e6f 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/Request.java
@@ -121,7 +121,7 @@ public class Request extends AbstractResource {
creationTime = parent.container().currentTimeMillis();
serverRequest = false;
setUri(uri);
- parentReference = this.parent.refer();
+ parentReference = this.parent.refer(this);
}
/** Returns the {@link Container} for which this Request was created */
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java b/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java
index dee0f8ee410..70bfec36a26 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/SharedResource.java
@@ -52,7 +52,9 @@ public interface SharedResource {
*
* @see ResourceReference#close()
*/
- ResourceReference refer();
+ default ResourceReference refer() {
+ return refer(null);
+ }
/**
* <p>Creates a reference to this resource. You call this method to prevent an object from being
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java
index becfa94e71f..33bec0ec6dc 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/ContainerSnapshot.java
@@ -101,6 +101,11 @@ class ContainerSnapshot extends AbstractResource implements Container {
}
@Override
+ public ResourceReference refer(Object context) {
+ return delegate.refer(context);
+ }
+
+ @Override
public void release() {
delegate.release();
}
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java b/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java
index a6d6e32df06..33ed23c9eee 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/core/TimeoutManagerImpl.java
@@ -145,6 +145,11 @@ public class TimeoutManagerImpl {
}
@Override
+ public ResourceReference refer(Object context) {
+ return delegate.refer(context);
+ }
+
+ @Override
public void release() {
delegate.release();
}
diff --git a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java
index 6e2895f118b..97e68c72658 100644
--- a/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java
+++ b/jdisc_core/src/main/java/com/yahoo/jdisc/handler/ThreadedRequestHandler.java
@@ -150,7 +150,7 @@ public abstract class ThreadedRequestHandler extends AbstractRequestHandler {
this.request = request;
this.content = content;
this.responseHandler = responseHandler;
- this.requestReference = request.refer();
+ this.requestReference = request.refer(this);
}
@Override