* Removing loop in Queue and fixing Python version test
* Updating the workflow files for 3.10 CI
* Updating Prod V4 info
* Enabling UTs to run for any Push
* Correcting the test skip for DI
* Updating readme.md for Python 3.10
* Skipping LC E2E tests for 3.10
* Bumping up EH version
* nit changes to use is_python_version and bumping up versions
* Resolving flake8 issues
* Setting up dev as V4 branch for PyWorker
* Installing Dotnet 6 for AzurePipelines and GH Actions
* Disabling SharedMem tests from Mac, and disabling shm when disabled.
* Logging stdout errors, and adding proc kill for lingering processes
* Updating extension version in csproj
* Enable SharedMemory for Tests
* Adding extensionBundle info to host.json template
* Adding extension.csproj file for correctly loading extensions.dll
* Tweaking csproj for e2e tests
* Reintroducing Trace Logging
* Adding some sleep time
* Solving the timestamp timezone awareness issue
* Fixing UTs and E2E tests, setup.py changes, and v4 pipeline changes
* Formatting and Typo changes
* Refactoring azure.pipelines.yml file.
Adding a page in the GitHub wiki under Developer Topics for Shared Memory architecture information. These images contain diagrams that will be referenced in the page.
* Enable dependency isolation by default for python 3.10
* Simplified condition to run unit test
Co-authored-by: Gavin Aguiar <gavin.aguiar@microsoft.com>
* Separate field in the message to close shared memory maps which indicate if the maps should be deleted or just the reference should be dropped
* Check for function data cache capability from host
* Update azure_functions_worker/bindings/meta.py
* Addressing comments for cleaning up shared memory usage checks in meta.py
* Skip paths resolution if in Integration Test CI
* Removed unused import
* Wrap test os.environ into a separate patch session
* Fix extension patching
* Fix an issue when isolating libraries when file not mounted
Adding namespace import scenarios
Ensure changes
Add unittests
Amend test cases
Fix an issue when customer defines a module with collided name
Fix test_paths_resolution
Fix case
* Squash commit
* Retry webhost resolution
* Reload linux consumption environment
* Add more logs in depenency
* Refactor prioritize_customers_dependencies
* Remove unnecessary if statements
* Fix linting
* Fix namespace packaging
* Revert "Fix namespace packaging"
This reverts commit 8cb98eeb74.
* Only fix namespace in Python 3.9
* Fix tab typo
* Fix naming
* Should fetch the data from variables
* Basic structure laid out for reading parameters from shared memory before passing to the function
* Writing output from worker to Shared Memory
* Put output from worker into Shared Memory
* Free shared memory resources after use
* Removed control flag from mmap header
* Proto change
* Working for blob shared memory data transfer; needs clean up, comments and tests
* Changing message for closing mmaps
* Support for string datatype for shared memory data transfer
* Change to oneof
* Use oneof in .proto
* Refactoring mmap_handler
* Refactoring, cleaning up and adding docstrings
* Updating CloseSharedMemoryResourcesResponse usage
* Fixing accidental changes to tests/*
* Addressing comments
* Basic structure laid out for reading parameters from shared memory before passing to the function
* Writing output from worker to Shared Memory
* Put output from worker into Shared Memory
* Free shared memory resources after use
* Removed control flag from mmap header
* Proto change
* Working for blob shared memory data transfer; needs clean up, comments and tests
* Changing message for closing mmaps
* Support for string datatype for shared memory data transfer
* Change to oneof
* Refactoring mmap_handler
* Refactoring, cleaning up and adding docstrings
* Updating CloseSharedMemoryResourcesResponse usage
* Fixing accidental changes to tests/*
* Addressing comments
* Cleaning up, addressing comments
* Following same class structure as the shared memory changes made for the host
* Moving shared memory data transfer related changes into separate directory
* Input error checks for shared memory map ctor
* Rebase fix
* Trying to make lint happy
* Making flake8 happy
* Fixing more lint issues
* Removing the use of __annotations__ to be compatible with Python 3.6, adding FileAccessor tests
* Added tests for FileAccessor, SharedMemoryMap, FileAccessorFactory
* Adding shared memory test setup for Unix
* Adding tests for SharedMemoryManager
* Adding tests to ensure the dispatcher can invoke the function and send/receive inputs over shared memory using a mock host
* More tests for worker/dispatcher's use of shared memory
* Using truncate instead of writing 0x00 byte manually upon creating mmap. More tests for multiple input/output blobs.
* Addressing comments
* Adding missing tests and doc strings for tests and their classes
* assertEqual -> assertTrue in test_dispose_without_delete_file
* Tried with blob trigger function - removed TODO
* Addressing comments
* Minor const fix
* Addressing comments
* Fixed test - removed unused test functions
* Addressing comments; caching list of valid directories for later use instead of checking every time
* Whitespace fix
* Cleanup
* Adding AppSetting to override shared memory directory for Unix - test setup for macOS
* Logging subprocess result in Exception
* Changed Exception -> IOError
* Check shared memory directory AppSetting only for Darwin tests
* Fix test cleanup for Darwin
* Only split AppSetting list of directories if the AppSetting was found
* Fix consts.UNIX_TEMP_DIRS
* Typo fix
* Adding throughput tests for blob input/output using shared memory
* Changing branch hardcode to instead use current branch
* Creating tests URL from current branch name
* Whitespace fixes
* Using tests from local dir
* Removing the need to use a URL for tests; just use from local directory
* Rename env variable to follow convention from host of using FUNCTIONS_
* Addressing comments
* Fixes for running tests on macOS
* Log which allowed directories for shared memory are being used
* Change assert -> raise
Co-authored-by: Hanzhang Zeng <48038149+Hazhzeng@users.noreply.github.com>