Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -62,19 +62,6 @@ public override async Task ExecuteAsync(InstanceDetailsViewModel model)
upgradeOptions.OverrideEnableErrorForwarding = !result.Value;
}

//Grab old setting if it exists
if (!instance.AppConfig.AppSettingExists(ServiceControlSettings.AuditRetentionPeriod.Name))
{
if (instance.AppConfig.AppSettingExists(ServiceControlSettings.HoursToKeepMessagesBeforeExpiring.Name))
{
var i = instance.AppConfig.Read(ServiceControlSettings.HoursToKeepMessagesBeforeExpiring.Name, -1);
if (i != -1)
{
upgradeOptions.AuditRetentionPeriod = TimeSpan.FromHours(i);
}
}
}

if (!instance.AppConfig.AppSettingExists(ServiceControlSettings.ErrorRetentionPeriod.Name))
{
var viewModel = new SliderDialogViewModel("INPUT REQUIRED - DATABASE RETENTION",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,8 +44,6 @@ public class PsServiceControl

public bool ForwardAuditMessages { get; set; }

public TimeSpan? AuditRetentionPeriod { get; set; }

public string ServiceAccount { get; set; }

public SemanticVersion Version { get; set; }
Expand Down Expand Up @@ -77,7 +75,6 @@ public static PsServiceControl FromInstance(ServiceControlInstance instance)
AuditQueue = instance.AuditQueue,
AuditLogQueue = instance.ForwardAuditMessages ? instance.AuditLogQueue : null,
ForwardAuditMessages = instance.ForwardAuditMessages,
AuditRetentionPeriod = instance.AuditRetentionPeriod,
ErrorRetentionPeriod = instance.ErrorRetentionPeriod,
EnableFullTextSearchOnBodies = instance.EnableFullTextSearchOnBodies,
RemoteInstances = instance.RemoteInstances.Select<RemoteInstanceSetting, object>(i =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1485,16 +1485,6 @@
<command:syntax>
<command:syntaxItem>
<maml:name>Invoke-ServiceControlInstanceUpgrade</maml:name>
<command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
<maml:name>AuditRetentionPeriod</maml:name>
<maml:description>
<maml:para>
AuditRetentionPeriod controls how long ServiceControl retains messages ingested from the Audit queue in the database. The value must be a TimeSpan within the range 1 hour to 365 days.
Use the New-TimeSpan cmdlet to generate a TimeSpan value.
</maml:para>
</maml:description>
<command:parameterValue required="true" variableLength="true">Nullable`1[TimeSpan]</command:parameterValue>
</command:parameter>
<command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
<maml:name>ErrorRetentionPeriod</maml:name>
<maml:description>
Expand Down Expand Up @@ -1536,21 +1526,6 @@
</command:syntaxItem>
</command:syntax>
<command:parameters>
<command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
<maml:name>AuditRetentionPeriod</maml:name>
<maml:description>
<maml:para>
AuditRetentionPeriod controls how long ServiceControl retains messages ingested from the Audit queue in the database. The value must be a TimeSpan within the range 1 hour to 365 days.
Use the New-TimeSpan cmdlet to generate a TimeSpan value.
</maml:para>
</maml:description>
<command:parameterValue required="true" variableLength="true">Nullable`1[TimeSpan]</command:parameterValue>
<dev:type>
<maml:name>Nullable`1[TimeSpan]</maml:name>
<maml:uri/>
</dev:type>
<dev:defaultValue></dev:defaultValue>
</command:parameter>
<command:parameter required="false" variableLength="true" globbing="false" pipelineInput="false" position="named">
<maml:name>ErrorRetentionPeriod</maml:name>
<maml:description>
Expand Down Expand Up @@ -2934,21 +2909,6 @@
</dev:type>
<dev:defaultValue></dev:defaultValue>
</command:parameter>
<command:parameter required="true" variableLength="false" globbing="false" pipelineInput="false" position="named">
<maml:name>AuditRetentionPeriod</maml:name>
<maml:description>
<maml:para>
AuditRetention Period controls how long ServiceControl retains messages ingested from the Audit queue in the database. The value must be a TimeSpan within the range 1 hour to 365 days.
Use the New-TimeSpan cmdlet to generate a TimeSpan value.
</maml:para>
</maml:description>
<command:parameterValue required="true" variableLength="false">timespan</command:parameterValue>
<dev:type>
<maml:name>timespan</maml:name>
<maml:uri/>
</dev:type>
<dev:defaultValue></dev:defaultValue>
</command:parameter>
<command:parameter required="false" variableLength="false" globbing="false" pipelineInput="false" position="named">
<maml:name>EnableIntegratedServicePulse</maml:name>
<maml:description>
Expand Down Expand Up @@ -3003,7 +2963,6 @@
<maml:paragraph>PS C:\&gt;</maml:paragraph>
</maml:introduction>
<dev:code>
$AuditRetention = New-TimeSpan -Days 30
$ErrorRetention = New-TimeSpan -Days 30

New-ServiceControlInstance -Name &apos;ServiceControlTest&apos; `
Expand All @@ -3015,7 +2974,6 @@
-ErrorQueue error `
-Transport MSMQ `
-DisplayName &apos;ServiceControl Test&apos; `
-AuditRetentionPeriod $AuditRetention `
-ErrorRetentionPeriod $ErrorRetention `
-ForwardErrorMessages:$false `
-EnableIntegratedServicePulse
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ namespace ServiceControl.Persistence.RavenDB
class RavenPersistenceConfiguration : PersistenceConfiguration, IPersistenceConfiguration
{
public const string DataSpaceRemainingThresholdKey = "DataSpaceRemainingThreshold";
const string AuditRetentionPeriodKey = "AuditRetentionPeriod";
const string ErrorRetentionPeriodKey = "ErrorRetentionPeriod";
const string EventsRetentionPeriodKey = "EventsRetentionPeriod";
const string ExternalIntegrationsDispatchingBatchSizeKey = "ExternalIntegrationsDispatchingBatchSize";
Expand All @@ -39,7 +38,6 @@ public PersistenceSettings CreateSettings(SettingsRootNamespace settingsRootName
DataSpaceRemainingThreshold = SettingsReader.Read(settingsRootNamespace, DataSpaceRemainingThresholdKey, CheckFreeDiskSpace.DataSpaceRemainingThresholdDefault),
ErrorRetentionPeriod = GetRequiredSetting<TimeSpan>(settingsRootNamespace, ErrorRetentionPeriodKey),
EventsRetentionPeriod = SettingsReader.Read(settingsRootNamespace, EventsRetentionPeriodKey, TimeSpan.FromDays(14)),
AuditRetentionPeriod = SettingsReader.Read(settingsRootNamespace, AuditRetentionPeriodKey, TimeSpan.Zero),
ExternalIntegrationsDispatchingBatchSize = ReadExternalIntegrationsDispatchingBatchSize(settingsRootNamespace),
QueryTimeout = QueryTimeLimit.Read(settingsRootNamespace, LoggerUtil.CreateStaticLogger<RavenPersistenceConfiguration>()),
MaintenanceMode = SettingsReader.Read(settingsRootNamespace, MaintenanceModeKey, false),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ class RavenPersisterSettings : PersistenceSettings, IRavenClientCertificateInfo
public int DataSpaceRemainingThreshold { get; set; } = CheckFreeDiskSpace.DataSpaceRemainingThresholdDefault;
public TimeSpan ErrorRetentionPeriod { get; set; }
public TimeSpan EventsRetentionPeriod { get; set; }
public TimeSpan? AuditRetentionPeriod { get; set; }
public int ExternalIntegrationsDispatchingBatchSize { get; set; } = ExternalIntegrationsDispatchingBatchSizeDefault;

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ public async Task Setup(IHostApplicationBuilder hostBuilder)

PersistenceSettings = new RavenPersisterSettings
{
AuditRetentionPeriod = retentionPeriod,
ErrorRetentionPeriod = retentionPeriod,
EventsRetentionPeriod = retentionPeriod,
DatabaseName = databaseName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,6 @@
"IngestErrorMessages": true,
"RunRetryProcessor": true,
"ErrorIngestionOnly": false,
"AuditRetentionPeriod": null,
"ErrorRetentionPeriod": "10.00:00:00",
"EventsRetentionPeriod": "14.00:00:00",
"InstanceName": "Particular.ServiceControl",
Expand Down
1 change: 0 additions & 1 deletion src/ServiceControl/HostApplicationBuilderExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -197,7 +197,6 @@ static void RecordStartup(Settings settings, EndpointConfiguration endpointConfi
var startupMessage = $@"
-------------------------------------------------------------
ServiceControl Version: {version}
Audit Retention Period (optional): {settings.AuditRetentionPeriod}
Error Retention Period: {settings.ErrorRetentionPeriod}
Ingest Error Messages: {settings.IngestErrorMessages}
Error Ingestion Only: {settings.ErrorIngestionOnly}
Expand Down
1 change: 0 additions & 1 deletion src/ServiceControl/Infrastructure/Api/ConfigurationApi.cs
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,6 @@ public Task<object> GetConfig(CancellationToken cancellationToken = default)
},
DataRetention = new
{
settings.AuditRetentionPeriod,
settings.ErrorRetentionPeriod
},
PerformanceTunning = new
Expand Down
38 changes: 0 additions & 38 deletions src/ServiceControl/Infrastructure/Settings/Settings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ public Settings(
TransportConnectionString = GetConnectionString();
TransportType = transportType ?? SettingsReader.Read<string>(SettingsRootNamespace, "TransportType");
PersistenceType = persisterType ?? SettingsReader.Read<string>(SettingsRootNamespace, "PersistenceType");
AuditRetentionPeriod = GetAuditRetentionPeriod();
ForwardErrorMessages = forwardErrorMessages ?? GetForwardErrorMessages();
ErrorRetentionPeriod = errorRetentionPeriod ?? GetErrorRetentionPeriod();
EventsRetentionPeriod = GetEventRetentionPeriod();
Expand Down Expand Up @@ -196,8 +195,6 @@ public string InstanceId
// Set by the --error-ingestion-only command, never read from configuration.
public bool ErrorIngestionOnly { get; set; }

public TimeSpan? AuditRetentionPeriod { get; set; }

public TimeSpan ErrorRetentionPeriod { get; }

public TimeSpan EventsRetentionPeriod { get; }
Expand Down Expand Up @@ -342,41 +339,6 @@ TimeSpan GetErrorRetentionPeriod()
return result;
}

TimeSpan? GetAuditRetentionPeriod()
{
string message;
var valueRead = SettingsReader.Read<string>(SettingsRootNamespace, "AuditRetentionPeriod");
if (valueRead == null)
{
return null;
}

if (TimeSpan.TryParse(valueRead, out var result))
{
if (ValidateConfiguration && result < TimeSpan.FromHours(1))
{
message = "AuditRetentionPeriod settings is invalid, value should be minimum 1 hour.";
InternalLogger.Fatal(message);
throw new Exception(message);
}

if (ValidateConfiguration && result > TimeSpan.FromDays(365))
{
message = "AuditRetentionPeriod settings is invalid, value should be maximum 365 days.";
InternalLogger.Fatal(message);
throw new Exception(message);
}
}
else
{
message = "AuditRetentionPeriod settings is invalid, please make sure it is a TimeSpan.";
InternalLogger.Fatal(message);
throw new Exception(message);
}

return result;
}

TimeSpan GetHeartbeatGracePeriod()
{
try
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ public void UpgradeInstance()
{
installer.Upgrade(instance, new ServiceControlUpgradeOptions
{
AuditRetentionPeriod = TimeSpan.FromDays(30),
ErrorRetentionPeriod = TimeSpan.FromDays(15),
OverrideEnableErrorForwarding = true
});
Expand Down Expand Up @@ -63,7 +62,6 @@ public async Task CreateInstanceMSMQ()
details.AuditQueue = "audittest";
details.ForwardAuditMessages = false;
details.ForwardErrorMessages = false;
details.AuditRetentionPeriod = TimeSpan.FromDays(SettingConstants.AuditRetentionPeriodDefaultInDaysForUI);
details.ErrorRetentionPeriod = TimeSpan.FromDays(SettingConstants.ErrorRetentionPeriodDefaultInDaysForUI);
details.ErrorQueue = "testerror";
details.TransportPackage = ServiceControlCoreTransports.Find("MSMQ");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,6 @@ class FakeServiceControlInstance : IServiceControlInstance

public TimeSpan ErrorRetentionPeriod { get; set; }

public TimeSpan? AuditRetentionPeriod { get; set; }

public List<RemoteInstanceSetting> RemoteInstances { get; set; }

public bool EnableFullTextSearchOnBodies { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ protected override void UpdateSettings()
settings.Set(ServiceControlSettings.PersistenceType, details.PersistenceManifest.Name); // TODO: Why is it set here AND at ServiceControlInstance.ApplySettingsChanges 🤬
settings.Set(ServiceControlSettings.ErrorQueue, details.ErrorQueue);
settings.Set(ServiceControlSettings.ErrorLogQueue, details.ForwardErrorMessages ? details.ErrorLogQueue : null);
settings.Set(ServiceControlSettings.AuditRetentionPeriod, details.AuditRetentionPeriod.ToString(), version);
settings.Set(ServiceControlSettings.ErrorRetentionPeriod, details.ErrorRetentionPeriod.ToString(), version);
settings.Set(ServiceControlSettings.EnableFullTextSearchOnBodies, details.EnableFullTextSearchOnBodies.ToString(), version);
settings.Set(ServiceControlSettings.RemoteInstances, RemoteInstanceConverter.ToJson(details.RemoteInstances), version);
Expand All @@ -47,6 +46,7 @@ protected override void UpdateSettings()
settings.Set(ServiceControlSettings.ShutdownTimeout, "00:02:00", version);

// Retired settings
settings.RemoveIfRetired(ServiceControlSettings.AuditRetentionPeriod, version);
settings.RemoveIfRetired(ServiceControlSettings.AuditQueue, version);
settings.RemoveIfRetired(ServiceControlSettings.AuditLogQueue, version);
settings.RemoveIfRetired(ServiceControlSettings.ForwardAuditMessages, version);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,8 @@ public static class ServiceControlSettings
public static SettingInfo AuditRetentionPeriod = new()
{
Name = "ServiceControl/AuditRetentionPeriod",
SupportedFrom = new SemanticVersion(1, 12, 1)
SupportedFrom = new SemanticVersion(1, 12, 1),
RemovedFrom = new SemanticVersion(7, 0, 0)
};

public static SettingInfo ErrorRetentionPeriod = new()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,8 +48,6 @@ public ServiceControlInstance(IWindowsServiceController service) : base(service)

protected override string BaseServiceName => "ServiceControl";

public TimeSpan? AuditRetentionPeriod { get; set; }

public List<RemoteInstanceSetting> RemoteInstances { get; set; } = [];

public PersistenceManifest PersistenceManifest { get; set; }
Expand Down Expand Up @@ -173,11 +171,6 @@ public override void Reload()
ErrorRetentionPeriod = errorRetentionPeriod;
}

if (TimeSpan.TryParse(AppConfig.Read(ServiceControlSettings.AuditRetentionPeriod, (string)null), out var auditRetentionPeriod))
{
AuditRetentionPeriod = auditRetentionPeriod;
}

var remoteInstancesString = AppConfig.Read(ServiceControlSettings.RemoteInstances, default(string));
if (!string.IsNullOrWhiteSpace(remoteInstancesString))
{
Expand Down Expand Up @@ -205,9 +198,9 @@ protected override void ApplySettingsChanges(KeyValueConfigurationCollection set
settings.Set(ServiceControlSettings.LogPath, LogPath);
settings.Set(ServiceControlSettings.ForwardAuditMessages, ForwardAuditMessages.ToString(), Version);
settings.Set(ServiceControlSettings.ForwardErrorMessages, ForwardErrorMessages.ToString(), Version);
settings.Set(ServiceControlSettings.AuditRetentionPeriod, AuditRetentionPeriod.ToString(), Version);
settings.Set(ServiceControlSettings.ErrorRetentionPeriod, ErrorRetentionPeriod.ToString(), Version);
settings.RemoveIfRetired(ServiceControlSettings.HoursToKeepMessagesBeforeExpiring, Version);
settings.RemoveIfRetired(ServiceControlSettings.AuditRetentionPeriod, Version);
settings.Set(ServiceControlSettings.AuditQueue, AuditQueue, Version);
settings.Set(ServiceControlSettings.ErrorQueue, ErrorQueue);
settings.Set(ServiceControlSettings.AuditLogQueue, AuditLogQueue, Version);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,6 @@ public void AddRemoteInstance(string apiUri)
}
}

[XmlElement(typeof(XmlNullableTimeSpan))]
public TimeSpan? AuditRetentionPeriod { get; set; }

[XmlElement(typeof(XmlTimeSpan))]
public TimeSpan ErrorRetentionPeriod { get; set; }

Expand Down Expand Up @@ -126,11 +123,6 @@ public static ServiceControlNewInstance Load(string path)
throw new InvalidDataException("The supplied file is using an old format. Which is no longer supported.");
}

if (doc.SelectSingleNode("/ServiceControlInstanceMetadata/AuditRetentionPeriod") == null)
{
throw new InvalidDataException("The supplied file is using an old format. Which is no longer supported.");
}

if (doc.SelectSingleNode("/ServiceControlInstanceMetadata/ErrorRetentionPeriod") == null)
{
throw new InvalidDataException("The supplied file is using an old format. Which is no longer supported.");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ public class ServiceControlUpgradeOptions
{
public bool? OverrideEnableErrorForwarding { get; set; }
public TimeSpan? ErrorRetentionPeriod { get; set; }
public TimeSpan? AuditRetentionPeriod { get; set; }
public int? MaintenancePort { get; set; }
public bool SkipQueueCreation { get; set; }
public string RemoteUrl { get; set; }
Expand Down Expand Up @@ -38,11 +37,6 @@ void ApplyChangesTo(ServiceControlInstance instance)
instance.ErrorRetentionPeriod = ErrorRetentionPeriod.Value;
}

if (AuditRetentionPeriod.HasValue)
{
instance.AuditRetentionPeriod = AuditRetentionPeriod.Value;
}

if (MaintenancePort.HasValue)
{
instance.DatabaseMaintenancePort = MaintenancePort;
Expand Down
1 change: 0 additions & 1 deletion src/ServiceControlInstaller.Engine/Interfaces.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,6 @@ public interface IServiceControlInstance : IServiceControlBaseInstance, IURLInfo
bool ForwardErrorMessages { get; }
bool EnableIntegratedServicePulse { get; }
TimeSpan ErrorRetentionPeriod { get; }
TimeSpan? AuditRetentionPeriod { get; set; }
List<RemoteInstanceSetting> RemoteInstances { get; }
}
}
Loading