Skip to content

Commit

Permalink
Merge pull request #477 from Particular/hotfix-4.1.1
Browse files Browse the repository at this point in the history
Hotfix 4.1.1
  • Loading branch information
boblangley authored Feb 4, 2019
2 parents b91e3fa + e406550 commit f354822
Show file tree
Hide file tree
Showing 13 changed files with 26 additions and 55 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="7.1.0" />
<PackageReference Include="NServiceBus.AcceptanceTests.Sources" Version="7.1.6" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NServiceBus" Version="7.1.1" />
<PackageReference Include="NServiceBus" Version="7.1.6" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NServiceBus" Version="7.1.1" />
<PackageReference Include="NServiceBus" Version="7.1.6" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NServiceBus.TransportTests.Sources" Version="7.1.0" />
<PackageReference Include="NServiceBus.TransportTests.Sources" Version="7.1.6" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
</ItemGroup>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="15.9.0" />
<PackageReference Include="NServiceBus" Version="7.1.1" />
<PackageReference Include="NServiceBus" Version="7.1.6" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.11.2" />
<PackageReference Include="Particular.Approvals" Version="0.2.0" />
Expand Down
2 changes: 2 additions & 0 deletions src/NServiceBus.SqlServer/Configuration/SettingsKeys.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,7 @@ class SettingsKeys

public const string SchemaPropertyKey = "Schema";
public const string CatalogPropertyKey = "Catalog";

public const string EnableMigrationMode = "NServiceBus.TimeoutManager.EnableMigrationMode";
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -43,17 +43,6 @@ static DispatchBehavior GetDueTime(UnicastTransportOperation operation)
{
return DispatchBehavior.Deferred(DateTime.UtcNow + delayDeliveryWith.Delay, operation.Destination);
}
var headers = operation.Message.Headers;
if (headers.TryGetValue(TimeoutManagerHeaders.Expire, out var expireString))
{
var expirationTime = DateTimeExtensions.ToUtcDateTime(expireString);
var destination = headers[TimeoutManagerHeaders.RouteExpiredTimeoutTo];

headers.Remove(TimeoutManagerHeaders.RouteExpiredTimeoutTo);
headers.Remove(TimeoutManagerHeaders.Expire);

return DispatchBehavior.Deferred(expirationTime, destination);
}
return DispatchBehavior.Immediately();
}

Expand Down Expand Up @@ -87,11 +76,5 @@ public static DispatchBehavior Deferred(DateTime dueTime, string destination)
};
}
}

static class TimeoutManagerHeaders
{
public const string Expire = "NServiceBus.Timeout.Expire";
public const string RouteExpiredTimeoutTo = "NServiceBus.Timeout.RouteExpiredTimeoutTo";
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,6 @@ static class DelayedDeliveryInfrastructure
{
public static StartupCheckResult CheckForInvalidSettings(SettingsHolder settings)
{
var externalTimeoutManagerAddress = settings.GetOrDefault<string>("NServiceBus.ExternalTimeoutManagerAddress") != null;
if (externalTimeoutManagerAddress)
{
return StartupCheckResult.Failed("An external timeout manager address cannot be configured because the timeout manager is not being used for delayed delivery.");
}
var sendOnlyEndpoint = settings.GetOrDefault<bool>("Endpoint.SendOnly");
if (sendOnlyEndpoint)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ public class DelayedDeliverySettings
{
internal string Suffix = "Delayed";
internal TimeSpan Interval = TimeSpan.FromSeconds(1);
internal bool TimeoutManagerDisabled;
internal bool EnableMigrationMode = true;
internal int MatureBatchSize = 100;

/// <summary>
Expand Down Expand Up @@ -39,7 +39,7 @@ public void BatchSize(int batchSize)
/// </summary>
public void DisableTimeoutManagerCompatibility()
{
TimeoutManagerDisabled = true;
EnableMigrationMode = false;
}

/// <summary>
Expand Down

This file was deleted.

2 changes: 1 addition & 1 deletion src/NServiceBus.SqlServer/NServiceBus.SqlServer.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
<PackageReference Include="Obsolete.Fody" Version="4.2.4" PrivateAssets="All" />
<PackageReference Include="Particular.CodeRules" Version="0.2.0" PrivateAssets="All" />
<PackageReference Include="Particular.Packaging" Version="0.2.1" PrivateAssets="All" />
<PackageReference Include="NServiceBus" Version="[7.0.0, 8.0.0)" />
<PackageReference Include="NServiceBus" Version="[7.1.6, 8.0.0)" />
<PackageReference Include="System.Data.SqlClient" Version="4.4.3" />
</ItemGroup>

Expand Down
19 changes: 12 additions & 7 deletions src/NServiceBus.SqlServer/SqlServerTransportInfrastructure.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,16 +22,21 @@ internal SqlServerTransportInfrastructure(QueueAddressTranslator addressTranslat

schemaAndCatalogSettings = settings.GetOrCreate<EndpointSchemaAndCatalogSettings>();
delayedDeliverySettings = settings.GetOrDefault<DelayedDeliverySettings>();
var timeoutManagerFeatureDisabled = settings.GetOrDefault<FeatureState>(typeof(TimeoutManager).FullName) == FeatureState.Disabled;
var timeoutManagerFeatureDisabled = !settings.IsFeatureEnabled(typeof(TimeoutManager));

diagnostics.Add("NServiceBus.Transport.SqlServer.TimeoutManager", new
{
FeatureEnabled = !timeoutManagerFeatureDisabled
});
if (delayedDeliverySettings != null && timeoutManagerFeatureDisabled)

if (delayedDeliverySettings != null)
{
delayedDeliverySettings.DisableTimeoutManagerCompatibility();
if (timeoutManagerFeatureDisabled)
{
delayedDeliverySettings.DisableTimeoutManagerCompatibility();
}

settings.Set(SettingsKeys.EnableMigrationMode, delayedDeliverySettings.EnableMigrationMode);
}
}

Expand All @@ -40,7 +45,7 @@ public override IEnumerable<Type> DeliveryConstraints
get
{
yield return typeof(DiscardIfNotReceivedBefore);
if (delayedDeliverySettings != null && delayedDeliverySettings.TimeoutManagerDisabled)
if (delayedDeliverySettings != null)
{
yield return typeof(DoNotDeliverBefore);
yield return typeof(DelayDeliveryWith);
Expand Down Expand Up @@ -281,7 +286,7 @@ public override Task Start()
delayedDeliverySettings.Suffix,
delayedDeliverySettings.Interval,
BatchSize = delayedDeliverySettings.MatureBatchSize,
TimoutManager = delayedDeliverySettings.TimeoutManagerDisabled ? "disabled" : "enabled"
TimoutManager = delayedDeliverySettings.EnableMigrationMode ? "enabled" : "disabled"
});

var delayedMessageTable = CreateDelayedMessageTable();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
using System.Threading.Tasks;
using System.Transactions;
using Configuration.AdvancedExtensibility;
using Features;
using Logging;

/// <summary>
Expand Down Expand Up @@ -160,7 +159,7 @@ public static TransportExtensions<SqlServerTransport> TransactionScopeOptions(th
Logger.Warn("TransactionScope should be only used with either the ReadCommited or the RepeatableRead isolation level.");
}

transportExtensions.GetSettings().Set<SqlScopeOptions>(new SqlScopeOptions(timeout, isolationLevel));
transportExtensions.GetSettings().Set(new SqlScopeOptions(timeout, isolationLevel));

return transportExtensions;
}
Expand All @@ -174,7 +173,7 @@ public static TransportExtensions<SqlServerTransport> WithPeekDelay(this Transpo
{
Guard.AgainstNull(nameof(transportExtensions), transportExtensions);

transportExtensions.GetSettings().Set<QueuePeekerOptions>(new QueuePeekerOptions(delay));
transportExtensions.GetSettings().Set(new QueuePeekerOptions(delay));
return transportExtensions;
}

Expand All @@ -188,9 +187,8 @@ public static DelayedDeliverySettings UseNativeDelayedDelivery(this TransportExt
{
throw new Exception("Native delayed delivery is only supported for endpoints capable of receiving messages.");
}
var settings = new DelayedDeliverySettings();
transportExtensions.GetSettings().Set<DelayedDeliverySettings>(settings);
transportExtensions.GetSettings().EnableFeatureByDefault<PreventRoutingMessagesToTimeoutManager>();

var settings = transportExtensions.GetSettings().GetOrCreate<DelayedDeliverySettings>();
return settings;
}

Expand Down

0 comments on commit f354822

Please sign in to comment.