You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When excluding a larger set of assemblies the assembly scanner scanning algorithm efforts to try to check the assemblies excluded exponentially grows which leads to significantly longer than necessary endpoint creation times.
Expected behavior
While it is expected that the longer the exclusion list is the more time might be required to check the scanned assemblies against the exclusion list it is still surprising to see an exponential growth in exclusion checks.
Actual behavior
Then endpoint creation time is significantly slower than expected.
Versions
All supported versions of NServiceBus
Steps to reproduce
Create an endpoint with a few assemblies to scan and observe relatively fast assembly scanning and thus endpoint creation time.
Add a larger exclusion list with assembly names that do not necessarily match the scanned assemblies and observe how the assembly scanning and thus endpoint creation time get orders of magnitude longer.
danielmarbach
changed the title
AssemblyScanning exclusion list matching inefficiency slows down scanning significantly
AssemblyScanning exclusion list matching inefficiency slows down the endpoint creation significantly
Aug 30, 2023
danielmarbach
changed the title
AssemblyScanning exclusion list matching inefficiency slows down the endpoint creation significantly
AssemblyScanning exclusion list slows down the endpoint startup
Sep 1, 2023
Describe the bug
Description
When excluding a larger set of assemblies the assembly scanner scanning algorithm efforts to try to check the assemblies excluded exponentially grows which leads to significantly longer than necessary endpoint creation times.
Expected behavior
While it is expected that the longer the exclusion list is the more time might be required to check the scanned assemblies against the exclusion list it is still surprising to see an exponential growth in exclusion checks.
Actual behavior
Then endpoint creation time is significantly slower than expected.
Versions
All supported versions of NServiceBus
Steps to reproduce
Create an endpoint with a few assemblies to scan and observe relatively fast assembly scanning and thus endpoint creation time.
Add a larger exclusion list with assembly names that do not necessarily match the scanned assemblies and observe how the assembly scanning and thus endpoint creation time get orders of magnitude longer.
Relevant log output
No response
Additional Information
Workarounds
Possible solutions
Additional information
Backported to
The text was updated successfully, but these errors were encountered: