From 7c8c1159b822541923cadcb1c5b88974bfe21913 Mon Sep 17 00:00:00 2001 From: Varad Date: Wed, 12 Oct 2022 14:59:26 -0500 Subject: [PATCH 1/3] Fix flaky test and other nits --- .../queue_functions_stein/generic/function_app.py | 2 +- .../queue_functions/queue_trigger_message_return/function.json | 2 +- .../endtoend/queue_functions/queue_trigger_return/function.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/endtoend/queue_functions/queue_functions_stein/generic/function_app.py b/tests/endtoend/queue_functions/queue_functions_stein/generic/function_app.py index e7f738dcd..49d04fbfd 100644 --- a/tests/endtoend/queue_functions/queue_functions_stein/generic/function_app.py +++ b/tests/endtoend/queue_functions/queue_functions_stein/generic/function_app.py @@ -203,7 +203,7 @@ def queue_trigger_message_return(msg: func.QueueMessage) -> bytes: @app.function_name(name="queue_trigger_return") @app.generic_trigger(arg_name="msg", type="queueTrigger", - queue_name="testqueue-message-return", + queue_name="testqueue-return", connection="AzureWebJobsStorage") @app.generic_output_binding( arg_name="$return", diff --git a/tests/endtoend/queue_functions/queue_trigger_message_return/function.json b/tests/endtoend/queue_functions/queue_trigger_message_return/function.json index 8b852de67..9c9e5a03a 100644 --- a/tests/endtoend/queue_functions/queue_trigger_message_return/function.json +++ b/tests/endtoend/queue_functions/queue_trigger_message_return/function.json @@ -7,7 +7,7 @@ "direction": "in", "name": "msg", "queueName": "testqueue-message-return", - "connection": "AzureWebJobsStorage", + "connection": "AzureWebJobsStorage" }, { "type": "blob", diff --git a/tests/endtoend/queue_functions/queue_trigger_return/function.json b/tests/endtoend/queue_functions/queue_trigger_return/function.json index 5a030eb96..3604e0eb8 100644 --- a/tests/endtoend/queue_functions/queue_trigger_return/function.json +++ b/tests/endtoend/queue_functions/queue_trigger_return/function.json @@ -7,7 +7,7 @@ "direction": "in", "name": "msg", "queueName": "testqueue-return", - "connection": "AzureWebJobsStorage", + "connection": "AzureWebJobsStorage" }, { "type": "blob", From a4abb0ba690d308504f9157953824cdf5ed4dbf8 Mon Sep 17 00:00:00 2001 From: Varad Date: Wed, 12 Oct 2022 15:34:26 -0500 Subject: [PATCH 2/3] Removing retries to see its effect --- tests/endtoend/test_queue_functions.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/tests/endtoend/test_queue_functions.py b/tests/endtoend/test_queue_functions.py index e67308d3e..ae07ef6ec 100644 --- a/tests/endtoend/test_queue_functions.py +++ b/tests/endtoend/test_queue_functions.py @@ -11,7 +11,6 @@ class TestQueueFunctions(testutils.WebHostTestCase): def get_script_dir(cls): return testutils.E2E_TESTS_FOLDER / 'queue_functions' - @testutils.retryable_test(3, 5) def test_queue_basic(self): r = self.webhost.request('POST', 'put_queue', data='test-message') @@ -33,7 +32,6 @@ def test_queue_basic(self): 'time_next_visible', 'pop_receipt', 'dequeue_count'}: self.assertIsNotNone(msg.get(attr)) - @testutils.retryable_test(3, 5) def test_queue_return(self): r = self.webhost.request('POST', 'put_queue_return', data='test-message-return') @@ -46,7 +44,6 @@ def test_queue_return(self): self.assertEqual(r.status_code, 200) self.assertEqual(r.text, 'test-message-return') - @testutils.retryable_test(3, 5) def test_queue_message_object_return(self): r = self.webhost.request('POST', 'put_queue_message_return', data='test-message-object-return') @@ -59,7 +56,6 @@ def test_queue_message_object_return(self): self.assertEqual(r.status_code, 200) self.assertEqual(r.text, 'test-message-object-return') - @testutils.retryable_test(3, 5) def test_queue_untyped_return(self): r = self.webhost.request('POST', 'put_queue_untyped_return', data='test-untyped-return') @@ -72,7 +68,6 @@ def test_queue_untyped_return(self): self.assertEqual(r.status_code, 200) self.assertEqual(r.text, 'test-untyped-return') - @testutils.retryable_test(3, 5) def test_queue_return_multiple(self): r = self.webhost.request('POST', 'put_queue_return_multiple', data='foo') @@ -83,7 +78,6 @@ def test_queue_return_multiple(self): # wait for queue_trigger to process the queue item time.sleep(1) - @testutils.retryable_test(3, 5) def test_queue_return_multiple_outparam(self): r = self.webhost.request('POST', 'put_queue_multiple_out', data='foo') From 2c04337f902036293ded7509daf6dc7d841308ba Mon Sep 17 00:00:00 2001 From: Varad Date: Sun, 16 Oct 2022 11:02:03 -0500 Subject: [PATCH 3/3] Refactoring small changes within dispatcher --- azure_functions_worker/dispatcher.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/azure_functions_worker/dispatcher.py b/azure_functions_worker/dispatcher.py index 362c4e3a4..26dff96df 100644 --- a/azure_functions_worker/dispatcher.py +++ b/azure_functions_worker/dispatcher.py @@ -112,7 +112,7 @@ async def connect(cls, host: str, port: int, worker_id: str, logger.info('Successfully opened gRPC channel to %s:%s ', host, port) return disp - async def dispatch_forever(self): + async def dispatch_forever(self): # sourcery skip: swap-if-expression if DispatcherMeta.__current_dispatcher__ is not None: raise RuntimeError('there can be only one running dispatcher per ' 'process') @@ -312,10 +312,11 @@ async def _handle__functions_metadata_request(self, request): status=protos.StatusResult.Success))) try: - fx_metadata_results = [] indexed_functions = loader.index_function_app(function_path) logger.info('Indexed function app and found %s functions', len(indexed_functions)) + + fx_metadata_results = [] if indexed_functions: indexed_function_logs: List[str] = [] for func in indexed_functions: @@ -596,8 +597,7 @@ async def _handle__close_shared_memory_resources_request(self, request): try: for map_name in map_names: try: - to_delete_resources = \ - False if self._function_data_cache_enabled else True + to_delete_resources = not self._function_data_cache_enabled success = self._shmem_mgr.free_mem_map(map_name, to_delete_resources) results[map_name] = success