12
12
#include < vespa/searchcore/proton/flushengine/threadedflushtarget.h>
13
13
#include < vespa/searchcore/proton/index/index_manager_initializer.h>
14
14
#include < vespa/searchcore/proton/index/index_writer.h>
15
+ #include < vespa/searchcore/proton/metrics/documentdb_tagged_metrics.h>
15
16
#include < vespa/searchcore/proton/reference/document_db_reference.h>
16
17
#include < vespa/searchcore/proton/reference/gid_to_lid_change_handler.h>
17
18
#include < vespa/searchcore/proton/reference/i_document_db_reference_resolver.h>
@@ -94,10 +95,11 @@ createIndexManagerInitializer(const DocumentDBConfig &configSnapshot, SerialNum
94
95
}
95
96
96
97
void
97
- SearchableDocSubDB::setupIndexManager (searchcorespi::IIndexManager::SP indexManager)
98
+ SearchableDocSubDB::setupIndexManager (searchcorespi::IIndexManager::SP indexManager, const Schema& schema )
98
99
{
99
100
_indexMgr = std::move (indexManager);
100
101
_indexWriter = std::make_shared<IndexWriter>(_indexMgr);
102
+ reconfigure_index_metrics (schema);
101
103
}
102
104
103
105
DocumentSubDbInitializer::UP
115
117
SearchableDocSubDB::setup (const DocumentSubDbInitializerResult &initResult)
116
118
{
117
119
Parent::setup (initResult);
118
- setupIndexManager (initResult.indexManager ());
120
+ setupIndexManager (initResult.indexManager (), *initResult. get_schema () );
119
121
_docIdLimit.set (_dms->getCommittedDocIdLimit ());
120
122
applyFlushConfig (initResult.getFlushConfig ());
121
123
}
@@ -282,6 +284,17 @@ SearchableDocSubDB::getFlushTargetsInternal()
282
284
return ret;
283
285
}
284
286
287
+ void
288
+ SearchableDocSubDB::reconfigure_index_metrics (const Schema& schema)
289
+ {
290
+ std::vector<std::string> field_names;
291
+ field_names.reserve (schema.getNumIndexFields ());
292
+ for (auto & field : schema.getIndexFields ()) {
293
+ field_names.emplace_back (field.getName ());
294
+ }
295
+ _metricsWireService.set_index_fields (_metrics.ready .index , std::move (field_names));
296
+ }
297
+
285
298
void
286
299
SearchableDocSubDB::setIndexSchema (std::shared_ptr<const Schema> schema, SerialNum serialNum)
287
300
{
@@ -292,6 +305,7 @@ SearchableDocSubDB::setIndexSchema(std::shared_ptr<const Schema> schema, SerialN
292
305
293
306
_indexMgr->setSchema (*schema, serialNum);
294
307
reconfigureIndexSearchable ();
308
+ reconfigure_index_metrics (*schema);
295
309
}
296
310
297
311
size_t
0 commit comments