Instead we should pass the needed settings in the transport seam.
This issue will start with surveying the use in downstreams in order to serve as input to a "transport seam vNext".
### SqlTransport
settings.GetOrDefault<FeatureState>(typeof(TimeoutManager).FullName) == FeatureState.Disabled;var delayedMessageProcessor = new DelayedMessageProcessor(dispatcher, settings.LocalAddress());var delayedQueueLogialAddress = settings.LogicalAddress().CreateQualifiedAddress(delayedDeliverySettings.Suffix);settings.GetOrCreate<EndpointInstances>().AddOrReplaceInstances("SqlServer", schemaAndCatalogSettings.ToEndpointInstances());var externalTimeoutManagerAddress = settings.GetOrDefault<string>("NServiceBus.ExternalTimeoutManagerAddress") != null;var sendOnlyEndpoint = settings.GetOrDefault<bool>("Endpoint.SendOnly");var errorQueueAddress = settings.ErrorQueueAddress();settings.GetOrDefault<bool>("Endpoint.SendOnly")settings.TryGetExplicitlyConfiguredErrorQueueAddress(out string _))var bindings = settings.Get<QueueBindings>()TBD
TBD
TBD
TBD
Needs to provide all relevant settings to mimic what the core does which is very error prone and brittle
@Particular/sqlserver-transport-maintainers can you double check that I got the section about your transport right?
@andreasohlund I have no context: what problem are we solving here?
We have many cases of transports ”pulling stuff out of settings” and that leads to bugs due to invalid assumptions, timing etc
In the future we want the core to pass relevant settings explicitly in the transport seam so that transports would only user ”settings” for their own transport specific dials and knobs.
This issue just captures the current lay of the land.
Does this make sense?
@andreasohlund I added two more findings for the SQL Server transport in the issue description.
Added
NSB Raw
Needs to provide all relevant settings to mimic what the core does which is very error prone and brittle
👍 but I think this needs to be raised on pdev.
Yea, will raise a more overarching issue in pdev soon
On Tue, 7 Nov 2017 at 10:42, Tim Bussmann notifications@github.com wrote:
👍 but I think this needs to be raised on pdev.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Particular/NServiceBus/issues/5044#issuecomment-342428339,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHoZBN--Ztuh1RSX5Csw2iasREnQfEoks5s0CYdgaJpZM4QCaBF
.
One category of items that will be common to a lot of transports is all of the stuff needed to make the timeout manager "hybrid" mode work for backcompat for native delays.
Adding support for that in core directly would eliminate a lot of stuff from the transports.
Most helpful comment
One category of items that will be common to a lot of transports is all of the stuff needed to make the timeout manager "hybrid" mode work for backcompat for native delays.
Adding support for that in core directly would eliminate a lot of stuff from the transports.