@@ -261,6 +261,14 @@ build_durability_min_level(BucketConfig) ->
261261 <<" persistToMajority" >>
262262 end .
263263
264+ build_storage_totals (Config ) ->
265+ StorageTotals =
266+ [{Key , {struct , StoragePList }}
267+ || {Key , StoragePList } <-
268+ ns_storage_conf :cluster_storage_info (Config )],
269+
270+ {storageTotals , {struct , StorageTotals }}.
271+
264272build_bucket_info (Id , undefined , InfoLevel , LocalAddr , MayExposeAuth ,
265273 SkipMap , Config ) ->
266274 {ok , BucketConfig } = ns_bucket :get_bucket (Id , Config ),
@@ -292,14 +300,12 @@ build_bucket_info(Id, BucketConfig, InfoLevel, LocalAddr, MayExposeAuth,
292300 _ ->
293301 BasicStats0 = menelaus_stats :basic_stats (Id ),
294302
295- BasicStats = case InfoLevel of
296- for_ui ->
297- StorageTotals = [{Key , {struct , StoragePList }}
298- || {Key , StoragePList } <- ns_storage_conf :cluster_storage_info ()],
299-
300- [{storageTotals , {struct , StorageTotals }} | BasicStats0 ];
301- _ -> BasicStats0
302- end ,
303+ BasicStats =
304+ case InfoLevel of
305+ for_ui ->
306+ [build_storage_totals (Config ) | BasicStats0 ];
307+ _ -> BasicStats0
308+ end ,
303309
304310 BucketParams =
305311 [{replicaNumber , ns_bucket :num_replicas (BucketConfig )},
@@ -553,12 +559,14 @@ init_bucket_validation_context(IsNew, BucketName, Req) ->
553559 init_bucket_validation_context (IsNew , BucketName , ValidateOnly , IgnoreWarnings ).
554560
555561init_bucket_validation_context (IsNew , BucketName , ValidateOnly , IgnoreWarnings ) ->
556- init_bucket_validation_context (IsNew , BucketName ,
557- ns_bucket :get_buckets (),
558- extended_cluster_storage_info (),
559- ValidateOnly , IgnoreWarnings ,
560- cluster_compat_mode :get_compat_version (),
561- cluster_compat_mode :is_enterprise ()).
562+ Config = ns_config :get (),
563+ init_bucket_validation_context (
564+ IsNew , BucketName ,
565+ ns_bucket :get_buckets (Config ),
566+ extended_cluster_storage_info (Config ),
567+ ValidateOnly , IgnoreWarnings ,
568+ cluster_compat_mode :get_compat_version (Config ),
569+ cluster_compat_mode :is_enterprise ()).
562570
563571init_bucket_validation_context (IsNew , BucketName , AllBuckets , ClusterStorageTotals ,
564572 ValidateOnly , IgnoreWarnings ,
@@ -1588,9 +1596,10 @@ parse_validate_conflict_resolution_type(_Other) ->
15881596 {error , conflictResolutionType ,
15891597 <<" Conflict resolution type must be 'seqno' or 'lww'" >>}.
15901598
1591- extended_cluster_storage_info () ->
1592- [{nodesCount , length (ns_cluster_membership :service_active_nodes (kv ))}
1593- | ns_storage_conf :cluster_storage_info ()].
1599+ extended_cluster_storage_info (Config ) ->
1600+ [{nodesCount ,
1601+ length (ns_cluster_membership :service_active_nodes (Config , kv ))}
1602+ | ns_storage_conf :cluster_storage_info (Config )].
15941603
15951604
15961605handle_compact_bucket (_PoolId , Bucket , Req ) ->
0 commit comments