public override async Task ConfigUpdatedAsync(BucketConfig config) { if (config.Name == Name && (BucketConfig == null || config.Rev > BucketConfig.Rev)) { Logger.LogDebug("Processing cluster map for rev#{revision} on {bucketName} - old rev#{oldRevision}", config.Rev, Name, BucketConfig?.Rev); Logger.LogDebug(JsonConvert.SerializeObject(BucketConfig)); BucketConfig = config; if (BucketConfig.VBucketMapChanged) { Logger.LogDebug(LoggingEvents.ConfigEvent, "Updating VB key mapper for rev#{revision} on {bucketName}", config.Rev, Name); KeyMapper = await _vBucketKeyMapperFactory.CreateAsync(BucketConfig).ConfigureAwait(false); } if (BucketConfig.ClusterNodesChanged) { Logger.LogDebug(LoggingEvents.ConfigEvent, "Updating cluster nodes for rev#{revision} on {bucketName}", config.Rev, Name); await Context.ProcessClusterMapAsync(this, BucketConfig).ConfigureAwait(false); var nodes = Context.GetNodes(Name); //update the local nodes collection lock (Nodes) { Nodes.Clear(); foreach (var clusterNode in nodes) { Nodes.Add(clusterNode); } } } } Logger.LogDebug("Current revision for {bucketName} is rev#{revision}", Name, BucketConfig?.Rev); }
public override async Task ConfigUpdatedAsync(BucketConfig config) { if (config.Name == Name && (BucketConfig == null || config.Rev > BucketConfig.Rev)) { BucketConfig = config; if (BucketConfig.VBucketMapChanged) { KeyMapper = await _vBucketKeyMapperFactory.CreateAsync(BucketConfig).ConfigureAwait(false); } if (BucketConfig.ClusterNodesChanged) { await Context.ProcessClusterMapAsync(this, BucketConfig).ConfigureAwait(false); var nodes = Context.GetNodes(Name); //update the local nodes collection lock (Nodes) { Nodes.Clear(); foreach (var clusterNode in nodes) { Nodes.Add(clusterNode); } } } } }
public override async Task ConfigUpdatedAsync(BucketConfig config) { if (config.Name == Name && (BucketConfig == null || config.Rev > BucketConfig.Rev)) { BucketConfig = config; if (BucketConfig.VBucketMapChanged) { KeyMapper = await _vBucketKeyMapperFactory.CreateAsync(BucketConfig).ConfigureAwait(false); } if (BucketConfig.ClusterNodesChanged) { await Context.ProcessClusterMapAsync(this, BucketConfig).ConfigureAwait(false); } } }