(ctx context.Context, isEnterpriseEdition, validateOIDCConfig, validateReplications bool)
| 753 | } |
| 754 | |
| 755 | func (dbConfig *DbConfig) validateVersion(ctx context.Context, isEnterpriseEdition, validateOIDCConfig, validateReplications bool) error { |
| 756 | |
| 757 | var multiError *base.MultiError |
| 758 | // Make sure a non-zero compact_interval_days config is within the valid range |
| 759 | if val := dbConfig.CompactIntervalDays; val != nil && *val != 0 && |
| 760 | (*val < db.CompactIntervalMinDays || *val > db.CompactIntervalMaxDays) { |
| 761 | multiError = multiError.Append(fmt.Errorf(rangeValueErrorMsg, "compact_interval_days", |
| 762 | fmt.Sprintf("%g-%g", db.CompactIntervalMinDays, db.CompactIntervalMaxDays))) |
| 763 | } |
| 764 | |
| 765 | if dbConfig.CacheConfig != nil { |
| 766 | |
| 767 | if dbConfig.CacheConfig.ChannelCacheConfig != nil { |
| 768 | |
| 769 | // EE: channel cache |
| 770 | if !isEnterpriseEdition { |
| 771 | if val := dbConfig.CacheConfig.ChannelCacheConfig.MaxNumber; val != nil { |
| 772 | base.WarnfCtx(ctx, eeOnlyWarningMsg, "cache.channel_cache.max_number", *val, db.DefaultChannelCacheMaxNumber) |
| 773 | dbConfig.CacheConfig.ChannelCacheConfig.MaxNumber = nil |
| 774 | } |
| 775 | if val := dbConfig.CacheConfig.ChannelCacheConfig.HighWatermarkPercent; val != nil { |
| 776 | base.WarnfCtx(ctx, eeOnlyWarningMsg, "cache.channel_cache.compact_high_watermark_pct", *val, db.DefaultCompactHighWatermarkPercent) |
| 777 | dbConfig.CacheConfig.ChannelCacheConfig.HighWatermarkPercent = nil |
| 778 | } |
| 779 | if val := dbConfig.CacheConfig.ChannelCacheConfig.LowWatermarkPercent; val != nil { |
| 780 | base.WarnfCtx(ctx, eeOnlyWarningMsg, "cache.channel_cache.compact_low_watermark_pct", *val, db.DefaultCompactLowWatermarkPercent) |
| 781 | dbConfig.CacheConfig.ChannelCacheConfig.LowWatermarkPercent = nil |
| 782 | } |
| 783 | } |
| 784 | |
| 785 | if dbConfig.CacheConfig.ChannelCacheConfig.MaxNumPending != nil && *dbConfig.CacheConfig.ChannelCacheConfig.MaxNumPending < 1 { |
| 786 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.max_num_pending", 1)) |
| 787 | } |
| 788 | if dbConfig.CacheConfig.ChannelCacheConfig.MaxWaitPending != nil && *dbConfig.CacheConfig.ChannelCacheConfig.MaxWaitPending < 1 { |
| 789 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.max_wait_pending", 1)) |
| 790 | } |
| 791 | if dbConfig.CacheConfig.ChannelCacheConfig.MaxWaitSkipped != nil && *dbConfig.CacheConfig.ChannelCacheConfig.MaxWaitSkipped < 1 { |
| 792 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.max_wait_skipped", 1)) |
| 793 | } |
| 794 | if dbConfig.CacheConfig.ChannelCacheConfig.MaxLength != nil && *dbConfig.CacheConfig.ChannelCacheConfig.MaxLength < 1 { |
| 795 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.max_length", 1)) |
| 796 | } |
| 797 | if dbConfig.CacheConfig.ChannelCacheConfig.MinLength != nil && *dbConfig.CacheConfig.ChannelCacheConfig.MinLength < 1 { |
| 798 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.min_length", 1)) |
| 799 | } |
| 800 | if dbConfig.CacheConfig.ChannelCacheConfig.ExpirySeconds != nil && *dbConfig.CacheConfig.ChannelCacheConfig.ExpirySeconds < 1 { |
| 801 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.expiry_seconds", 1)) |
| 802 | } |
| 803 | if dbConfig.CacheConfig.ChannelCacheConfig.MaxNumber != nil && *dbConfig.CacheConfig.ChannelCacheConfig.MaxNumber < db.MinimumChannelCacheMaxNumber { |
| 804 | multiError = multiError.Append(fmt.Errorf(minValueErrorMsg, "cache.channel_cache.max_number", db.MinimumChannelCacheMaxNumber)) |
| 805 | } |
| 806 | |
| 807 | // Compact watermark validation |
| 808 | hwm := db.DefaultCompactHighWatermarkPercent |
| 809 | lwm := db.DefaultCompactLowWatermarkPercent |
| 810 | if dbConfig.CacheConfig.ChannelCacheConfig.HighWatermarkPercent != nil { |
| 811 | if *dbConfig.CacheConfig.ChannelCacheConfig.HighWatermarkPercent < 1 || *dbConfig.CacheConfig.ChannelCacheConfig.HighWatermarkPercent > 100 { |
| 812 | multiError = multiError.Append(fmt.Errorf(rangeValueErrorMsg, "cache.channel_cache.compact_high_watermark_pct", "0-100")) |
no test coverage detected