Skip to main content
replaced http://stackapps.com/ with https://stackapps.com/
Source Link

###Update: I am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or x number of seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Repro

This issue can be reproduced by browsing a stack exchange site while running the throttle teststhrottle tests I have made available.

Granted, you will probably have to browse fairly quickly to ensure a failure in this test, but the point is that if an app is in the middle of a burst, say polling your (or your users) accounts and checking for data on those accounts, which most apps do, meanwhile you (or your users) are browsing a stack exchange site there is a possibility that a total DOS will occur.

Again, let me stress that is is not an issue of squeezing every single possible request per second from the API. It is about having a clearly defined specification that can be relied upon.

Lumping API traffic in with browsing traffic over which the developer has no control presents an unmanageable criteria.

###Update: I am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or x number of seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Repro

This issue can be reproduced by browsing a stack exchange site while running the throttle tests I have made available.

Granted, you will probably have to browse fairly quickly to ensure a failure in this test, but the point is that if an app is in the middle of a burst, say polling your (or your users) accounts and checking for data on those accounts, which most apps do, meanwhile you (or your users) are browsing a stack exchange site there is a possibility that a total DOS will occur.

Again, let me stress that is is not an issue of squeezing every single possible request per second from the API. It is about having a clearly defined specification that can be relied upon.

Lumping API traffic in with browsing traffic over which the developer has no control presents an unmanageable criteria.

###Update: I am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or x number of seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Repro

This issue can be reproduced by browsing a stack exchange site while running the throttle tests I have made available.

Granted, you will probably have to browse fairly quickly to ensure a failure in this test, but the point is that if an app is in the middle of a burst, say polling your (or your users) accounts and checking for data on those accounts, which most apps do, meanwhile you (or your users) are browsing a stack exchange site there is a possibility that a total DOS will occur.

Again, let me stress that is is not an issue of squeezing every single possible request per second from the API. It is about having a clearly defined specification that can be relied upon.

Lumping API traffic in with browsing traffic over which the developer has no control presents an unmanageable criteria.

added 939 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60

###Update: I am unable to reproduce the case of interactive browsing affecting app quotaI am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site. And will concede that the failures that prompted this post were likely far edge cases

This is a very serious issue.

The remaining issueimplication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or x number of a badly behavedseconds before or after starting) the app failingor complete app and thus inducing a browsing DOS is not a bug infailure could result.

Given the 'if you violate the throttle you, simply a consequencethe response is undefined as are the consequences which could include being banned for an indeterminant period of running a badly behavedtime' (designedparaphrased, correct me if I am wrong) appspecification, this is best avoided.

It wasSome have gone to extraordinary lengths to comply with the other way around that concerned me i.e. interactivepublished throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing eating appactivity in with the throttle quota and inducingis an all-around DOSimpossible criteria to manage.

This behaviour was introduced with the new throttle and I am not yet completely convincedcan only assume that this is notan oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Repro

This issue can be reproduced by browsing a possibility, but untilstack exchange site while running the throttle rate issues is cleared upthrottle tests I have made available.

Granted, it is near impossibleyou will probably have to writebrowse fairly quickly to ensure a failure in this test, but the point is that can get reproduce whatif an app is admittedlyin the middle of a burst, say polling your (or your users) accounts and edge casechecking for data on those accounts, which most apps do, meanwhile you (i hopeor your users) are browsing a stack exchange site there is a possibility that a total DOS will occur.

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or 5 seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

Again, let me stress that is is not an issue of squeezing every single possible request per second from the API. It is about having a clearly defined specification that can be relied upon.

Lumping API traffic in with browsing traffic over which the developer has no control presents an unmanageable criteria.

###Update: I am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or 5 seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Update: I am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or x number of seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Repro

This issue can be reproduced by browsing a stack exchange site while running the throttle tests I have made available.

Granted, you will probably have to browse fairly quickly to ensure a failure in this test, but the point is that if an app is in the middle of a burst, say polling your (or your users) accounts and checking for data on those accounts, which most apps do, meanwhile you (or your users) are browsing a stack exchange site there is a possibility that a total DOS will occur.

Again, let me stress that is is not an issue of squeezing every single possible request per second from the API. It is about having a clearly defined specification that can be relied upon.

Lumping API traffic in with browsing traffic over which the developer has no control presents an unmanageable criteria.

added 733 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site###Update: I am unable to reproduce the case of interactive browsing affecting app quota.

This is a very serious issue And will concede that the failures that prompted this post were likely far edge cases.

The implication is that everyremaining issue of a badly behaved app written against the API must warn the userfailing and thus inducing a browsing DOS is not to view any Stack Exchange site while usinga bug in the throttle, simply a consequence of running a badly behaved (or 5 seconds before or after startingdesigned) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as areIt was the consequences which could include being banned for an indeterminant period of time' (paraphrased, correctother way around that concerned me if I am wrong) specification, this is best avoidedi.e. interactive browsing eating app quota and inducing an all-around DOS.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accuratecompletely convinced that this is not a possibility, and to lump the end-user's browsing activity in withbut until the throttle quotarate issues is ancleared up, it is near impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assumewrite a test that thiscan get reproduce what is an oversightadmittedly and edge case (i hope that it will be resolved).

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or 5 seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or 5 seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

###Update: I am unable to reproduce the case of interactive browsing affecting app quota. And will concede that the failures that prompted this post were likely far edge cases.

The remaining issue of a badly behaved app failing and thus inducing a browsing DOS is not a bug in the throttle, simply a consequence of running a badly behaved (designed) app.

It was the other way around that concerned me i.e. interactive browsing eating app quota and inducing an all-around DOS.

I am not yet completely convinced that this is not a possibility, but until the throttle rate issues is cleared up, it is near impossible to write a test that can get reproduce what is admittedly and edge case (i hope).

The new throttle does not differentiate between programmatic API requests and requests made by a browser while viewing a Stack Exchange site.

This is a very serious issue.

The implication is that every app written against the API must warn the user not to view any Stack Exchange site while using (or 5 seconds before or after starting) the app or complete app and browsing failure could result.

Given the 'if you violate the throttle you, the response is undefined as are the consequences which could include being banned for an indeterminant period of time' (paraphrased, correct me if I am wrong) specification, this is best avoided.

Some have gone to extraordinary lengths to comply with the published throttle guidance, which I am not sure is yet accurate, and to lump the end-user's browsing activity in with the throttle quota is an impossible criteria to manage.

This behaviour was introduced with the new throttle and I can only assume that this is an oversight and hope that it will be resolved.

The obvious solution is to separate http://api.xxxx and http://xxxx requests from each IP into distinct quota buckets.

edited tags
Link
Kevin Montrose
  • 18.7k
  • 6
  • 35
  • 62
Loading
added 118 characters in body
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading
Source Link
Sky Sanders
  • 12.1k
  • 3
  • 32
  • 60
Loading