Skip to content

Commit 7891162

Browse files
committed
fix: exclude ABANDON protocol from master DB availability checks
1 parent ba8a4e6 commit 7891162

2 files changed

Lines changed: 14 additions & 11 deletions

File tree

app/ldap_protocol/ldap_requests/abandon.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
class AbandonRequest(BaseRequest):
1818
"""Abandon protocol."""
1919

20-
RESPONSE_TYPE: ClassVar[type] = type(None)
2120
CONTEXT_TYPE: ClassVar[type] = LDAPAbandonRequestContext
2221
PROTOCOL_OP: ClassVar[int] = ProtocolRequests.ABANDON
2322
message_id: int

app/ldap_protocol/ldap_requests/base.py

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -126,10 +126,11 @@ async def handle_tcp(
126126
responses.append(response)
127127
yield response
128128
except OperationalError:
129-
yield self.RESPONSE_TYPE(
130-
result_code=LDAPCodes.UNAVAILABLE,
131-
errorMessage="Master DB is not available",
132-
)
129+
if self.PROTOCOL_OP != ProtocolRequests.ABANDON:
130+
yield self.RESPONSE_TYPE(
131+
result_code=LDAPCodes.UNAVAILABLE,
132+
errorMessage="Master DB is not available",
133+
)
133134
return
134135

135136
if self.PROTOCOL_OP != ProtocolRequests.SEARCH:
@@ -185,12 +186,15 @@ async def _handle_api(
185186
try:
186187
responses = [response async for response in self.handle(ctx=ctx)]
187188
except OperationalError:
188-
responses = [
189-
self.RESPONSE_TYPE(
190-
result_code=LDAPCodes.UNAVAILABLE,
191-
errorMessage="Master DB is not available",
192-
),
193-
]
189+
if self.PROTOCOL_OP != ProtocolRequests.ABANDON:
190+
responses = [
191+
self.RESPONSE_TYPE(
192+
result_code=LDAPCodes.UNAVAILABLE,
193+
errorMessage="Master DB is not available",
194+
),
195+
]
196+
else:
197+
responses = []
194198

195199
if settings.DEBUG:
196200
for response in responses:

0 commit comments

Comments
 (0)