Skip to content

Commit ed733ea

Browse files
committed
Fixing interceptor issue
Signed-off-by: Ryan Lettieri <[email protected]>
1 parent ec4617c commit ed733ea

File tree

5 files changed

+15
-6
lines changed

5 files changed

+15
-6
lines changed

durabletask/client.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ def __init__(self, *,
104104
# Determine the interceptors to use
105105
if interceptors is not None:
106106
self._interceptors = interceptors
107+
if metadata:
108+
self._interceptors.append(DefaultClientInterceptorImpl(metadata))
107109
elif metadata:
108110
self._interceptors = [DefaultClientInterceptorImpl(metadata)]
109111
else:

durabletask/internal/shared.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import logging
77
from types import SimpleNamespace
88
from typing import Any, Optional
9+
from durabletask.internal.grpc_interceptor import DefaultClientInterceptorImpl
910

1011
import grpc
1112

@@ -25,7 +26,7 @@ def get_grpc_channel(
2526
host_address: Optional[str],
2627
metadata: Optional[list[tuple[str, str]]] = None,
2728
secure_channel: bool = False,
28-
interceptors: Optional[list] = None) -> grpc.Channel:
29+
interceptors: Optional[list[DefaultClientInterceptorImpl]] = None) -> grpc.Channel:
2930

3031
if host_address is None:
3132
host_address = get_default_host_address()

durabletask/worker.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@ def __init__(self, *,
103103
# Determine the interceptors to use
104104
if interceptors is not None:
105105
self._interceptors = interceptors
106+
if metadata:
107+
self._interceptors.append(DefaultClientInterceptorImpl(metadata))
106108
elif self._metadata:
107109
self._interceptors = [DefaultClientInterceptorImpl(self._metadata)]
108110
else:

externalpackages/durabletaskscheduler/durabletask_scheduler_client.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class DurableTaskSchedulerClient(TaskHubGrpcClient):
1111
def __init__(self,
1212
host_address: str,
1313
secure_channel: bool,
14-
metadata: Optional[list[tuple[str, str]]] = [],
14+
metadata: Optional[list[tuple[str, str]]] = None,
1515
use_managed_identity: Optional[bool] = False,
1616
client_id: Optional[str] = None,
1717
taskhub: str = None,
@@ -29,13 +29,15 @@ def __init__(self,
2929

3030
self._access_token_manager = AccessTokenManager(metadata=self._metadata)
3131
self.__update_metadata_with_token()
32-
interceptors = [DTSDefaultClientInterceptorImpl(self._metadata)]
32+
self._interceptors = [DTSDefaultClientInterceptorImpl(self._metadata)]
3333

34+
# We pass in None for the metadata so we don't construct an additional interceptor in the parent class
35+
# Since the parent class doesn't use anything metadata for anything else, we can set it as None
3436
super().__init__(
3537
host_address=host_address,
3638
secure_channel=secure_channel,
37-
metadata=self._metadata,
38-
interceptors=interceptors, # Now explicitly passing interceptors
39+
metadata=None,
40+
interceptors=self._interceptors,
3941
**kwargs
4042
)
4143

externalpackages/durabletaskscheduler/durabletask_scheduler_worker.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,10 +31,12 @@ def __init__(self,
3131
self.__update_metadata_with_token()
3232
interceptors = [DTSDefaultClientInterceptorImpl(self._metadata)]
3333

34+
# We pass in None for the metadata so we don't construct an additional interceptor in the parent class
35+
# Since the parent class doesn't use anything metadata for anything else, we can set it as None
3436
super().__init__(
3537
host_address=host_address,
3638
secure_channel=secure_channel,
37-
metadata=self._metadata,
39+
metadata=None,
3840
interceptors=interceptors,
3941
**kwargs
4042
)

0 commit comments

Comments
 (0)