Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@
import static com.linkedin.venice.ConfigKeys.LOG_COMPACTION_SCHEDULING_ENABLED;
import static com.linkedin.venice.ConfigKeys.LOG_COMPACTION_THREAD_COUNT;
import static com.linkedin.venice.ConfigKeys.LOG_COMPACTION_THRESHOLD_MS;
import static com.linkedin.venice.ConfigKeys.MAX_READ_CAPACITY;
import static com.linkedin.venice.ConfigKeys.META_STORE_WRITER_CLOSE_CONCURRENCY;
import static com.linkedin.venice.ConfigKeys.META_STORE_WRITER_CLOSE_TIMEOUT_MS;
import static com.linkedin.venice.ConfigKeys.MIN_NUMBER_OF_STORE_VERSIONS_TO_PRESERVE;
Expand Down Expand Up @@ -578,6 +579,7 @@ public class VeniceControllerClusterConfig {
private final boolean disableParentRequestTopicForStreamPushes;

private final int defaultReadQuotaPerRouter;
private final long maxReadCapacityCu;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you add a comment on what these 2 variables mean and also revisit the name to make it more clear from the name? Lets also add router in the name if it's only for router quota

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point - added a comment to describe the usage of the two variables and renamed the new config to include router


private final int defaultMaxRecordSizeBytes; // default value for VeniceWriter.maxRecordSizeBytes
private final int replicationMetadataVersion;
Expand Down Expand Up @@ -760,6 +762,7 @@ public VeniceControllerClusterConfig(VeniceProperties props) {
props.getBoolean(CONTROLLER_DISABLE_PARENT_REQUEST_TOPIC_FOR_STREAM_PUSHES, false);
this.defaultReadQuotaPerRouter =
props.getInt(CONTROLLER_DEFAULT_READ_QUOTA_PER_ROUTER, DEFAULT_PER_ROUTER_READ_QUOTA);
this.maxReadCapacityCu = props.getLong(MAX_READ_CAPACITY, 100000);
this.defaultMaxRecordSizeBytes =
props.getInt(DEFAULT_MAX_RECORD_SIZE_BYTES, DEFAULT_MAX_RECORD_SIZE_BYTES_BACKFILL);
if (defaultMaxRecordSizeBytes < BYTES_PER_MB) {
Expand Down Expand Up @@ -1248,6 +1251,10 @@ public int getDefaultReadQuotaPerRouter() {
return defaultReadQuotaPerRouter;
}

public long getMaxReadCapacityCu() {
return maxReadCapacityCu;
}

public int getDefaultMaxRecordSizeBytes() {
return defaultMaxRecordSizeBytes;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5667,17 +5667,6 @@ private void internalUpdateStore(String clusterName, String storeName, UpdateSto
}

if (readQuotaInCU.isPresent()) {
HelixVeniceClusterResources resources = getHelixVeniceClusterResources(clusterName);
ZkRoutersClusterManager routersClusterManager = resources.getRoutersClusterManager();
int routerCount = routersClusterManager.getLiveRoutersCount();
VeniceControllerClusterConfig clusterConfig = getHelixVeniceClusterResources(clusterName).getConfig();
int defaultReadQuotaPerRouter = clusterConfig.getDefaultReadQuotaPerRouter();

if (Math.max(defaultReadQuotaPerRouter, routerCount * defaultReadQuotaPerRouter) < readQuotaInCU.get()) {
throw new VeniceException(
"Cannot update read quota for store " + storeName + " in cluster " + clusterName + ". Read quota "
+ readQuotaInCU.get() + " requested is more than the cluster quota.");
}
setStoreReadQuota(clusterName, storeName, readQuotaInCU.get());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,7 @@
import com.linkedin.venice.helix.ParentHelixOfflinePushAccessor;
import com.linkedin.venice.helix.Replica;
import com.linkedin.venice.helix.StoragePersonaRepository;
import com.linkedin.venice.helix.ZkRoutersClusterManager;
import com.linkedin.venice.helix.ZkStoreConfigAccessor;
import com.linkedin.venice.meta.BackupStrategy;
import com.linkedin.venice.meta.BufferReplayPolicy;
Expand Down Expand Up @@ -2824,8 +2825,21 @@ public void updateStore(String clusterName, String storeName, UpdateStoreQueryPa
setStore.enableWrites = writeability.map(addToUpdatedConfigList(updatedConfigsList, ENABLE_WRITES))
.orElseGet(currStore::isEnableWrites);

setStore.readQuotaInCU = readQuotaInCU.map(addToUpdatedConfigList(updatedConfigsList, READ_QUOTA_IN_CU))
.orElseGet(currStore::getReadQuotaInCU);
if (readQuotaInCU.isPresent()) {
HelixVeniceClusterResources resources = getHelixVeniceClusterResources(clusterName);
ZkRoutersClusterManager routersClusterManager = resources.getRoutersClusterManager();
int routerCount = routersClusterManager.getLiveRoutersCount();
VeniceControllerClusterConfig clusterConfig = getHelixVeniceClusterResources(clusterName).getConfig();
int defaultReadQuotaPerRouter = clusterConfig.getDefaultReadQuotaPerRouter();
long maxReadCapacityCu = clusterConfig.getMaxReadCapacityCu();
if (Math.max(defaultReadQuotaPerRouter, maxReadCapacityCu) * routerCount < readQuotaInCU.get()) {
throw new VeniceException(
"Cannot update read quota for store " + storeName + " in cluster " + clusterName + ". Read quota "
+ readQuotaInCU.get() + " requested is more than the cluster quota.");
}
setStore.readQuotaInCU = readQuotaInCU.get();
updatedConfigsList.add(READ_QUOTA_IN_CU);
}

// We need to be careful when handling currentVersion.
// Since it is not synced between parent and local controller,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@
import com.linkedin.venice.exceptions.VeniceStoreAlreadyExistsException;
import com.linkedin.venice.exceptions.VeniceUnsupportedOperationException;
import com.linkedin.venice.helix.HelixReadWriteStoreRepository;
import com.linkedin.venice.helix.StoragePersonaRepository;
import com.linkedin.venice.helix.ZkRoutersClusterManager;
import com.linkedin.venice.meta.BufferReplayPolicy;
import com.linkedin.venice.meta.ConcurrentPushDetectionStrategy;
import com.linkedin.venice.meta.HybridStoreConfigImpl;
Expand Down Expand Up @@ -123,6 +125,7 @@
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.DataProvider;
import org.testng.annotations.Test;


Expand Down Expand Up @@ -1922,6 +1925,57 @@
assertEquals(offlineJobStatus.getExecutionStatus(), ExecutionStatus.ERROR);
}

@DataProvider(name = "readQuotaTestCases")
public Object[][] readQuotaTestCases() {
return new Object[][] { { 100, 0, 10L, true }, // Default quota is enough
{ 0, 100L, 10L, true }, // Default quota not enough but max router capacity is enough
{ 0, 0, 10L, false } // Neither default quota nor max capacity is enough - should throw exception
};
}

@Test(dataProvider = "readQuotaTestCases")
public void testUpdateReadQuota(int defaultQuota, long maxCapacity, long requestedQuota, boolean shouldSucceed) {
String storeName = Utils.getUniqueString("testUpdateStore");
Store store = TestUtils.createTestStore(storeName, "test", System.currentTimeMillis());
doReturn(store).when(internalAdmin).getStore(clusterName, storeName);
mockResources(config, clusterName);
doReturn(internalAdmin.getHelixVeniceClusterResources(clusterName)).when(internalAdmin)
.getHelixVeniceClusterResources(clusterName);
when(internalAdmin.getHelixVeniceClusterResources(clusterName).getConfig()).thenReturn(config);
ZkRoutersClusterManager routersClusterManager = mock(ZkRoutersClusterManager.class);
when(internalAdmin.getHelixVeniceClusterResources(clusterName).getRoutersClusterManager())
.thenReturn(routersClusterManager);
when(routersClusterManager.getLiveRoutersCount()).thenReturn(1);
StoragePersonaRepository storagePersonaRepository = mock(StoragePersonaRepository.class);
when(internalAdmin.getHelixVeniceClusterResources(clusterName).getStoragePersonaRepository())
.thenReturn(storagePersonaRepository);

when(zkClient.readData(zkMetadataNodePath, null)).thenReturn(null)
.thenReturn(
AdminTopicMetadataAccessor.generateMetadataMap(
Optional.of(1L),
Optional.of(-1L),
Optional.of(1L),
Optional.of(LATEST_SCHEMA_ID_FOR_ADMIN_OPERATION)));

UpdateStoreQueryParams updateStoreQueryParams = new UpdateStoreQueryParams().setReadQuotaInCU(requestedQuota);
parentAdmin.initStorageCluster(clusterName);

when(config.getDefaultReadQuotaPerRouter()).thenReturn(defaultQuota);
when(config.getMaxReadCapacityCu()).thenReturn(maxCapacity);

if (shouldSucceed) {
parentAdmin.updateStore(clusterName, storeName, updateStoreQueryParams);
AdminOperation adminMessage = verifyAndGetSingleAdminOperation();
UpdateStore updateStore = (UpdateStore) adminMessage.payloadUnion;
Assert.assertEquals(updateStore.getReadQuotaInCU(), requestedQuota);
} else {
Assert.assertThrows(
VeniceException.class,
() -> parentAdmin.updateStore(clusterName, storeName, updateStoreQueryParams));
}
}

@Test
public void testUpdateStore() {
String storeName = Utils.getUniqueString("testUpdateStore");
Expand Down Expand Up @@ -1990,7 +2044,7 @@
.setMaxRecordSizeBytes(7777)
.setMaxNearlineRecordSizeBytes(6666);

parentAdmin.updateStore(clusterName, storeName, updateStoreQueryParams);

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_6ec44b3e0b_76192e66 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_6975333058_9783b48a in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_643d22af14_4e31aa43 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_5ed5bd3112_e05d7d5d in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_2e251b01d5_c1c1af25 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_6ec44b3e0b_76192e66 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_6975333058_9783b48a in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_643d22af14_4e31aa43 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_5ed5bd3112_e05d7d5d in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (8)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_2e251b01d5_c1c1af25 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_9e6048be5e_b2abbf5e in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_97aa328d93_966f6e81 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_912368b5a9_80c0bc50 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_8a88687287_ad1cd26 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_58f024adea_48fa0543 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_9e6048be5e_b2abbf5e in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_97aa328d93_966f6e81 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_912368b5a9_80c0bc50 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_8a88687287_ad1cd26 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (17)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_58f024adea_48fa0543 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_f2b12e510a_4955e1f3 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_ec85d508d7_e337570 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_e688e2c046_46eff552 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_e028bb8f7c_73702352 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_aea4b66f30_464ae809 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_f2b12e510a_4955e1f3 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_ec85d508d7_e337570 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_e688e2c046_46eff552 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_e028bb8f7c_73702352 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

Check failure on line 2047 in services/venice-controller/src/test/java/com/linkedin/venice/controller/TestVeniceParentHelixAdmin.java

View workflow job for this annotation

GitHub Actions / Controller / UT & CodeCov (11)

TestVeniceParentHelixAdmin.testUpdateStore

com.linkedin.venice.exceptions.VeniceException: Cannot update read quota for store testUpdateStore_aea4b66f30_464ae809 in cluster test-cluster. Read quota 100 requested is more than the cluster quota.

verify(veniceWriter, times(2)).put(
keyCaptor.capture(),
Expand Down
Loading