summaryrefslogtreecommitdiffstats
path: root/searchcore
Commit message (Collapse)AuthorAgeFilesLines
...
* Update document db feeding metrics.Tor Egge2021-11-269-13/+189
|
* Merge pull request #20243 from vespa-engine/balder/reduce-use-of-syncableHenning Baldersheim2021-11-268-27/+41
|\ | | | | Remove the need for Syncable
| * Use MonitoredRefCount/RetainGuard instead of atomic/sleepHenning Baldersheim2021-11-262-16/+11
| |
| * Remove the need for SyncableHenning Baldersheim2021-11-268-27/+46
| |
* | Refactor setup of thread executors that are shared across all document dbs.Geir Storli2021-11-2615-87/+273
|/ | | | This is in preparation of a shared field writer executor.
* Merge pull request #20235 from vespa-engine/balder/only-master-need-syncGeir Storli2021-11-2614-46/+169
|\ | | | | Only expose sync for the master thread.
| * Only expose sync for the master thread.Henning Baldersheim2021-11-2614-46/+169
| |
* | Merge pull request #20237 from ↵Henning Baldersheim2021-11-267-0/+76
|\ \ | | | | | | | | | | | | vespa-engine/toregge/add-proton-document-db-feeding-metrics Add proton document db feeding metrics.
| * | Update ↵Henning Baldersheim2021-11-261-1/+1
| | | | | | | | | | | | | | | searchcore/src/vespa/searchcore/proton/metrics/document_db_commit_metrics.cpp Co-authored-by: Geir Storli <geirst@yahooinc.com>
| * | Add proton document db feeding metrics.Tor Egge2021-11-267-0/+76
| |/
* / Avoid requiring a syncable executor for warmup.Henning Baldersheim2021-11-2612-50/+49
|/
* Merge pull request #20230 from ↵Henning Baldersheim2021-11-2615-104/+90
|\ | | | | | | | | vespa-engine/balder/summary-only-needs-a-thread-executor Summary only needs a ThreadExecutor. Also GC some unused members and …
| * Summary only needs a ThreadExecutor. Also GC some unused members and methods.Henning Baldersheim2021-11-2615-104/+90
| |
* | Remove sync_all_executors from IThreadingService interface.Henning Baldersheim2021-11-266-19/+7
|/
* Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-245-8/+31
| | | | | | | | | | | Only skip deactivating buckets if the entire _node_ is marked as maintenance state, i.e. the node has maintenance state across all bucket spaces provided in the bundle. Otherwise treat the state transition as if the node goes down, deactivating all buckets. Also ensure that the bucket deactivation logic above the SPI is identical to that within Proton. This avoids bucket DBs getting out of sync between the two.
* Continue serving search queries when in Maintenance node stateTor Brede Vekterli2021-11-2410-18/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, entering maintenance state would implicitly deactivate all buckets on the searchnode and cause empty responses to be returned for searches. However, container query dispatch uses async health pings to decide which nodes to route queries to, so it would be possible for a node to still be used for queries for a few seconds until the ping discovered that the node should not be used. In the case of multiple groups without multiple ready replicas within the group, this would cause transient coverage loss since the dispatcher would not realize it should route queries to other groups instead. With this commit, maintenance edge behavior is changed as follows: - Buckets are _not_ deactivated when going from an available state to the maintenance state. However, they _are_ deactivate when going from maintenance state to an available state in order to avoid transient query duplicates immediately after the change. - Searches are executed as normal instead of returning empty replies when the node is in maintenance state. The following behavior is intentionally _not_ changed: - The search interface is still marked as offline when in maintenance state, as this signals that the node should be taken out of rotation. In particular, it's critical that the RPC health ping response is explicitly tagged as having zero active docs when the search interface is offline, even though many buckets may now actually be active. Otherwise, queries would not be gracefully drained from the node.
* Revert "Continue serving search queries when in Maintenance node state ↵Henning Baldersheim2021-11-2311-164/+21
| | | | [run-systemtest]"
* Merge pull request #20156 from ↵Henning Baldersheim2021-11-2311-21/+164
|\ | | | | | | | | vespa-engine/vekterli/allow-searches-when-node-is-in-maintenance-mode Continue serving search queries when in Maintenance node state [run-systemtest]
| * Handle case where bucket spaces have differing maintenance state for a nodeTor Brede Vekterli2021-11-235-8/+31
| | | | | | | | | | | | | | | | | | | | | | Only skip deactivating buckets if the entire _node_ is marked as maintenance state, i.e. the node has maintenance state across all bucket spaces provided in the bundle. Otherwise treat the state transition as if the node goes down, deactivating all buckets. Also ensure that the bucket deactivation logic above the SPI is identical to that within Proton. This avoids bucket DBs getting out of sync between the two.
| * Continue serving search queries when in Maintenance node stateTor Brede Vekterli2021-11-2210-18/+138
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, entering maintenance state would implicitly deactivate all buckets on the searchnode and cause empty responses to be returned for searches. However, container query dispatch uses async health pings to decide which nodes to route queries to, so it would be possible for a node to still be used for queries for a few seconds until the ping discovered that the node should not be used. In the case of multiple groups without multiple ready replicas within the group, this would cause transient coverage loss since the dispatcher would not realize it should route queries to other groups instead. With this commit, maintenance edge behavior is changed as follows: - Buckets are _not_ deactivated when going from an available state to the maintenance state. However, they _are_ deactivate when going from maintenance state to an available state in order to avoid transient query duplicates immediately after the change. - Searches are executed as normal instead of returning empty replies when the node is in maintenance state. The following behavior is intentionally _not_ changed: - The search interface is still marked as offline when in maintenance state, as this signals that the node should be taken out of rotation. In particular, it's critical that the RPC health ping response is explicitly tagged as having zero active docs when the search interface is offline, even though many buckets may now actually be active. Otherwise, queries would not be gracefully drained from the node.
* | GC redundant sync_all_executors from DocumentDB::closeHenning Baldersheim2021-11-232-9/+7
| |
* | Merge pull request #20169 from vespa-engine/balder/gc-sync-from-syncFeedViewHenning Baldersheim2021-11-231-1/+0
|\ \ | | | | | | GC sync_all_executors from syncFeedView.
| * | GC sync_all_executors from syncFeedView.Henning Baldersheim2021-11-231-1/+0
| | |
* | | Allow compactLidSpace with same serial number.Henning Baldersheim2021-11-231-1/+1
| | |
* | | Revert "Go back to using sync"Henning Baldersheim2021-11-232-4/+3
|/ /
* | Reduce document meta store commit rate.Tor Egge2021-11-231-6/+0
| |
* | commit requires full sync.Henning Baldersheim2021-11-221-1/+6
| |
* | Do not require sync of all executorsHenning Baldersheim2021-11-221-3/+6
| |
* | Only require sync of master.Henning Baldersheim2021-11-221-1/+1
| |
* | Differentiate the levels of sync required.Henning Baldersheim2021-11-225-30/+63
| |
* | Get callback when setBucketStateCalculator has completed.Henning Baldersheim2021-11-2217-33/+48
|/
* Merge pull request #20144 from ↵Henning Baldersheim2021-11-223-13/+5
|\ | | | | | | | | vespa-engine/toregge/maintenancecontroller-cleanup Simplify MaintenanceController::killJobs() and remove dead code.
| * Simplify MaintenanceController::killJobs() and remove dead code.Tor Egge2021-11-223-13/+5
| |
* | sync_all_executor => shutdownHenning Baldersheim2021-11-221-3/+2
|/
* Go back to using syncHenning Baldersheim2021-11-222-3/+4
|
* Follow renamingHenning Baldersheim2021-11-224-40/+44
|
* GC some unused code and less sync_all_executors.Henning Baldersheim2021-11-217-47/+22
|
* GC some unused code and less sync_all_executors.Henning Baldersheim2021-11-214-35/+17
|
* GC unused code and replace sync_all_executors in test.Henning Baldersheim2021-11-212-8/+6
|
* Updated expected invocation count after sync has been replaced with forceCommitHenning Baldersheim2021-11-211-6/+2
|
* Use forceCommitAndWait instead of syncing executors.Henning Baldersheim2021-11-211-2/+1
|
* Less sync_all_executorsHenning Baldersheim2021-11-211-3/+4
|
* Add missing ifeedview.cppHenning Baldersheim2021-11-211-0/+16
|
* Consolidate code to do force-commit-and-wait.Henning Baldersheim2021-11-215-22/+7
|
* Merge pull request #20130 from ↵Henning Baldersheim2021-11-203-4/+9
|\ | | | | | | | | vespa-engine/balder/replace-sync_all_executors-with-force_commit Replace sync_all_executors with forceCommit.
| * Replace sync_all_executors with forceCommit.Henning Baldersheim2021-11-203-4/+9
| |
* | Merge pull request #20132 from ↵Henning Baldersheim2021-11-201-1/+3
|\ \ | | | | | | | | | | | | vespa-engine/balder/gc-unused_sync_all-in-feedhandler Replace sync_all with forceCommit.
| * | Replace sync_all with forceCommit.Henning Baldersheim2021-11-201-1/+3
| |/
* / GC unused numsearcher config.Henning Baldersheim2021-11-206-64/+32
|/
* Revert "Revert "Only inc generations on commit. Avoid doing it for every ↵Tor Egge2021-11-191-1/+1
| | | | removeBatch.""