diff --git a/MergerLogic/Clients/HeartbeatClient.cs b/MergerLogic/Clients/HeartbeatClient.cs index 4160e4e..f2b8fad 100644 --- a/MergerLogic/Clients/HeartbeatClient.cs +++ b/MergerLogic/Clients/HeartbeatClient.cs @@ -84,8 +84,8 @@ public void Send(object? sender, ElapsedEventArgs elapsedEventArgs) } catch (Exception e) { + // System.Timers.Timer swallows exceptions from Elapsed, so rethrowing was a no-op; log so failures are visible. this._logger.LogError($"[{MethodBase.GetCurrentMethod().Name}] Could not send heartbeat for task={this._taskId}, {e.Message}"); - throw; } } } diff --git a/MergerLogic/Clients/S3Client.cs b/MergerLogic/Clients/S3Client.cs index f06c0e2..78ca609 100644 --- a/MergerLogic/Clients/S3Client.cs +++ b/MergerLogic/Clients/S3Client.cs @@ -75,7 +75,7 @@ private bool IsKeyError(Exception e) return null; } // In case there are other errors such as connection to S3 - throw e; + throw; } } @@ -169,7 +169,7 @@ public void UpdateTile(Tile tile) return null; } // In case there are other errors such as connection to S3 - throw e; + throw; } } } diff --git a/MergerLogic/DataTypes/Fs.cs b/MergerLogic/DataTypes/Fs.cs index 3fd4ca5..73e168b 100644 --- a/MergerLogic/DataTypes/Fs.cs +++ b/MergerLogic/DataTypes/Fs.cs @@ -16,7 +16,7 @@ public class FS : Data private IFileSystem _fileSystem; private readonly string[] _supportedFileExtensions = { ".png", ".jpg", ".jpeg" }; - static readonly object _locker = new object(); + private readonly object _locker = new object(); public FS(IPathUtils pathUtils, IServiceProvider container, string path, int batchSize, Grid? grid, GridOrigin? origin, bool isBase = false) : base(container, DataType.FOLDER, path, batchSize, grid, origin, isBase) diff --git a/MergerLogic/DataTypes/Gpkg.cs b/MergerLogic/DataTypes/Gpkg.cs index 9e73ba2..27bb142 100644 --- a/MergerLogic/DataTypes/Gpkg.cs +++ b/MergerLogic/DataTypes/Gpkg.cs @@ -12,7 +12,7 @@ public class Gpkg : Data private long _batchCursorId; private Extent _extent; private readonly IConfigurationManager _configManager; - static readonly object _locker = new object(); + private readonly object _locker = new object(); public Gpkg(IConfigurationManager configuration, IServiceProvider container, string path, int batchSize, Grid? grid, GridOrigin? origin, bool isBase = false, Extent? extent = null) diff --git a/MergerLogic/DataTypes/S3.cs b/MergerLogic/DataTypes/S3.cs index 84cdd79..dd55574 100644 --- a/MergerLogic/DataTypes/S3.cs +++ b/MergerLogic/DataTypes/S3.cs @@ -17,7 +17,7 @@ public class S3 : Data private IEnumerator _zoomEnumerator; private string? _continuationToken; private bool _endOfRead; - static readonly object _locker = new object(); + private readonly object _locker = new object(); private const string nullStringValue = "Null"; private readonly IPathUtils _pathUtils; diff --git a/MergerLogic/Utils/ConfigurationManager.cs b/MergerLogic/Utils/ConfigurationManager.cs index 983ee67..1952014 100644 --- a/MergerLogic/Utils/ConfigurationManager.cs +++ b/MergerLogic/Utils/ConfigurationManager.cs @@ -25,12 +25,8 @@ public ConfigurationManager(ILogger? logger) public IEnumerable GetChildren(params string[] configPath) { - var config = this.config.GetSection(configPath[0]); - for (int i = 1; i < configPath.Length - 1; i++) - { - config = this.config.GetSection(configPath[i]); - } - return config.GetSection(configPath[configPath.Length - 1]).GetChildren(); + string key = string.Join(":", configPath); + return this.config.GetSection(key).GetChildren(); } public string GetConfiguration(params string[] configPath)