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 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

Reply via email to