[zanata/zanata-server] ba2711: rhbz988202 - add server config for rate limiting

GitHub noreply at github.com
Mon Mar 10 06:11:01 UTC 2014


  Branch: refs/heads/rate-limit
  Home:   https://github.com/zanata/zanata-server
  Commit: ba271166da688dd29eba9f62eb95239e9a69ce3e
      https://github.com/zanata/zanata-server/commit/ba271166da688dd29eba9f62eb95239e9a69ce3e
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M zanata-model/src/main/java/org/zanata/model/HApplicationConfiguration.java
    M zanata-war/src/main/java/org/zanata/action/ServerConfigurationBean.java
    M zanata-war/src/main/java/org/zanata/config/DatabaseBackedConfig.java
    M zanata-war/src/main/resources/messages.properties
    M zanata-war/src/main/webapp/admin/server_configuration.xhtml

  Log Message:
  -----------
  rhbz988202 - add server config for rate limiting


  Commit: 15777c6c4e20831988eac582c3ae9794cc56e160
      https://github.com/zanata/zanata-server/commit/15777c6c4e20831988eac582c3ae9794cc56e160
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    A functional-test/src/main/java/org/zanata/page/administration/ServerConfigurationPage.java
    M functional-test/src/main/java/org/zanata/util/SampleProjectProfile.java
    A functional-test/src/test/java/org/zanata/feature/misc/RateLimitTest.java
    M zanata-war/pom.xml
    M zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java
    M zanata-war/src/main/java/org/zanata/action/ServerConfigurationBean.java
    A zanata-war/src/main/java/org/zanata/annotation/RateLimiting.java
    A zanata-war/src/main/java/org/zanata/annotation/RateLimitingResource.java
    M zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java
    M zanata-war/src/main/java/org/zanata/rest/service/SourceDocResourceService.java
    A zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimitingInterceptor.java
    M zanata-war/src/main/webapp/admin/server_configuration.xhtml

  Log Message:
  -----------
  rhbz988202 - rate limit REST api plus test


  Commit: 7575823add3ada42708e5cb62fcfc6af533cc028
      https://github.com/zanata/zanata-server/commit/7575823add3ada42708e5cb62fcfc6af533cc028
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M functional-test/src/test/java/org/zanata/feature/misc/RateLimitTest.java
    M functional-test/src/test/java/org/zanata/util/ZanataRestCaller.java
    M pom.xml
    A zanata-war/src/main/java/org/zanata/rest/service/ServerConfigurationService.java

  Log Message:
  -----------
  rhbz988202 - server configuration REST service and more tests


  Commit: 17b563b1c7f944beb81cfe8d5d80422f9c437f29
      https://github.com/zanata/zanata-server/commit/17b563b1c7f944beb81cfe8d5d80422f9c437f29
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M zanata-war/src/main/java/org/zanata/action/ServerConfigurationBean.java

  Log Message:
  -----------
  rhbz988202 - turn method into static before move


  Commit: 25d914a8e8db592be9141e1b93874990b4c77e2f
      https://github.com/zanata/zanata-server/commit/25d914a8e8db592be9141e1b93874990b4c77e2f
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M zanata-war/src/main/java/org/zanata/action/ServerConfigurationBean.java
    M zanata-war/src/main/java/org/zanata/rest/service/ServerConfigurationService.java

  Log Message:
  -----------
  rhbz988202 - move mothod to service class


  Commit: 520aab9e37a7816916e4997b1bba0b1c7e72295b
      https://github.com/zanata/zanata-server/commit/520aab9e37a7816916e4997b1bba0b1c7e72295b
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M functional-test/src/test/java/org/zanata/feature/misc/RateLimitTest.java
    M zanata-war/src/main/java/org/zanata/rest/service/ServerConfigurationService.java

  Log Message:
  -----------
  rhbz988202 - use moved method in service class


  Commit: bc91d208f2664ef8309274c7c8548bee844ad4a8
      https://github.com/zanata/zanata-server/commit/bc91d208f2664ef8309274c7c8548bee844ad4a8
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    A zanata-war/src/main/java/org/zanata/rest/service/IntrospectableObjectMonitorService.java
    M zanata-war/src/main/java/org/zanata/rest/service/ServerConfigurationService.java
    M zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimitingInterceptor.java
    A zanata-war/src/main/java/org/zanata/util/Introspectable.java

  Log Message:
  -----------
  rhbz988202 - add introspectable REST service and make rate limiting bucket monitorable


  Commit: d3ede016e29d9be6654fd3b387db5060f9606780
      https://github.com/zanata/zanata-server/commit/d3ede016e29d9be6654fd3b387db5060f9606780
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M functional-test/src/test/java/org/zanata/feature/misc/RateLimitTest.java
    M zanata-war/src/main/java/org/zanata/rest/service/IntrospectableObjectMonitorService.java
    M zanata-war/src/main/java/org/zanata/rest/service/ServerConfigurationService.java

  Log Message:
  -----------
  rhbz988202 - remove interface from zanata api and make REST service beta


  Commit: 249fc1fba9acaa41e0968ecafc9aa41caa18f056
      https://github.com/zanata/zanata-server/commit/249fc1fba9acaa41e0968ecafc9aa41caa18f056
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M zanata-war/src/main/java/org/zanata/rest/service/IntrospectableObjectMonitorService.java
    A zanata-war/src/main/java/org/zanata/seam/interceptor/InvocationContextMeasurer.java
    A zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimiter.java
    M zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimitingInterceptor.java
    A zanata-war/src/main/java/org/zanata/seam/interceptor/TokenBucketsHolder.java
    A zanata-war/src/test/java/org/zanata/seam/interceptor/RateLimiterTest.java

  Log Message:
  -----------
  rhbz988202 - refactor rate limiter to block instead of throw exception with status code 403

also refactor rate limiter to be more heuristic
i.e. measure execution time of one request and only enable rate limiting if over certain time.


  Commit: 7560bf110a03170a033465fe01dc7598ba600f51
      https://github.com/zanata/zanata-server/commit/7560bf110a03170a033465fe01dc7598ba600f51
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    A functional-test/src/test/java/org/zanata/feature/misc/RateLimitRestAndUITest.java
    R functional-test/src/test/java/org/zanata/feature/misc/RateLimitTest.java

  Log Message:
  -----------
  rhbz988202 - rename functional test to prepare a split


  Commit: 324e9aceb4c520e30eca47e83d1b58d6d413273c
      https://github.com/zanata/zanata-server/commit/324e9aceb4c520e30eca47e83d1b58d6d413273c
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M zanata-war/pom.xml
    M zanata-war/src/main/java/org/zanata/seam/interceptor/InvocationContextMeasurer.java
    M zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimiter.java
    M zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimitingInterceptor.java
    A zanata-war/src/main/java/org/zanata/seam/interceptor/TokenBucket.java
    M zanata-war/src/main/java/org/zanata/seam/interceptor/TokenBucketsHolder.java
    M zanata-war/src/test/java/org/zanata/seam/SeamAutowire.java
    M zanata-war/src/test/java/org/zanata/seam/interceptor/RateLimiterTest.java
    A zanata-war/src/test/java/org/zanata/seam/interceptor/RateLimitingInterceptorTest.java
    M zanata-war/src/test/resources/log4j.xml

  Log Message:
  -----------
  rhbz988202 - WIP rental deposit model rate limiter


  Commit: 2034c561f999aeab1ebdb3c32cec9482d3e7da04
      https://github.com/zanata/zanata-server/commit/2034c561f999aeab1ebdb3c32cec9482d3e7da04
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M zanata-war/src/main/java/org/zanata/ApplicationConfiguration.java
    M zanata-war/src/main/java/org/zanata/action/ServerConfigurationBean.java
    R zanata-war/src/main/java/org/zanata/annotation/RateLimiting.java
    R zanata-war/src/main/java/org/zanata/annotation/RateLimitingResource.java
    M zanata-war/src/main/java/org/zanata/config/DatabaseBackedConfig.java
    A zanata-war/src/main/java/org/zanata/rest/HeaderHelper.java
    A zanata-war/src/main/java/org/zanata/rest/RateLimiterHolder.java
    A zanata-war/src/main/java/org/zanata/rest/RestRateLimiter.java
    A zanata-war/src/main/java/org/zanata/rest/ZanataRestRateLimiterInterceptor.java
    M zanata-war/src/main/java/org/zanata/rest/ZanataRestSecurityInterceptor.java
    M zanata-war/src/main/java/org/zanata/rest/ZanataResteasyBootstrap.java
    M zanata-war/src/main/java/org/zanata/rest/service/AsynchronousProcessResourceService.java
    M zanata-war/src/main/java/org/zanata/rest/service/IntrospectableObjectMonitorService.java
    M zanata-war/src/main/java/org/zanata/rest/service/SourceDocResourceService.java
    R zanata-war/src/main/java/org/zanata/seam/interceptor/InvocationContextMeasurer.java
    R zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimiter.java
    R zanata-war/src/main/java/org/zanata/seam/interceptor/RateLimitingInterceptor.java
    R zanata-war/src/main/java/org/zanata/seam/interceptor/TokenBucket.java
    R zanata-war/src/main/java/org/zanata/seam/interceptor/TokenBucketsHolder.java
    M zanata-war/src/main/resources/messages.properties
    M zanata-war/src/main/webapp/admin/server_configuration.xhtml
    A zanata-war/src/test/java/org/zanata/rest/RestRateLimiterTest.java
    R zanata-war/src/test/java/org/zanata/seam/interceptor/RateLimiterTest.java
    R zanata-war/src/test/java/org/zanata/seam/interceptor/RateLimitingInterceptorTest.java
    M zanata-war/src/test/resources/log4j.xml

  Log Message:
  -----------
  rhbz988202 - use REST interceptor and combine semaphore and rate limiter together


  Commit: af5e1d6514ad642de5b040de09e3d52480e74da4
      https://github.com/zanata/zanata-server/commit/af5e1d6514ad642de5b040de09e3d52480e74da4
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M functional-test/src/test/java/org/zanata/feature/misc/RateLimitRestAndUITest.java
    M zanata-model/src/main/java/org/zanata/model/HApplicationConfiguration.java
    A zanata-war/src/main/java/org/zanata/rest/ActiveApiKeys.java
    M zanata-war/src/main/java/org/zanata/rest/RateLimiterHolder.java
    M zanata-war/src/main/java/org/zanata/rest/RestRateLimiter.java
    M zanata-war/src/main/java/org/zanata/rest/ZanataRestRateLimiterInterceptor.java
    M zanata-war/src/test/java/org/zanata/rest/RestRateLimiterTest.java

  Log Message:
  -----------
  rhbz988202 - add new configuration for semaphore and rewrite tests


  Commit: c891a56d4a31b0cade6558828b1ed577fd57f918
      https://github.com/zanata/zanata-server/commit/c891a56d4a31b0cade6558828b1ed577fd57f918
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M functional-test/src/main/java/org/zanata/rest/SampleProjectResource.java
    M functional-test/src/main/java/org/zanata/rest/SampleProjectResourceImpl.java
    M functional-test/src/test/java/org/zanata/feature/misc/RateLimitRestAndUITest.java
    M zanata-war/src/main/java/org/zanata/rest/AuthorizationExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/ConstraintViolationExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/HibernateExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/NoSuchEntityExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/NotLoggedInExceptionMapper.java
    A zanata-war/src/main/java/org/zanata/rest/RateLimitingAwareExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/ReadOnlyEntityExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/TMXParseExceptionMapper.java
    M zanata-war/src/main/java/org/zanata/rest/ZanataResteasyBootstrap.java
    M zanata-war/src/main/java/org/zanata/rest/ZanataServiceExceptionMapper.java
    A zanata-war/src/test/java/org/zanata/rest/RateLimitingAwareExceptionMapperTest.java

  Log Message:
  -----------
  rhbz988202 - ensure when exception occur semaphore is released


  Commit: 48966fd4096fd8431ddaa300e3c0bca6a7f72477
      https://github.com/zanata/zanata-server/commit/48966fd4096fd8431ddaa300e3c0bca6a7f72477
  Author: Patrick Huang <pahuang at redhat.com>
  Date:   2014-03-10 (Mon, 10 Mar 2014)

  Changed paths:
    M functional-test/src/main/java/org/zanata/page/administration/ServerConfigurationPage.java
    M functional-test/src/test/java/org/zanata/feature/misc/RateLimitRestAndUITest.java
    M zanata-war/src/main/java/org/zanata/action/ServerConfigurationBean.java
    M zanata-war/src/test/resources/log4j.xml

  Log Message:
  -----------
  rhbz988202 - change field validation so that empty string is accepted


Compare: https://github.com/zanata/zanata-server/compare/ba271166da68^...48966fd4096f


More information about the zanata-commits mailing list