google-nomulus/javatests/google/registry/testing
guyben bba975a991 Allow over 1000 dns-updates to be handled at once
The task-queue API only allows reading 1000 tasks at a time, hence the original reason for this limit. We get over that limit by reading (and processing) items from the queue in a loop - 1000 at a time.

This is important because the 1000 dns-updates are shared among all TLDs,
meaning that a TLD with >1000 waiting updates can affect the update latency of
other TLDs.

In addition, partially fixes the bug where if there are more than 1000 updates to paused
/ non-existing TLDs, we completely block all updated to all TLDs.

By partially fixed, I mean "if we have around 1000 updates to paused TLDs, we will read them every time ReadDnsUpdates is called, ignore then, and only then get to the actual updates we want to process".

This works for a number of 1000 updates waiting - but if paused TLDs have tens or hundreds of thousands of updates waiting - this might still choke up other TLDs (not to mention we keep reading / updating 10s or 100s of thousands of tasks in the queue, that's... bad.)

A more thorough fix will come in a future CL, as it requires a more thorough change in the code.

Note that the queue lease command supports a maximum of 10 QPS. Any more than
that - and we get errors / empty results. Hence we limit our QPS to 9 to be on
the safe side.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=185218684
2018-02-20 15:42:09 -05:00
..
mapreduce Remove unnecessary type specifications 2017-12-27 11:23:03 -05:00
sftp Rationalize logging statements across codebase 2018-01-19 14:56:45 -05:00
testdata Refactor RdeKeyringModule into FakeKeyringModule 2017-03-21 14:53:25 -04:00
AbstractDomainBaseSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
AbstractEppResourceSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
AppEngineRule.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
BouncyCastleProviderRule.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
BUILD Allow over 1000 dns-updates to be handled at once 2018-02-20 15:42:09 -05:00
CertificateSamples.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ContactResourceSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
DatastoreHelper.java Add an EPP lifecycle test verifying that EAP fees are not refunded 2017-12-27 11:29:07 -05:00
default_premium_list_testdata.csv Don't allow duplicates in premium/reserved lists 2017-02-27 11:17:58 -05:00
DeterministicStringGenerator.java Create GenerateAllocationTokens nomulus tool command 2018-01-19 14:26:56 -05:00
DomainApplicationSubject.java Remove unnecessary Objects.equals() call on collections 2017-12-13 12:43:45 -05:00
DomainResourceSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
EppExceptionSubject.java Migrate final try/catch test assertions to use assert/expectThrows 2018-01-19 14:43:12 -05:00
EppLoader.java Remove unnecessary type specifications 2017-12-27 11:23:03 -05:00
EppMetricSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
FailAnswer.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeClock.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeHttpSession.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeJsonResponse.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeKeyringModule.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
FakeLockHandler.java Create an injectable LockHandler 2017-09-12 15:51:50 -04:00
FakeOAuthService.java Remove unnecessary type specifications 2017-12-27 11:23:03 -05:00
FakeResponse.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeServletInputStream.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeServletOutputStream.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeSleeper.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FakeURLFetchService.java Remove unnecessary type specifications 2017-12-27 11:23:03 -05:00
FakeUserService.java Daggerize XsrfTokenManager 2017-02-22 11:43:10 -05:00
ForwardingURLFetchService.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
FullFieldsTestEntityHelper.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
GcsTestingUtils.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
GenericEppResourceSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
GoldenFileTestHelper.java Add golden files for request component routing maps 2017-06-05 18:17:09 -04:00
GpgSystemCommandRule.java Fix some GPG related test issues 2017-12-13 12:43:45 -05:00
HistoryEntrySubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
HostResourceSubject.java Replace FailureStrategy with FailureMetadata in gtld's Subjects 2017-11-21 18:39:45 -05:00
InjectRule.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
IoSpyRule.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
Lazies.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
logging.properties Rename Java packages to use the .google TLD 2016-05-13 20:04:42 -04:00
LogsSubject.java Remove unnecessary type specifications 2017-12-27 11:23:03 -05:00
package-info.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
Providers.java Clean up some code quality issues 2017-12-01 22:14:06 -05:00
ReflectiveFieldExtractor.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
ShardableTestCase.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
SlurpAnswer.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
SystemInfo.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
SystemPropertyRule.java Switch from Guava Optionals to Java 8 Optionals 2017-10-24 16:53:47 -04:00
TaskQueueHelper.java Allow over 1000 dns-updates to be handled at once 2018-02-20 15:42:09 -05:00
TestDataHelper.java Rename all testdata loading files to conform to a single naming scheme 2017-12-01 22:14:06 -05:00
TestLogHandlerUtils.java Run automatic Java 8 conversion over codebase 2017-10-10 12:09:41 -04:00
TestObject.java Add @VirtualEntity checking to Ofy's deleteWithoutBackup() 2017-02-08 17:31:07 -05:00
TruthChainer.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
UriParameters.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00
UserInfo.java Update copyright year on all license headers 2017-02-02 16:27:22 -05:00