You're viewing Apigee
and Apigee hybrid
documentation.
View Apigee Edge
documentation.
InvalidQuotaInterval
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision_number ] Invalid quota interval [ interval ] in quota policy [ policy_name ].
Example error message
Error Saving Revision 1
Invalid quota interval 0.1 in quota policy Quota-1.
Example screenshot
Cause
If the quota interval specified in the <Interval>
element of the Quota Policy is not an integer, then the deployment of the API proxy fails.
For example, if the quota interval specified is 0.1 in the <Interval>
element of a Quota Policy, then the deployment of the API proxy fails.
Diagnosis
-
Identify the Quota policy where the error occurred and the invalid quota interval. You can find this information from the error message. For example, in the following error, the policy name is
Quota-1
and the invalid quota interval is0.1
:Error Saving Revision 1 Invalid quota interval 0.1 in quota policy Quota-1 .
-
Verify that the value of the quota interval specified in the failed Quota policy matches with the value identified in the error message (step #1 above). For example, the following policy specifies the value of the quota interval as
0.1
, which matches what's in the error message:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval> 0.1 </Interval> <TimeUnit>minute</TimeUnit> </Quota>
-
If the quota interval specified is not an integer, then that's the cause of the error.
In the example Quota Policy shown above, the value of the quota interval is 0.1, which is not an integer. Therefore, the deployment of the API Proxy fails with the error:
Invalid quota interval 0.1 in quota policy Quota-1.
Resolution
Ensure that the value of the quota interval specified in the <Interval>
element of the Quota Policy is an integer. For example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval> 1 </Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidQuotaTimeUnit
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision_number ] Invalid quota interval time unit [ time_unit ] in quota policy [ policy_name ] in Revision [ revision_number ] of application [ proxy_name ], in organization [ org_name ].
Example error message
Error Saving Revision 1
Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Example screenshot
Cause
If the time unit specified in the <TimeUnit>
element of the Quota policy is unsupported, then the deployment of the API proxy fails.
The supported time units are minute
, hour
, day
, week
, and month
.
For example, if the unit of time is specified as year
in the <TimeUnit>
element of the Quota Policy, then the deployment of the API proxy fails.
Diagnosis
-
Identify the Quota policy where the error occurred and the invalid time unit. You can find this information from the error message. For example, in the following error, the policy name is
Quota-1
and invalid time unit isyear
:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
-
Verify that the time unit specified in
<TimeUnit>
element of the Quota policy matches with the time unit identified in the error message (step #1 above). For example, the following policy specifies the value of the quota interval asyear
, which matches what's in the error message:<Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit> year </TimeUnit> </Quota>
-
If the time unit specified in the Quota Policy is not supported, then that's the cause of the error.
In the example Quota policy shown above, the time unit is specified as
year
which is unsupported. Therefore, the deployment of the API Proxy fails with the error:Invalid quota interval time unit year in quota policy Quota-1 in Revision 1 of application Quota_test, in organization aprabhashankar-eval.
Resolution
Ensure that the time unit specified in the <TimeUnit>
element of the Quota policy is supported. For example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit> month </TimeUnit> </Quota>
InvalidQuotaType
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision_number ] No enum constant com.apigee.quota.types.QuotaType.[ type ].
Example error message
Error Saving Revision 1
No enum constant com.apigee.quota.types.QuotaType.window.
Example screenshot
Cause
If the typeof the quota specified by the type
attribute in the <Quota>
element of the Quota policy is invalid, then the deployment of the API proxy fails.
The supported quota types are default
, calendar
, flexi
, and rollingwindow
.
For example, if the type of the policy specified as window
in the <Quota>
element
of the Quota policy then the deployment of the API proxy fails.
Diagnosis
-
Identify the invalid quota type used in the Quota policy. You can find this information from the error message. For example, in the following error, the invalid policy type is
window
:Error Saving Revision 1 No enum constant com.apigee.quota.types.QuotaType. window .
-
Examine all the Quota policies in the specific API Proxy where the failure has occurred. If there is any Quota policy in which the quota type specified in the
<Quota>
element matches the unsupported type identified in Step #1 above, then that's the cause of the error.For example, the following policy specifies the type as
window
, which matches what's in the error message:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type=" window "> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
Since the type attribute is set as
window
, which is unsupported, the deployment of the API Proxy fails with the error:No enum constant com.apigee.quota.types.QuotaType.window.
Resolution
Ensure that the quota type specified by the type
attribute in the <Quota>
element of the Quota policy is supported. For example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type=" rollingwindow "> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <MessageWeight ref="messageWeight"/> </Quota>
InvalidStartTime
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision_number ] Invalid Starttime:[ start_time ]; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Example error message
Error Saving Revision 1
Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Example screenshot
Cause
If the format of the time specified in the <StartTime>
element of the Quota policy is invalid, then the deployment of the API proxy fails.
The valid format is yyyy-MM-dd HH:mm:ss
, which is the ISO 8601
date and time format.
For example, if the time specified in the <StartTime>
element of the Quota policy is 7-16-2017 12:00:00
then the deployment of the API proxy fails.
Diagnosis
-
Identify the invalid start time specified in the Quota policy. You can find this information from the error message. For example, in the following error, the invalid start time is
7-16-2017 12:00:00
Invalid Starttime: 7-16-2017 12:00:00 ; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
-
Examine all the Quota policies in the specific API Proxy where the failure has occurred. If there is any Quota policy in which the value specified in the
<StartTime>
element matches the invalid start time identified in Step #1 above, then that's the cause of the error.For example, the following policy specifies the type as
7-16-2017 12:00:00
, which matches what's in the error message:<?xml version="1.0" encoding="UTF-8"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties /> <Allow count="3" /> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime> 7-16-2017 12:00:00 </StartTime> </Quota>
Since the value set for
<StartTime>
is set as7-16-2017 12:00:00
, which is not according to the required date/time format, the deployment of the API Proxy fails with the error:Invalid Starttime:7-16-2017 12:00:00; Start Time should be of the format yyyy-MM-dd HH:mm:ss.
Resolution
Ensure that the format of the start time specified in the <StartTime>
element of the Quota policy is valid according to the required format yyyy-MM-dd HH:mm:ss
. For example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="calendar"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime> 2017-7-16 12:00:00 </StartTime> </Quota>
StartTimeNotSupported
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision_number ] Starttime is not supported for quotatype [ quota_type ]. Starttime is supported only for calendar based type.
Example error message
Error Saving Revision 1
Starttime is not supported for quotatype flexi. Starttime is supported only for calendar based type.
Example screenshot
Cause
If the <StartTime>
element is specified in a Quota policy whose quota type is not calendar type, then the deployment of the API proxy fails.
The <StartTime>
element is supported only for the calendar
quota type.
For example, if the type
attribute is set to flexi
or rolling window
in the <Quota>
element of the Quota policy, then the deployment of the API proxy fails.
Diagnosis
-
Identify the quota type specified in the failing Quota policy. You can find this information from the error message. For example, in the following error, the invalid start time is
flexi
Starttime is not supported for quotatype flexi . Starttime is supported only for calendar based type.
-
Examine all the Quota policies in the specific API Proxy where the failure has occurred. If there is any Quota policy in which the type attribute specified matches the quota type identified in Step #1 above and
<StartTime>
element is specified, then that's the cause of the error.For example, the following policy specifies the quota type as
flexi
, which matches what's in the error message and also specifies<StartTime>
element:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi"> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> </Quota>
Since the
<StartTime>
element is specified in the Quota Policy whose quota type is specified asflexi
, the deployment of the API Proxy fails with the error:Starttime is not supported for quotatype flexi . Starttime is supported only for calendar based type.
Resolution
Ensure that the <StartTime>
element is not specified when the quota type indicated by the type
attribute in the <Quota>
element is flexi
or rolling window
. For example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota-1" type="flexi "> <DisplayName>Quota-1</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> </Quota>
InvalidTimeUnitForDistributedQuota
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision number ] Invalid timeunit second for distributed quota.
Example error message
Error Saving Revision 1
Invalid timeunit second for distributed quota.
Example screenshot
Cause
If the <Distributed>
element is set to true
and the <TimeUnit>
element is set to second
then the deployment of the API proxy fails. The timeunit second
is invalid for a distributed quota.
When the Distributed
element is set to true
, then the policy should maintain a central counter and continuously synchronize it across all Message Processors. Therefore, it would be difficult to synchronize and also verify that the number of requests did not exceed the specified quota in a short interval of time such as seconds. For this reason, the timeunit second
is considered invalid for distributed quota.
Diagnosis
Examine all the Quota policies in the specific API Proxy where the failure has occurred. If there is any Quota policy with a <TimeUnit>
element set to second
and the <Distributed>
element is set to true
, then that's the cause of the error.
For example, the below policy has a <TimeUnit>
element set to second
and the <Distributed>
element is set to true
.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>second</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
Resolution
Ensure that the <TimeUnit>
element is never set to second
when the <Distributed>
element is set to true. The <TimeUnit>
element can be set to any of the other allowed values - minute, hour, day, week,
or month
. For example:
<Quota async="false" continueOnError="false" enabled="true" name="CheckQuota" type="calendar"> <DisplayName>CheckQuota</DisplayName> <Properties/> <Allow count="30"/> <Interval>1</Interval> <TimeUnit>hour</TimeUnit> <StartTime>2018-8-05 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> </Quota>
InvalidSynchronizeIntervalForAsyncConfiguration
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision number ] SyncIntervalInSeconds should be a value greater than zero.
Example error message
Error Saving Revision 1
SyncIntervalInSeconds should be a value greater than zero.
Example screenshot
Cause
If the value specified for the <SyncIntervalInSeconds>
element within the <AsynchronousConfiguration>
element in a Quota policy is less than zero, then the deployment of the API proxy fails.
Diagnosis
Examine all the Quota policies in the specific API Proxy where the failure has occurred. If there is any Quota policy in which the <SyncIntervalInSeconds>
element is set to a value less than zero, within the <AsynchronousConfiguration>
element, then that's the cause of the error.
For example, the below policy has a negative value specified for the <SyncIntervalInSeconds>
element:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>-1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
Resolution
Ensure that you always specify a positive integer for the <SyncIntervalInSeconds>
element within the <AsynchronousConfiguration>
element in a Quota policy. For example:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>false</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>5</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
InvalidAsynchronizeConfigurationForSynchronousQuota
Error message
Deployment of the API proxy through either the Apigee UI or API fails with this error message:
Error Saving Revision [ revision number ] AsynchronousConfiguration is not valid for synchronous quota.
Example error message
Error Saving Revision 2
AsynchronousConfiguration is not valid for synchronous quota.
Example screenshot
Cause
If the value of the <Synchronous>
element is set to true
in a Quota policy, which also has asynchronous configuration defined using the <AsynchronousConfiguration>
element, then the deployment of the API proxy fails.
Diagnosis
Examine all the Quota policies in the specific API Proxy where the failure has occurred. If there is any Quota policy where the <Synchronous>
element is set to true
and if it also has an <AsynchronousConfiguration>
element defined, then that is the cause of the error.
For example, the below policy has a <Synchronous>
element that is set to true
and also has an <AsynchronousConfiguration>
element defined:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> <AsynchronousConfiguration> <SyncIntervalInSeconds>1</SyncIntervalInSeconds> </AsynchronousConfiguration> </Quota>
Resolution
Ensure that there is no asynchronous configuration defined using the <AsynchronousConfiguration>
element if the <Synchronous>
element is set to true
in a Quota policy.
The above example can be corrected by removing the <AsynchronousConfiguration>
section as shown below:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Quota async="false" continueOnError="false" enabled="true" name="Quota_AsyncConfig" type="calendar"> <DisplayName>Quota_AsyncConfig</DisplayName> <Properties/> <Allow count="3"/> <Interval>1</Interval> <TimeUnit>minute</TimeUnit> <StartTime>2017-7-16 12:00:00</StartTime> <Distributed>true</Distributed> <Synchronous>true</Synchronous> </Quota>