vjagadish1989 commented on a change in pull request #961: SAMZA-2134:Enable table rate limiter by default. URL: https://github.com/apache/samza/pull/961#discussion_r268846328
########## File path: samza-api/src/main/java/org/apache/samza/table/descriptors/RemoteTableDescriptor.java ########## @@ -173,6 +179,41 @@ public RemoteTableDescriptor(String tableId) { return this; } + /** + * Disable both read and write rate limiter. If the read rate limiter is enabled, the user must provide a rate limiter + * by calling {@link #withRateLimiter(RateLimiter, TableRateLimiter.CreditFunction, TableRateLimiter.CreditFunction)} + * or {@link #withReadRateLimit(int)}. If the write rate limiter is enabled, the user must provide a rate limiter + * by calling {@link #withRateLimiter(RateLimiter, TableRateLimiter.CreditFunction, TableRateLimiter.CreditFunction)} + * or {@link #withWriteRateLimit(int)}. By default, both read and write rate limiters are enabled. + * + * @return this table descriptor instance. + */ + public RemoteTableDescriptor<K, V> withDisableRateLimiter() { + withDisableReadRateLimiter(); + withDisableWriteRateLimiter(); + return this; + } + + /** + * Disable the read rate limiter. + * + * @return this table descriptor instance. + */ + public RemoteTableDescriptor<K, V> withDisableReadRateLimiter() { + this.enableReadRateLimiter = false; + return this; + } + + /** + * Disable the write rate limiter. Review comment: There are multiple combination of APIs in this class. - APIs that set read rate-limits and write rate-limits - APIs that set read-rate-limiter and write-rate-limiter - APIs that turn off rate-limiting It maybe confusing to deal with these combinations / overrides and validate which of them are compatible at run-time. Instead, I'd rather us not expose the "disable" API combinations and instead, enforce limits during construction ``` RemoteTableDescriptor(int readQPS, int writeQPS); RemoteTableDescriptor(RateLimiter limiter); ``` ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org With regards, Apache Git Services