aboutsummaryrefslogtreecommitdiffstats
path: root/searchcore
Commit message (Collapse)AuthorAgeFilesLines
...
| * - Add class comments.Henning Baldersheim2021-12-081-3/+10
| | | | | | | | | | - Unify info logging. - Demote some info logging to debug.
| * Separate spread and bloatHenning Baldersheim2021-12-088-41/+121
| |
* | Move CompactionStrategy from searchcommon to vespalib.Tor Egge2021-12-0811-25/+29
|/
* Set AttributeHeader _fileName member when extracting tagsTor Egge2021-12-061-1/+1
| | | | from GenericHeader.
* Reduce indexing.reactiontime from 5ms to 2msHenning Baldersheim2021-12-031-1/+1
|
* Iterate outside of the loopHenning Baldersheim2021-12-031-2/+2
|
* Merge pull request #20329 from ↵Arne H Juul2021-12-0230-44/+43
|\ | | | | | | | | vespa-engine/arnej/config-class-should-not-be-public Arnej/config class should not be public
| * more descriptive name for header fileArne H Juul2021-12-0224-24/+24
| |
| * track namespace move in documenttypes.defArne H Juul2021-12-0230-44/+43
| | | | | | | | | | | | | | * For C++ code this introduces a "document::config" namespace, which will sometimes conflict with the global "config" namespace. * Move all forward-declarations of the types DocumenttypesConfig and DocumenttypesConfigBuilder to a common header file.
* | - Use the wakeupservice as main source for frequent regular wakeups.Henning Baldersheim2021-12-022-6/+5
| | | | | | | | | | - Keep a self wakeup of 100ms - Avoid using default arguments to be able to find callsite.
* | Must also wait for the other threads to complete their work as that is also ↵Henning Baldersheim2021-12-011-31/+54
| | | | | | | | tested.
* | sync_all_executors is now gone.Henning Baldersheim2021-11-303-35/+15
|/
* Merge pull request #20294 from vespa-engine/balder/use-invokeserviceHenning Baldersheim2021-11-3010-6/+53
|\ | | | | Use new InvokerService for doing wakeup calls at regular intervals.
| * Use new InvokerService for doing wakeup calls at regular intervals.Henning Baldersheim2021-11-3010-6/+53
| |
* | Sync master executor one extra time....Henning Baldersheim2021-11-301-0/+2
|/
* Do not move when it is a const reference.Henning Baldersheim2021-11-301-1/+1
|
* Add DoneCallback to removeDocuments.Henning Baldersheim2021-11-3014-78/+71
|
* Add DoneCallback to heartBeat so it can be tested without relying on sync.Henning Baldersheim2021-11-3019-45/+58
|
* Wire in OnDoneCallback in handleLidSpaceCompaction to avoid brute force ↵Henning Baldersheim2021-11-3014-28/+38
| | | | sync_all_executors.
* Avoid using sync_all_executors.Henning Baldersheim2021-11-301-6/+11
|
* Avoid using sync_all_executors.Henning Baldersheim2021-11-301-15/+26
|
* Merge pull request #20275 from vespa-engine/balder/hide-sync-implementationv7.507.96Henning Baldersheim2021-11-293-8/+16
|\ | | | | Hide sync implementation.
| * Just use the basic interface.Henning Baldersheim2021-11-291-1/+1
| |
| * Keep shared_raw as it is needed for compile cache. But only provide ↵Henning Baldersheim2021-11-291-0/+1
| | | | | | | | shared_ptr<Executor> to avoid exposing sync.
| * Hide sync implementation.Henning Baldersheim2021-11-293-7/+14
| |
* | Add protection against executor being nullptr.Geir Storli2021-11-291-0/+3
|/
* Add support for using a shared field writer executor among all document dbs.Geir Storli2021-11-2920-72/+192
| | | | This is currently controlled with a feature flag setting a proton config to turn it on.
* Test deriving of the number of shared threads (among all document dbs).Geir Storli2021-11-293-0/+51
|
* 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.