-
Notifications
You must be signed in to change notification settings - Fork 24.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rewrite shard follow node task logic #31581
Rewrite shard follow node task logic #31581
Commits on Jun 27, 2018
-
Rewrite shard follow node task logic
The current shard follow mechanism is complex and does not give us easy ways the have visibility into the system (e.g. why we are falling behind). The main reason why it is complex is because the current design is highly asynchronous. Also in the current model it is hard to apply backpressure other than reducing the concurrent reads from the leader shard. This PR has the following changes: * Rewrote the shard follow task to coordinate the shard follow mechanism between a leader and follow shard in a single threaded manner. This allows for better unit testing and makes it easier to add stats. * All write operations read from the shard changes api should be added to a buffer instead of directly sending it to the bulk shard operations api. This allows to apply backpressure. In this PR there is a limit that controls how many write ops are allowed in the buffer after which no new reads will be performed until the number of ops is below that limit. * The shard changes api includes the current global checkpoint on the leader shard copy. This allows reading to be a more self sufficient process; instead of relying on a background thread to fetch the leader shard's global checkpoint. * Reading write operations from the leader shard (via shard changes api) is a seperate step then writing the write operations (via bulk shards operations api). Whereas before a read would immediately result into a write. * The bulk shard operations api returns the local checkpoint on the follow primary shard, to keep the shard follow task up to date with what has been written. * Moved the shard follow logic that was previously in ShardFollowTasksExecutor to ShardFollowNodeTask. * Moved over the changes from elastic#31242 to make shard follow mechanism resilient from node and shard failures. Relates to elastic#30086
Configuration menu - View commit details
-
Copy full SHA for 516dcb7 - Browse repository at this point
Copy the full SHA 516dcb7View commit details
Commits on Jun 28, 2018
-
Made to param required like before and changed validation in shard ch…
…anges api and LuceneChangesSnapshot to allow a response to not return up to `toSeqNo`.
Configuration menu - View commit details
-
Copy full SHA for 9dec920 - Browse repository at this point
Copy the full SHA 9dec920View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ae1f1d - Browse repository at this point
Copy the full SHA 7ae1f1dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5510731 - Browse repository at this point
Copy the full SHA 5510731View commit details -
Configuration menu - View commit details
-
Copy full SHA for f3d58e0 - Browse repository at this point
Copy the full SHA f3d58e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0330e5f - Browse repository at this point
Copy the full SHA 0330e5fView commit details -
Configuration menu - View commit details
-
Copy full SHA for adc829f - Browse repository at this point
Copy the full SHA adc829fView commit details -
coordinate reads should not schedule, but if there is budget at least…
… do a single read. if the shard changes response returns no hits and had no target seqno then it should schedule coordinate reads phase.
Configuration menu - View commit details
-
Copy full SHA for 0b8e6a7 - Browse repository at this point
Copy the full SHA 0b8e6a7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7b3fb30 - Browse repository at this point
Copy the full SHA 7b3fb30View commit details -
Configuration menu - View commit details
-
Copy full SHA for a0059ae - Browse repository at this point
Copy the full SHA a0059aeView commit details -
Configuration menu - View commit details
-
Copy full SHA for a356fbe - Browse repository at this point
Copy the full SHA a356fbeView commit details -
Configuration menu - View commit details
-
Copy full SHA for fa6bb6f - Browse repository at this point
Copy the full SHA fa6bb6fView commit details -
Configuration menu - View commit details
-
Copy full SHA for e73d990 - Browse repository at this point
Copy the full SHA e73d990View commit details
Commits on Jun 29, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 942c777 - Browse repository at this point
Copy the full SHA 942c777View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9cdf320 - Browse repository at this point
Copy the full SHA 9cdf320View commit details -
Configuration menu - View commit details
-
Copy full SHA for b5c6187 - Browse repository at this point
Copy the full SHA b5c6187View commit details
Commits on Jul 1, 2018
-
Merge remote-tracking branch 'elastic/ccr' into pr/31581
* elastic/ccr: (30 commits) Enable setting client path prefix to / (elastic#30119) [DOCS] Secure settings specified per node (elastic#31621) has_parent builder: exception message/param fix (elastic#31182) TEST: Randomize soft-deletes settings (elastic#31585) Mute 'Test typed keys parameter for suggesters' as we await a fix. Build test: Thread linger Fix gradle4.8 deprecation warnings (elastic#31654) Mute FileRealmTests#testAuthenticateCaching with an @AwaitsFix. Mute TransportChangePasswordActionTests#testIncorrectPasswordHashingAlgorithm with an @AwaitsFix. Build: Fix naming conventions task (elastic#31681) Introduce a Hashing Processor (elastic#31087) Do not check for object existence when deleting repository index files (elastic#31680) Remove extra check for object existence in repository-gcs read object (elastic#31661) Support multiple system store types (elastic#31650) [Test] Clean up some repository-s3 tests (elastic#31601) [Docs] Use capital letters in section headings (elastic#31678) muted tests that will be replaced by the shard follow task refactoring: elastic#31581 [DOCS] Add PQL language Plugin (elastic#31237) Merge AzureStorageService and AzureStorageServiceImpl and clean up tests (elastic#31607) TEST: Fix test task invocation (elastic#31657) ...
Configuration menu - View commit details
-
Copy full SHA for 5cd19ad - Browse repository at this point
Copy the full SHA 5cd19adView commit details
Commits on Jul 2, 2018
-
Configuration menu - View commit details
-
Copy full SHA for e9d61c1 - Browse repository at this point
Copy the full SHA e9d61c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b8de5f - Browse repository at this point
Copy the full SHA 9b8de5fView commit details
Commits on Jul 3, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 60fb9a8 - Browse repository at this point
Copy the full SHA 60fb9a8View commit details
Commits on Jul 5, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 75b07aa - Browse repository at this point
Copy the full SHA 75b07aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2ec6ac4 - Browse repository at this point
Copy the full SHA 2ec6ac4View commit details -
Configuration menu - View commit details
-
Copy full SHA for fa1b52f - Browse repository at this point
Copy the full SHA fa1b52fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 932eeaa - Browse repository at this point
Copy the full SHA 932eeaaView commit details -
Configuration menu - View commit details
-
Copy full SHA for aa11dda - Browse repository at this point
Copy the full SHA aa11ddaView commit details -
implemented custom WritePrimaryResult to include global checkpoint in…
… response after it replication has been completed
Configuration menu - View commit details
-
Copy full SHA for b100b97 - Browse repository at this point
Copy the full SHA b100b97View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9048913 - Browse repository at this point
Copy the full SHA 9048913View commit details -
added to test whether we always return at least 1 op when
the maxOperationSizeInBytes limit has been met
Configuration menu - View commit details
-
Copy full SHA for fb8d47e - Browse repository at this point
Copy the full SHA fb8d47eView commit details -
Configuration menu - View commit details
-
Copy full SHA for b0e3d49 - Browse repository at this point
Copy the full SHA b0e3d49View commit details -
Configuration menu - View commit details
-
Copy full SHA for b6f0320 - Browse repository at this point
Copy the full SHA b6f0320View commit details -
Configuration menu - View commit details
-
Copy full SHA for d17a4b3 - Browse repository at this point
Copy the full SHA d17a4b3View commit details
Commits on Jul 6, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 877d566 - Browse repository at this point
Copy the full SHA 877d566View commit details
Commits on Jul 9, 2018
-
made parameter names consistent and collapsed maxReadSize and maxWrit…
…eSize into maxBatchOperationCount
Configuration menu - View commit details
-
Copy full SHA for 53fe1c2 - Browse repository at this point
Copy the full SHA 53fe1c2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 813498a - Browse repository at this point
Copy the full SHA 813498aView commit details -
Configuration menu - View commit details
-
Copy full SHA for cb03c9a - Browse repository at this point
Copy the full SHA cb03c9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7682b8c - Browse repository at this point
Copy the full SHA 7682b8cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80c895d - Browse repository at this point
Copy the full SHA 80c895dView commit details -
Configuration menu - View commit details
-
Copy full SHA for e6c5422 - Browse repository at this point
Copy the full SHA e6c5422View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3eb0056 - Browse repository at this point
Copy the full SHA 3eb0056View commit details -
Configuration menu - View commit details
-
Copy full SHA for efee1af - Browse repository at this point
Copy the full SHA efee1afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2367e06 - Browse repository at this point
Copy the full SHA 2367e06View commit details -
Configuration menu - View commit details
-
Copy full SHA for d9086fe - Browse repository at this point
Copy the full SHA d9086feView commit details
Commits on Jul 10, 2018
-
Configuration menu - View commit details
-
Copy full SHA for bf251af - Browse repository at this point
Copy the full SHA bf251afView commit details -
Configuration menu - View commit details
-
Copy full SHA for 775de27 - Browse repository at this point
Copy the full SHA 775de27View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf63047 - Browse repository at this point
Copy the full SHA cf63047View commit details -
the if check is not needed, calling coordinateReads() and coordinateW…
…rites() is always safe
Configuration menu - View commit details
-
Copy full SHA for cb09fd7 - Browse repository at this point
Copy the full SHA cb09fd7View commit details