-
Type:
Task
-
Resolution: Done
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
Summary
Atlas "infinite" clusters (disaggregated storage) have two requirements that Compass and Atlas Data Explorer do not currently honour:
- Storage size must not be displayed.
- Rolling index builds must not be offered — Atlas infinite does not support them.
Background
Compass has no concept of an infinite/disaggregated cluster today. AtlasClusterMetadata.clusterType in packages/connection-info/src/connection-info.ts is typed as 'REPLICASET' | 'SHARDED' | 'GEOSHARDED' only, and there is no cluster-level supports flag that distinguishes infinite clusters. A signal from mms is therefore a prerequisite for the UI work.
Requirement 1 — do not display storage size
With disaggregated storage, the storageSize / freeStorageSize values returned by dbStats and $collStats do not represent meaningful on-disk usage, so surfacing them is misleading. Storage size is currently shown in:
- packages/databases-collections-list/src/databases.tsx — "Storage size" column in the databases list
- packages/databases-collections-list/src/collections.tsx — "Storage size" column and the total/free tooltip in the collections list
- packages/compass-crud/src/plugin-title.tsx — "Storage Size" entry in the collection tab title tooltip
For infinite clusters these should be omitted rather than shown as zero or a dash, and the surrounding layout should degrade cleanly (the columns are shared with the non-Atlas desktop experience, so the change must be conditional, not a removal).
Requirement 2 — no rolling index builds
Rolling index creation is gated by atlasMetadata.supports.rollingIndexes (packages/compass-connections/src/utils/connection-supports.ts), which mms sets for dedicated clusters. Infinite clusters are dedicated, so the "Build in rolling fashion" option in the create-index form is expected to be offered today even though the operation is unsupported.
Acceptance criteria
- Compass/Data Explorer can identify an Atlas infinite cluster from atlasMetadata (new supports flag or widened clusterType), with the mms side agreed and linked.
- Storage size is not displayed anywhere in Compass/Data Explorer when connected to an infinite cluster: databases list, collections list, and collection tab tooltip.
- No storage-size column artefacts or empty cells remain; layout is unchanged for all other cluster types and for the desktop (non-Atlas) experience.
- The rolling index build option is not offered when connected to an infinite cluster, whether via supports.rollingIndexes from mms or client-side gating.
- Unit test coverage for the new gating in connection-supports and the affected list components; existing behaviour for REPLICASET/SHARDED/GEOSHARDED and non-Atlas connections is unaffected.
- Verified against an infinite cluster in staging.