Check for -1 throughput cap value (#1159)
This commit is contained in:
parent
27a49e9aa9
commit
1155557af1
|
@ -213,7 +213,8 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
if (userContext.databaseAccount?.properties.capacity?.totalThroughputLimit) {
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
|
if (throughputCap && throughputCap !== -1) {
|
||||||
this.calculateTotalThroughputUsed();
|
this.calculateTotalThroughputUsed();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -680,7 +681,7 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
|
||||||
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
const numberOfRegions = userContext.databaseAccount?.properties.locations?.length || 1;
|
const numberOfRegions = userContext.databaseAccount?.properties.locations?.length || 1;
|
||||||
const throughputDelta = (newThroughput - this.offer.autoscaleMaxThroughput) * numberOfRegions;
|
const throughputDelta = (newThroughput - this.offer.autoscaleMaxThroughput) * numberOfRegions;
|
||||||
if (throughputCap && throughputCap - this.totalThroughputUsed < throughputDelta) {
|
if (throughputCap && throughputCap !== -1 && throughputCap - this.totalThroughputUsed < throughputDelta) {
|
||||||
throughputError = `Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
throughputError = `Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
||||||
this.totalThroughputUsed + throughputDelta
|
this.totalThroughputUsed + throughputDelta
|
||||||
} RU/s. Change total throughput limit in cost management.`;
|
} RU/s. Change total throughput limit in cost management.`;
|
||||||
|
@ -693,7 +694,7 @@ export class SettingsComponent extends React.Component<SettingsComponentProps, S
|
||||||
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
const numberOfRegions = userContext.databaseAccount?.properties.locations?.length || 1;
|
const numberOfRegions = userContext.databaseAccount?.properties.locations?.length || 1;
|
||||||
const throughputDelta = (newThroughput - this.offer.manualThroughput) * numberOfRegions;
|
const throughputDelta = (newThroughput - this.offer.manualThroughput) * numberOfRegions;
|
||||||
if (throughputCap && throughputCap - this.totalThroughputUsed < newThroughput - this.offer.manualThroughput) {
|
if (throughputCap && throughputCap !== -1 && throughputCap - this.totalThroughputUsed < throughputDelta) {
|
||||||
throughputError = `Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
throughputError = `Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
||||||
this.totalThroughputUsed + throughputDelta
|
this.totalThroughputUsed + throughputDelta
|
||||||
} RU/s. Change total throughput limit in cost management.`;
|
} RU/s. Change total throughput limit in cost management.`;
|
||||||
|
|
|
@ -61,7 +61,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
|
||||||
totalThroughput *= numberOfRegions;
|
totalThroughput *= numberOfRegions;
|
||||||
setTotalThroughputUsed(totalThroughput);
|
setTotalThroughputUsed(totalThroughput);
|
||||||
|
|
||||||
if (throughputCap && throughputCap - totalThroughput < throughput) {
|
if (throughputCap && throughputCap !== -1 && throughputCap - totalThroughput < throughput) {
|
||||||
setThroughputError(
|
setThroughputError(
|
||||||
`Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
`Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
||||||
totalThroughput + throughput * numberOfRegions
|
totalThroughput + throughput * numberOfRegions
|
||||||
|
@ -73,7 +73,7 @@ export const ThroughputInput: FunctionComponent<ThroughputInputProps> = ({
|
||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
const checkThroughputCap = (newThroughput: number): boolean => {
|
const checkThroughputCap = (newThroughput: number): boolean => {
|
||||||
if (throughputCap && throughputCap - totalThroughputUsed < newThroughput) {
|
if (throughputCap && throughputCap !== -1 && throughputCap - totalThroughputUsed < newThroughput) {
|
||||||
setThroughputError(
|
setThroughputError(
|
||||||
`Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
`Your account is currently configured with a total throughput limit of ${throughputCap} RU/s. This update isn't possible because it would increase the total throughput to ${
|
||||||
totalThroughputUsed + newThroughput * numberOfRegions
|
totalThroughputUsed + newThroughput * numberOfRegions
|
||||||
|
|
|
@ -1176,7 +1176,8 @@ export default class Explorer {
|
||||||
<CassandraAddCollectionPane explorer={this} cassandraApiClient={new CassandraAPIDataClient()} />
|
<CassandraAddCollectionPane explorer={this} cassandraApiClient={new CassandraAPIDataClient()} />
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
userContext.databaseAccount?.properties.capacity?.totalThroughputLimit
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
|
throughputCap && throughputCap !== -1
|
||||||
? await useDatabases.getState().loadAllOffers()
|
? await useDatabases.getState().loadAllOffers()
|
||||||
: await useDatabases.getState().loadDatabaseOffers();
|
: await useDatabases.getState().loadDatabaseOffers();
|
||||||
useSidePanel
|
useSidePanel
|
||||||
|
|
|
@ -311,7 +311,8 @@ function createNewDatabase(container: Explorer): CommandButtonComponentProps {
|
||||||
iconSrc: AddDatabaseIcon,
|
iconSrc: AddDatabaseIcon,
|
||||||
iconAlt: label,
|
iconAlt: label,
|
||||||
onCommandClick: async () => {
|
onCommandClick: async () => {
|
||||||
if (userContext.databaseAccount?.properties.capacity?.totalThroughputLimit) {
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
|
if (throughputCap && throughputCap !== -1) {
|
||||||
await useDatabases.getState().loadAllOffers();
|
await useDatabases.getState().loadAllOffers();
|
||||||
}
|
}
|
||||||
useSidePanel.getState().openSidePanel("New " + getDatabaseName(), <AddDatabasePanel explorer={container} />);
|
useSidePanel.getState().openSidePanel("New " + getDatabaseName(), <AddDatabasePanel explorer={container} />);
|
||||||
|
|
|
@ -308,7 +308,8 @@ export class SplashScreen extends React.Component<SplashScreenProps> {
|
||||||
title: "New " + getDatabaseName(),
|
title: "New " + getDatabaseName(),
|
||||||
description: undefined,
|
description: undefined,
|
||||||
onClick: async () => {
|
onClick: async () => {
|
||||||
if (userContext.databaseAccount?.properties.capacity?.totalThroughputLimit) {
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
|
if (throughputCap && throughputCap !== -1) {
|
||||||
await useDatabases.getState().loadAllOffers();
|
await useDatabases.getState().loadAllOffers();
|
||||||
}
|
}
|
||||||
useSidePanel
|
useSidePanel
|
||||||
|
|
|
@ -576,9 +576,8 @@ export default class Collection implements ViewModels.Collection {
|
||||||
|
|
||||||
public onSettingsClick = async (): Promise<void> => {
|
public onSettingsClick = async (): Promise<void> => {
|
||||||
useSelectedNode.getState().setSelectedNode(this);
|
useSelectedNode.getState().setSelectedNode(this);
|
||||||
userContext.databaseAccount?.properties.capacity?.totalThroughputLimit
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
? await useDatabases.getState().loadAllOffers()
|
throughputCap && throughputCap !== -1 ? await useDatabases.getState().loadAllOffers() : await this.loadOffer();
|
||||||
: await this.loadOffer();
|
|
||||||
this.selectedSubnodeKind(ViewModels.CollectionTabKind.Settings);
|
this.selectedSubnodeKind(ViewModels.CollectionTabKind.Settings);
|
||||||
TelemetryProcessor.trace(Action.SelectItem, ActionModifiers.Mark, {
|
TelemetryProcessor.trace(Action.SelectItem, ActionModifiers.Mark, {
|
||||||
description: "Settings node",
|
description: "Settings node",
|
||||||
|
|
|
@ -66,7 +66,8 @@ export default class Database implements ViewModels.Database {
|
||||||
dataExplorerArea: Constants.Areas.ResourceTree,
|
dataExplorerArea: Constants.Areas.ResourceTree,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (userContext.databaseAccount?.properties.capacity?.totalThroughputLimit) {
|
const throughputCap = userContext.databaseAccount?.properties.capacity?.totalThroughputLimit;
|
||||||
|
if (throughputCap && throughputCap !== -1) {
|
||||||
await useDatabases.getState().loadAllOffers();
|
await useDatabases.getState().loadAllOffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue