summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java1
-rw-r--r--config-model/src/main/javacc/SDParser.jj54
-rw-r--r--config-model/src/test/examples/invalid-name.sd12
-rw-r--r--config-model/src/test/examples/simple-with-weird-name.sd13
-rw-r--r--config-model/src/test/java/com/yahoo/searchdefinition/SearchDefinitionsParsingTestCase.java35
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/container/xml/SearchBuilderTest.java13
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/content/ReservedDocumentTypeNameValidatorTest.java2
-rw-r--r--config/src/vespa/config/retriever/configkeyset.h8
-rw-r--r--config/src/vespa/config/retriever/configkeyset.hpp16
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java2
-rw-r--r--jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/AthenzPrincipalFilter.java2
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java33
-rw-r--r--jdisc_http_service/src/main/java/com/yahoo/jdisc/http/servlet/ServletRequest.java3
-rw-r--r--messagebus/src/vespa/messagebus/network/rpcsend.h4
-rw-r--r--searchcore/src/vespa/searchcore/grouping/groupingmanager.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_aspect_delayer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_initializer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/attribute/i_attribute_writer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/bucketdb/ibucketdbhandler.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/common/selectcontext.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/summarycompacttarget.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/summaryflushtarget.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/documentmetastore/lidreusedelayer.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/flushengine/shrink_lid_space_flush_target.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/match_master.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/matcher.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/result_processor.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/sessionmanager.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/metrics/metricswireservice.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/document_db_reference.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_handler.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_mapper_factory.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference_resolver.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/document_scan_iterator.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentbucketmover.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentdb.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentretriever.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h10
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/feedhandler.h10
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/forcecommitcontext.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/forcecommitdonetask.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/frozenbuckets.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/idocumentsubdb.h10
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/ifeedview.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/ireplaypackethandler.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h6
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/pruneremoveddocumentsjob.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/removedonecontext.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/removedonetask.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/sample_attribute_usage_job.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h4
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.h2
-rw-r--r--searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h2
-rw-r--r--security-utils/src/main/java/com/yahoo/security/KeyUtils.java1
-rw-r--r--security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java1
67 files changed, 173 insertions, 173 deletions
diff --git a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
index 804c677f9cf..b2a1507b424 100644
--- a/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
+++ b/config-application-package/src/main/java/com/yahoo/config/model/application/provider/FilesApplicationPackage.java
@@ -617,7 +617,6 @@ public class FilesApplicationPackage implements ApplicationPackage {
@Override
public Reader getRankingExpression(String name) {
try {
- File file = expressionFileNameToFile(name);
return IOUtils.createReader(expressionFileNameToFile(name), "utf-8");
}
catch (IOException e) {
diff --git a/config-model/src/main/javacc/SDParser.jj b/config-model/src/main/javacc/SDParser.jj
index f2eb45205df..883dfc7ac72 100644
--- a/config-model/src/main/javacc/SDParser.jj
+++ b/config-model/src/main/javacc/SDParser.jj
@@ -357,8 +357,7 @@ TOKEN :
| < CONSTANTS: "constants" >
| < FILE: "file" >
| < URI: "uri" >
-| < IDENTIFIER: ["a"-"z","A"-"Z", "_"] (["a"-"z","A"-"Z","0"-"9","_"])* >
-| < IDENTIFIER_WITH_DASH: ["a"-"z","A"-"Z", "_"] (["a"-"z","A"-"Z","0"-"9","_","-"])* >
+| < IDENTIFIER: ["a"-"z","A"-"Z", "_"] (["a"-"z","A"-"Z","0"-"9","_","-"])* >
| < QUOTEDSTRING: "\"" ( ~["\""] )* "\"" >
| < CONTEXT: ["a"-"z","A"-"Z"] (["a"-"z", "A"-"Z", "0"-"9"])* >
| < DOUBLE: ("-")? (["0"-"9"])+ "." (["0"-"9"])+ >
@@ -416,7 +415,10 @@ Search rootSearch(String dir) :
Search search;
}
{
- ( <SEARCH> name = identifier() { search = new Search(name, app);
+ ( <SEARCH> name = identifier() { if (!name.matches("[a-zA-Z_][a-zA-Z_:0-9]*")) {
+ deployLogger.log(Level.WARNING, name + " can not be used in YQL+ expressions.");
+ }
+ search = new Search(name, app);
rankProfileRegistry.add(new DefaultRankProfile(search, rankProfileRegistry));
rankProfileRegistry.add(new UnrankedRankProfile(search, rankProfileRegistry));}
lbrace() (rootSearchItem(search) (<NL>)*)* <RBRACE> (<NL>)* <EOF>)
@@ -667,15 +669,14 @@ void fieldSetItem(String setName, Search search) :
( <FIELDS><COLON> field=identifier() { search.fieldSets().addUserFieldSetItem(setName, field); }
( <COMMA> field=identifier() { search.fieldSets().addUserFieldSetItem(setName, field); } )* )
|
- ( <QUERYCOMMAND> <COLON> (queryCommand = identifierWithDash() | queryCommand = quotedString())) { search.fieldSets().userFieldSets().get(setName).queryCommands().add(queryCommand);}
+ ( <QUERYCOMMAND> <COLON> (queryCommand = identifier() | queryCommand = quotedString())) { search.fieldSets().userFieldSets().get(setName).queryCommands().add(queryCommand);}
|
( match(matchSettings) ) { matchSettings.applyOperations(); search.fieldSets().userFieldSets().get(setName).setMatching(matchSettings.getMatching());}
}
/**
* This rule consumes a annotation block from within either a document element or a search element.
-
- * @param search the search object to add content to.
+ * @param search The search object to add content to.
*/
void annotationOutside(Search search) :
{
@@ -697,7 +698,6 @@ void annotationOutside(Search search) :
/**
* This rule consumes a annotation block from within either a document element.
- *
* @param document The document object to add content to.
*/
void annotation(Search search, SDDocumentType document) :
@@ -1183,7 +1183,7 @@ Object sortingSetting(SortingOperation sorting, String attributeName) :
| <QUATERNARY> { sorting.setStrength(Sorting.Strength.QUATERNARY); }
| <IDENTICAL> { sorting.setStrength(Sorting.Strength.IDENTICAL); }
)
- | <LOCALE> <COLON> locale = identifierWithDash() { sorting.setLocale(locale); }
+ | <LOCALE> <COLON> locale = identifier() { sorting.setLocale(locale); }
)
{ return null; }
}
@@ -1426,7 +1426,7 @@ void summaryProperty(SummaryInFieldLongOperation field) :
String name, value;
}
{
- name = identifierWithDash() <COLON> (value = identifierWithDash() | value = quotedString())
+ name = identifier() <COLON> (value = identifier() | value = quotedString())
{ field.addProperty(new SummaryField.Property(name, value)); }
}
@@ -1441,7 +1441,7 @@ void fieldStemming(FieldOperationContainer field) :
StemmingOperation op = new StemmingOperation();
}
{
- <STEMMING> <COLON> setting = identifierWithDash()
+ <STEMMING> <COLON> setting = identifier()
{
op.setSetting(setting);
field.addOperation(op);
@@ -1458,7 +1458,7 @@ void searchStemming(Search search) :
String setting;
}
{
- <STEMMING> <COLON> setting = identifierWithDash()
+ <STEMMING> <COLON> setting = identifier()
{ search.setStemming(Stemming.get(setting)); }
}
@@ -1473,7 +1473,7 @@ void normalizing(FieldOperationContainer field) :
String setting;
}
{
- <NORMALIZING> <COLON> setting = identifierWithDash()
+ <NORMALIZING> <COLON> setting = identifier()
{
field.addOperation(new NormalizingOperation(setting));
}
@@ -1527,7 +1527,7 @@ void queryCommand(FieldOperationContainer container) :
QueryCommandOperation field = new QueryCommandOperation();
}
{
- <QUERYCOMMAND> <COLON> command = identifierWithDash()
+ <QUERYCOMMAND> <COLON> command = identifier()
{
field.addQueryCommand(command);
container.addOperation(field);
@@ -1540,7 +1540,7 @@ void alias(FieldOperationContainer container) :
String alias;
}
{
- <ALIAS> [aliasedName = identifier()] <COLON> alias = identifierWithDash()
+ <ALIAS> [aliasedName = identifier()] <COLON> alias = identifier()
{
AliasOperation op = new AliasOperation(aliasedName, alias);
container.addOperation(op);
@@ -1773,9 +1773,9 @@ Object indexBody(IndexOperation index) :
double threshold;
}
{
- ( <PREFIX> { index.setPrefix(true); }
- | <ALIAS> <COLON> str = identifierWithDash() { index.addAlias(str); }
- | <STEMMING> <COLON> str = identifierWithDash() { index.setStemming(str); }
+ ( <PREFIX> { index.setPrefix(true); }
+ | <ALIAS> <COLON> str = identifier() { index.addAlias(str); }
+ | <STEMMING> <COLON> str = identifier() { index.setStemming(str); }
| <ARITY> <COLON> arity = integer() { index.setArity(arity); }
| <LOWERBOUND> <COLON> num = consumeLong() { index.setLowerBound(num); }
| <UPPERBOUND> <COLON> num = consumeLong() { index.setUpperBound(num); }
@@ -1855,7 +1855,7 @@ void rankProfile(Search search) :
RankProfile profile;
}
{
- ( <RANKPROFILE> name = identifierWithDash()
+ ( <RANKPROFILE> name = identifier()
{
if (documentsOnly) {
profile = new DocumentsOnlyRankProfile(name, search, rankProfileRegistry);
@@ -1912,7 +1912,7 @@ void inheritsRankProfile(RankProfile profile) :
String str;
}
{
- <INHERITS> str = identifierWithDash()
+ <INHERITS> str = identifier()
{ profile.setInherited(str); }
}
@@ -2211,9 +2211,9 @@ String rankPropertyItem() :
String image, ret = "";
}
{
- ( ( image = identifierWithDash() { ret += image; }
- | image = quotedString() { ret += image; }
- | ( "(" | ")" | <DOT> | <COMMA> ) { ret += token.image; } )+ )
+ ( ( image = identifier() { ret += image; }
+ | image = quotedString() { ret += image; }
+ | ( "(" | ")" | <DOT> | <COMMA> ) { ret += token.image; } )+ )
{ return ret; }
}
@@ -2454,16 +2454,6 @@ String expression() :
{ return exp; }
}
-String identifierWithDash() :
-{
- String identifier;
-}
-{
- ( identifier = identifier() { return identifier; } )
- |
- ( <IDENTIFIER_WITH_DASH> { return token.image; } )
-}
-
/**
* This rule consumes an identifier. This must be kept in sync with all word tokens that should be parseable as
* identifiers.
diff --git a/config-model/src/test/examples/invalid-name.sd b/config-model/src/test/examples/invalid-name.sd
deleted file mode 100644
index f26fcc723f4..00000000000
--- a/config-model/src/test/examples/invalid-name.sd
+++ /dev/null
@@ -1,12 +0,0 @@
-# Dashes in names are not allowed
-search invalid-name {
-
- document invalid-name {
-
- field title type string {
-
- }
-
- }
-
-} \ No newline at end of file
diff --git a/config-model/src/test/examples/simple-with-weird-name.sd b/config-model/src/test/examples/simple-with-weird-name.sd
new file mode 100644
index 00000000000..109f4f7bba7
--- /dev/null
+++ b/config-model/src/test/examples/simple-with-weird-name.sd
@@ -0,0 +1,13 @@
+# Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+# A minimal doc with name which is incompatible with YQL+
+search simple-with-weird-name {
+
+ document simple-with-weird-name {
+
+ field title type string {
+ indexing: summary | index
+ }
+
+ }
+
+}
diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/SearchDefinitionsParsingTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/SearchDefinitionsParsingTestCase.java
index a26154fc8da..278471cb37a 100644
--- a/config-model/src/test/java/com/yahoo/searchdefinition/SearchDefinitionsParsingTestCase.java
+++ b/config-model/src/test/java/com/yahoo/searchdefinition/SearchDefinitionsParsingTestCase.java
@@ -73,16 +73,35 @@ public class SearchDefinitionsParsingTestCase extends SearchDefinitionTestCase {
}
}
- @Test
- public void illegalSearchDefinitionName() throws IOException, ParseException {
- try {
- SearchBuilder.buildFromFile("src/test/examples/invalid-name.sd");
- fail("Name with dash passed");
- } catch (ParseException e) {
- if ( ! e.getMessage().contains("invalid-name")) {
- throw e;
+ private static class WarningCatcher extends Handler {
+ volatile boolean gotYqlWarning = false;
+
+ @Override
+ public void publish(LogRecord record) {
+ if (record.getLevel() == Level.WARNING && record.getMessage().indexOf("YQL") >= 0) {
+ gotYqlWarning = true;
}
}
+
+ @Override
+ public void flush() {
+ // intentionally left blank
+ }
+
+ @Override
+ public void close() throws SecurityException {
+ // intentionally left blank
+ }
}
+
+ @Test
+ public void requireYqlCompatibilityIsTested() throws Exception {
+ Logger log = Logger.getLogger("DeployLogger");
+ WarningCatcher w = new WarningCatcher();
+ log.addHandler(w);
+ assertNotNull(SearchBuilder.buildFromFile("src/test/examples/simple-with-weird-name.sd"));
+ log.removeHandler(w);
+ assertTrue(w.gotYqlWarning);
+ }
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/SearchBuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/SearchBuilderTest.java
index 4180f9f6de4..30f1df6a394 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/container/xml/SearchBuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/container/xml/SearchBuilderTest.java
@@ -26,6 +26,7 @@ import static org.junit.Assert.*;
/**
* @author gjoranv
+ * @since 5.1.10
*/
public class SearchBuilderTest extends ContainerModelBuilderTestBase {
@@ -34,7 +35,7 @@ public class SearchBuilderTest extends ContainerModelBuilderTestBase {
}
@Test
- public void gui_search_handler_is_always_included_when_search_is_specified() {
+ public void gui_search_handler_is_always_included_when_search_is_specified() throws Exception{
Element clusterElem = DomBuilderTest.parse(
"<jdisc id='default' version='1.0'>",
" <search />",
@@ -60,7 +61,7 @@ public class SearchBuilderTest extends ContainerModelBuilderTestBase {
@Test
- public void search_handler_bindings_can_be_overridden() {
+ public void search_handler_bindings_can_be_overridden() throws Exception {
Element clusterElem = DomBuilderTest.parse(
"<jdisc id='default' version='1.0'>",
" <search>",
@@ -79,7 +80,7 @@ public class SearchBuilderTest extends ContainerModelBuilderTestBase {
}
@Test
- public void search_handler_bindings_can_be_disabled() {
+ public void search_handler_bindings_can_be_disabled() throws Exception {
Element clusterElem = DomBuilderTest.parse(
"<jdisc id='default' version='1.0'>",
" <search>",
@@ -110,7 +111,7 @@ public class SearchBuilderTest extends ContainerModelBuilderTestBase {
assertThat(chainsConfig().chains(), hasItemWithMethod("vespa", "id"));
}
- private void createClusterWithOnlyDefaultChains() {
+ private void createClusterWithOnlyDefaultChains() throws SAXException, IOException {
Element containerElem = DomBuilderTest.parse(
"<jdisc id='default' version='1.0'>",
" <search/>",
@@ -123,7 +124,7 @@ public class SearchBuilderTest extends ContainerModelBuilderTestBase {
}
@Test
- public void manually_setting_up_search_handler_is_forbidden() {
+ public void manually_setting_up_search_handler_is_forbidden() throws IOException, SAXException {
try {
Element clusterElem = DomBuilderTest.parse(
"<jdisc id='default' version='1.0'>",
@@ -192,7 +193,7 @@ public class SearchBuilderTest extends ContainerModelBuilderTestBase {
}
- private VespaModel getVespaModelWithMusic(String hosts, String services) {
+ private VespaModel getVespaModelWithMusic(String hosts, String services) throws ParseException {
return new VespaModelCreatorWithMockPkg(hosts, services, ApplicationPackageUtils.generateSearchDefinitions("music")).create();
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ReservedDocumentTypeNameValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ReservedDocumentTypeNameValidatorTest.java
index 66f59717407..0ad5fb3b0bd 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/content/ReservedDocumentTypeNameValidatorTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ReservedDocumentTypeNameValidatorTest.java
@@ -47,7 +47,7 @@ public class ReservedDocumentTypeNameValidatorTest {
public void validation_is_case_insensitive() {
expectedException.expect(IllegalArgumentException.class);
expectedException.expectMessage("The following document types conflict with reserved keyword names: " +
- "'NULL', 'True', 'anD'.");
+ "'NULL', 'True', 'anD'.");
ReservedDocumentTypeNameValidator validator = new ReservedDocumentTypeNameValidator();
Map<String, NewDocumentType> orderedDocTypes = new TreeMap<>(asDocTypeMapping(Arrays.asList("NULL", "True", "anD")));
diff --git a/config/src/vespa/config/retriever/configkeyset.h b/config/src/vespa/config/retriever/configkeyset.h
index 294b3eb7423..e0a77f50efb 100644
--- a/config/src/vespa/config/retriever/configkeyset.h
+++ b/config/src/vespa/config/retriever/configkeyset.h
@@ -31,14 +31,8 @@ public:
*/
ConfigKeySet & add(const ConfigKeySet & configKeySet);
private:
- template<typename... ConfigTypes>
- struct TypeTag {};
-
- template<typename ConfigType>
- void addImpl(const vespalib::string & configId, TypeTag<ConfigType>);
-
template<typename ConfigType, typename... ConfigTypes>
- void addImpl(const vespalib::string & configId, TypeTag<ConfigType, ConfigTypes...>);
+ void addImpl(const vespalib::string & configId);
};
} // namespace config
diff --git a/config/src/vespa/config/retriever/configkeyset.hpp b/config/src/vespa/config/retriever/configkeyset.hpp
index cfa43fdd8f0..60fcbf7d84a 100644
--- a/config/src/vespa/config/retriever/configkeyset.hpp
+++ b/config/src/vespa/config/retriever/configkeyset.hpp
@@ -7,24 +7,18 @@ template <typename... ConfigTypes>
ConfigKeySet &
ConfigKeySet::add(const vespalib::string & configId)
{
- addImpl(configId, TypeTag<ConfigTypes...>());
+ addImpl<ConfigTypes...>(configId);
return *this;
}
-template <typename ConfigType>
-void
-ConfigKeySet::addImpl(const vespalib::string & configId, TypeTag<ConfigType>)
-{
- insert(ConfigKey::create<ConfigType>(configId));
-}
-
template <typename ConfigType, typename... ConfigTypes>
void
-ConfigKeySet::addImpl(const vespalib::string & configId, TypeTag<ConfigType, ConfigTypes...>)
+ConfigKeySet::addImpl(const vespalib::string & configId)
{
insert(ConfigKey::create<ConfigType>(configId));
- addImpl(configId, TypeTag<ConfigTypes...>());
+ if constexpr(sizeof...(ConfigTypes) > 0) {
+ addImpl<ConfigTypes...>(configId);
+ }
}
-
}
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index 117f3290d74..1f260e9d158 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -85,7 +85,7 @@ public class Flags {
NODE_TYPE, APPLICATION_ID, HOSTNAME);
public static final UnboundBooleanFlag USE_FDISPATCH_BY_DEFAULT = defineFeatureFlag(
- "use-fdispatch-by-default", false,
+ "use-fdispatch-by-default", true,
"Should fdispatch be used as the default instead of the java dispatcher",
"Takes effect at redeployment",
APPLICATION_ID);
diff --git a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/AthenzPrincipalFilter.java b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/AthenzPrincipalFilter.java
index 3c154fa4d89..5b79b806190 100644
--- a/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/AthenzPrincipalFilter.java
+++ b/jdisc-security-filters/src/main/java/com/yahoo/jdisc/http/filter/security/athenz/AthenzPrincipalFilter.java
@@ -69,7 +69,7 @@ public class AthenzPrincipalFilter extends CorsRequestFilterBase {
if (!certificatePrincipal.isPresent() && !nTokenPrincipal.isPresent()) {
String errorMessage = "Unable to authenticate Athenz identity. " +
- "Either client certificate or principal token is required.";
+ "Either client certificate or principal token is required.";
return createResponse(request, Response.Status.UNAUTHORIZED, errorMessage);
}
if (certificatePrincipal.isPresent() && nTokenPrincipal.isPresent()
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java
index f7ab399574c..da76e288a2a 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/filter/DiscFilterRequest.java
@@ -67,7 +67,8 @@ public abstract class DiscFilterRequest {
public abstract void setUri(URI uri);
public HttpRequest getParentRequest() {
- throw new UnsupportedOperationException("getParentRequest is not supported for " + parent.getClass().getName());
+ throw new UnsupportedOperationException(
+ "getParentRequest is not supported for " + parent.getClass().getName());
}
/**
@@ -339,8 +340,8 @@ public abstract class DiscFilterRequest {
* is included in the specified logical "role".
*/
public boolean isUserInRole(String role) {
- if (overrideIsUserInRole) {
- if (roles != null) {
+ if(overrideIsUserInRole) {
+ if(roles != null) {
for (String role1 : roles) {
if (role1 != null && role1.trim().length() > 0) {
String userRole = role1.trim();
@@ -399,7 +400,7 @@ public abstract class DiscFilterRequest {
*/
public void setCharacterEncoding(String encoding) {
String charEncoding = setCharsetFromContentType(this.getContentType(), encoding);
- if (charEncoding != null && !charEncoding.isEmpty()) {
+ if(charEncoding != null && !charEncoding.isEmpty()) {
removeHeaders(HttpHeaders.Names.CONTENT_TYPE);
setHeaders(HttpHeaders.Names.CONTENT_TYPE, charEncoding);
}
@@ -409,11 +410,11 @@ public abstract class DiscFilterRequest {
* Can be called multiple times to add Cookies
*/
public void addCookie(JDiscCookieWrapper cookie) {
- if (cookie != null) {
- List<Cookie> cookies = new ArrayList<>();
- // Get current set of cookies first
+ if(cookie != null) {
+ List<Cookie> cookies = new ArrayList<Cookie>();
+ //Get current set of cookies first
List<Cookie> c = getCookies();
- if (c != null && !c.isEmpty()) {
+ if(c != null && !c.isEmpty()) {
cookies.addAll(c);
}
cookies.add(cookie.getCookie());
@@ -425,7 +426,7 @@ public abstract class DiscFilterRequest {
public JDiscCookieWrapper[] getWrappedCookies() {
List<Cookie> cookies = getCookies();
- if (cookies == null) {
+ if(cookies == null) {
return null;
}
List<JDiscCookieWrapper> cookieWrapper = new ArrayList<>(cookies.size());
@@ -507,9 +508,12 @@ public abstract class DiscFilterRequest {
}
protected static ThreadLocalSimpleDateFormat formats[] = {
- new ThreadLocalSimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US),
- new ThreadLocalSimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz", Locale.US),
- new ThreadLocalSimpleDateFormat("EEE MMMM d HH:mm:ss yyyy", Locale.US) };
+ new ThreadLocalSimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz",
+ Locale.US),
+ new ThreadLocalSimpleDateFormat("EEEEEE, dd-MMM-yy HH:mm:ss zzz",
+ Locale.US),
+ new ThreadLocalSimpleDateFormat("EEE MMMM d HH:mm:ss yyyy",
+ Locale.US) };
/**
* The set of SimpleDateFormat formats to use in getDateHeader().
@@ -517,8 +521,8 @@ public abstract class DiscFilterRequest {
* Notice that because SimpleDateFormat is not thread-safe, we can't declare
* formats[] as a static variable.
*/
- protected static final class ThreadLocalSimpleDateFormat extends ThreadLocal<SimpleDateFormat> {
-
+ protected static final class ThreadLocalSimpleDateFormat extends
+ ThreadLocal<SimpleDateFormat> {
private final String format;
private final Locale locale;
@@ -537,7 +541,6 @@ public abstract class DiscFilterRequest {
public Date parse(String value) throws ParseException {
return get().parse(value);
}
-
}
}
diff --git a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/servlet/ServletRequest.java b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/servlet/ServletRequest.java
index 2eb7f432ec2..e6bb99d4647 100644
--- a/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/servlet/ServletRequest.java
+++ b/jdisc_http_service/src/main/java/com/yahoo/jdisc/http/servlet/ServletRequest.java
@@ -33,9 +33,10 @@ import static com.yahoo.jdisc.http.core.HttpServletRequestUtils.getConnection;
* You might find it tempting to remove e.g. the getParameter... methods,
* but keep in mind that this IS-A servlet request and must provide the
* full api of such a request for use outside the "JDisc filter world".
+ *
+ * @since 5.27
*/
public class ServletRequest extends HttpServletRequestWrapper implements ServletOrJdiscHttpRequest {
-
public static final String JDISC_REQUEST_PRINCIPAL = "jdisc.request.principal";
public static final String JDISC_REQUEST_X509CERT = "jdisc.request.X509Certificate";
public static final String SERVLET_REQUEST_X509CERT = "javax.servlet.request.X509Certificate";
diff --git a/messagebus/src/vespa/messagebus/network/rpcsend.h b/messagebus/src/vespa/messagebus/network/rpcsend.h
index cfc1d72418a..051abff6d1b 100644
--- a/messagebus/src/vespa/messagebus/network/rpcsend.h
+++ b/messagebus/src/vespa/messagebus/network/rpcsend.h
@@ -10,8 +10,8 @@
class FRT_ReflectionBuilder;
-namespace vespalib::slime { class Cursor; }
-namespace vespalib { class Memory; }
+namespace vespalib::slime { struct Cursor; }
+namespace vespalib { struct Memory; }
namespace vespalib { class TraceNode; }
namespace mbus {
diff --git a/searchcore/src/vespa/searchcore/grouping/groupingmanager.h b/searchcore/src/vespa/searchcore/grouping/groupingmanager.h
index 5793c8576e5..cdbace405f0 100644
--- a/searchcore/src/vespa/searchcore/grouping/groupingmanager.h
+++ b/searchcore/src/vespa/searchcore/grouping/groupingmanager.h
@@ -5,7 +5,7 @@
#include <vespa/searchcommon/attribute/iattributecontext.h>
namespace search {
- class RankedHit;
+ struct RankedHit;
class BitVector;
}
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_aspect_delayer.h b/searchcore/src/vespa/searchcore/proton/attribute/attribute_aspect_delayer.h
index 76920f84866..3a2d1b5e0b1 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_aspect_delayer.h
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_aspect_delayer.h
@@ -13,7 +13,7 @@ class InternalSummarymapType;
namespace proton {
-class IDocumentTypeInspector;
+struct IDocumentTypeInspector;
class IIndexschemaInspector;
/*
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_initializer.h b/searchcore/src/vespa/searchcore/proton/attribute/attribute_initializer.h
index c2ea83812cb..988f4d06d16 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_initializer.h
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_initializer.h
@@ -13,7 +13,7 @@ namespace search::attribute { class AttributeHeader; }
namespace proton {
class AttributeDirectory;
-class IAttributeFactory;
+struct IAttributeFactory;
/**
* Class used by an attribute manager to initialize and load attribute vectors from disk.
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.h b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.h
index a132bc6b678..d56f4c25ace 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.h
+++ b/searchcore/src/vespa/searchcore/proton/attribute/attribute_manager_initializer.h
@@ -10,7 +10,7 @@
#include <vespa/searchlib/common/serialnum.h>
#include <vespa/config-attributes.h>
-namespace searchcorespi { namespace index { class IThreadService; } }
+namespace searchcorespi { namespace index { struct IThreadService; } }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/attribute/i_attribute_writer.h b/searchcore/src/vespa/searchcore/proton/attribute/i_attribute_writer.h
index ac16c8b4073..99b5728fd3a 100644
--- a/searchcore/src/vespa/searchcore/proton/attribute/i_attribute_writer.h
+++ b/searchcore/src/vespa/searchcore/proton/attribute/i_attribute_writer.h
@@ -15,7 +15,7 @@ namespace document {
namespace proton {
-class IFieldUpdateCallback;
+struct IFieldUpdateCallback;
/**
* Interface for an attribute writer that handles writes in form of put, update and remove
diff --git a/searchcore/src/vespa/searchcore/proton/bucketdb/ibucketdbhandler.h b/searchcore/src/vespa/searchcore/proton/bucketdb/ibucketdbhandler.h
index 7d979b8069c..9743d86804c 100644
--- a/searchcore/src/vespa/searchcore/proton/bucketdb/ibucketdbhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/bucketdb/ibucketdbhandler.h
@@ -5,7 +5,7 @@
#include <vespa/document/bucket/bucketid.h>
#include <vespa/searchlib/common/serialnum.h>
-namespace proton { class IDocumentMetaStore; }
+namespace proton { struct IDocumentMetaStore; }
namespace proton::bucketdb {
diff --git a/searchcore/src/vespa/searchcore/proton/common/selectcontext.h b/searchcore/src/vespa/searchcore/proton/common/selectcontext.h
index 72699a733ab..d37c6eb6f14 100644
--- a/searchcore/src/vespa/searchcore/proton/common/selectcontext.h
+++ b/searchcore/src/vespa/searchcore/proton/common/selectcontext.h
@@ -7,7 +7,7 @@ namespace proton {
class CachedSelect;
-namespace select { class Guards; }
+namespace select { struct Guards; }
class SelectContext : public document::select::Context
{
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/summarycompacttarget.h b/searchcore/src/vespa/searchcore/proton/docsummary/summarycompacttarget.h
index ff56e480467..5dcfb2b9c10 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/summarycompacttarget.h
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/summarycompacttarget.h
@@ -4,7 +4,7 @@
#include <vespa/searchlib/docstore/idocumentstore.h>
#include <vespa/searchcorespi/flush/iflushtarget.h>
-namespace searchcorespi::index { class IThreadService; }
+namespace searchcorespi::index { struct IThreadService; }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/summaryflushtarget.h b/searchcore/src/vespa/searchcore/proton/docsummary/summaryflushtarget.h
index 06b0940a8f0..7e450649a52 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/summaryflushtarget.h
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/summaryflushtarget.h
@@ -4,7 +4,7 @@
#include <vespa/searchlib/docstore/idocumentstore.h>
#include <vespa/searchcorespi/flush/iflushtarget.h>
-namespace searchcorespi::index { class IThreadService; }
+namespace searchcorespi::index { struct IThreadService; }
namespace proton {
/**
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h
index c5acd483448..8df65e3e2ff 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.h
@@ -13,7 +13,7 @@
#include <vespa/vespalib/util/threadstackexecutor.h>
#include <vespa/fastlib/text/normwordfolder.h>
-namespace searchcorespi::index { class IThreadService; }
+namespace searchcorespi::index { struct IThreadService; }
namespace search { class IBucketizer; }
namespace search::common { class FileHeaderContext; }
diff --git a/searchcore/src/vespa/searchcore/proton/documentmetastore/lidreusedelayer.h b/searchcore/src/vespa/searchcore/proton/documentmetastore/lidreusedelayer.h
index 03bc562b39c..cb42e4ce152 100644
--- a/searchcore/src/vespa/searchcore/proton/documentmetastore/lidreusedelayer.h
+++ b/searchcore/src/vespa/searchcore/proton/documentmetastore/lidreusedelayer.h
@@ -10,7 +10,7 @@ namespace searchcorespi
namespace index
{
-class IThreadingService;
+struct IThreadingService;
}
@@ -22,7 +22,7 @@ namespace proton
namespace documentmetastore
{
-class IStore;
+struct IStore;
/**
* This class delays reuse of lids until references to the lids have
diff --git a/searchcore/src/vespa/searchcore/proton/flushengine/shrink_lid_space_flush_target.h b/searchcore/src/vespa/searchcore/proton/flushengine/shrink_lid_space_flush_target.h
index d4075437c0d..f2123bf67b4 100644
--- a/searchcore/src/vespa/searchcore/proton/flushengine/shrink_lid_space_flush_target.h
+++ b/searchcore/src/vespa/searchcore/proton/flushengine/shrink_lid_space_flush_target.h
@@ -3,7 +3,7 @@
#include <vespa/searchcorespi/flush/iflushtarget.h>
-namespace search::common { class ICompactableLidSpace; }
+namespace search::common { struct ICompactableLidSpace; }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/matching/match_master.h b/searchcore/src/vespa/searchcore/proton/matching/match_master.h
index 50f1a94b481..5de7fc144ce 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/match_master.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/match_master.h
@@ -5,13 +5,13 @@
#include "result_processor.h"
#include "matching_stats.h"
-namespace vespalib { class ThreadBundle; }
+namespace vespalib { struct ThreadBundle; }
namespace search { class FeatureSet; }
namespace proton::matching {
class MatchToolsFactory;
-class MatchParams;
+struct MatchParams;
/**
* Handles overall matching and keeps track of match threads.
diff --git a/searchcore/src/vespa/searchcore/proton/matching/matcher.h b/searchcore/src/vespa/searchcore/proton/matching/matcher.h
index 0fed257f0c0..3fb1fb24c70 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/matcher.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/matcher.h
@@ -31,7 +31,7 @@ namespace search::engine {
class DocsumRequest;
class SearchReply;
}
-namespace search { class IDocumentMetaStore; }
+namespace search { struct IDocumentMetaStore; }
namespace proton::matching {
diff --git a/searchcore/src/vespa/searchcore/proton/matching/result_processor.h b/searchcore/src/vespa/searchcore/proton/matching/result_processor.h
index d32a6986d18..41c764d247b 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/result_processor.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/result_processor.h
@@ -13,7 +13,7 @@ namespace search {
class GroupingContext;
class GroupingSession;
}
- class IDocumentMetaStore;
+ struct IDocumentMetaStore;
}
namespace proton::matching {
diff --git a/searchcore/src/vespa/searchcore/proton/matching/sessionmanager.h b/searchcore/src/vespa/searchcore/proton/matching/sessionmanager.h
index 8426ab258e0..3e3c795784c 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/sessionmanager.h
+++ b/searchcore/src/vespa/searchcore/proton/matching/sessionmanager.h
@@ -11,8 +11,8 @@ namespace proton::matching {
typedef vespalib::string SessionId;
-class GroupingSessionCache;
-class SearchSessionCache;
+struct GroupingSessionCache;
+struct SearchSessionCache;
class SessionManager : public ISessionCachePruner {
public:
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h b/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h
index dc8872c6c8b..ded156774ae 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/metrics_engine.h
@@ -17,7 +17,7 @@ namespace config {
namespace proton {
class AttributeMetrics;
-class DocumentDBTaggedMetrics;
+struct DocumentDBTaggedMetrics;
class MetricsEngine : public MetricsWireService
{
diff --git a/searchcore/src/vespa/searchcore/proton/metrics/metricswireservice.h b/searchcore/src/vespa/searchcore/proton/metrics/metricswireservice.h
index 70602adbd7b..5b4852cabe6 100644
--- a/searchcore/src/vespa/searchcore/proton/metrics/metricswireservice.h
+++ b/searchcore/src/vespa/searchcore/proton/metrics/metricswireservice.h
@@ -7,7 +7,7 @@
namespace proton {
class AttributeMetrics;
-class DocumentDBTaggedMetrics;
+struct DocumentDBTaggedMetrics;
struct MetricsWireService {
virtual void addAttribute(AttributeMetrics &subAttributes,
diff --git a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference.h b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference.h
index 56f06dca58e..0f7e7f86ac3 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference.h
@@ -3,11 +3,11 @@
#include "i_document_db_reference.h"
-namespace search { class IDocumentMetaStoreContext; }
+namespace search { struct IDocumentMetaStoreContext; }
namespace proton {
-class IAttributeManager;
+struct IAttributeManager;
class IGidToLidChangeHandler;
/*
diff --git a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.h b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.h
index 1a2c28580cb..c23669cfc12 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/document_db_reference_resolver.h
@@ -7,7 +7,7 @@
#include <map>
namespace document { class DocumentType; class DocumentTypeRepo; }
-namespace search { class ISequencedTaskExecutor; class IAttributeManager; class IDocumentMetaStoreContext;
+namespace search { class ISequencedTaskExecutor; class IAttributeManager; struct IDocumentMetaStoreContext;
namespace attribute { class IAttributeVector; class ReferenceAttribute; } }
namespace vespa { namespace config { namespace search { namespace internal { class InternalImportedFieldsType; } } } }
diff --git a/searchcore/src/vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h b/searchcore/src/vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h
index 28eb281ec95..494edec78fc 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/dummy_gid_to_lid_change_handler.h
@@ -8,7 +8,7 @@
#include <vespa/vespalib/stllike/hash_map.h>
#include <vespa/document/base/globalid.h>
-namespace searchcorespi { namespace index { class IThreadService; } }
+namespace searchcorespi { namespace index { struct IThreadService; } }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_handler.h b/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_handler.h
index 264ece76eaa..c72e9a07078 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_handler.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_change_handler.h
@@ -8,7 +8,7 @@
#include <vespa/vespalib/stllike/hash_map.h>
#include <vespa/document/base/globalid.h>
-namespace searchcorespi { namespace index { class IThreadService; } }
+namespace searchcorespi { namespace index { struct IThreadService; } }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_mapper_factory.h b/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_mapper_factory.h
index e0ffdc412a0..2b000d0d754 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_mapper_factory.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/gid_to_lid_mapper_factory.h
@@ -4,7 +4,7 @@
#include <vespa/searchlib/common/i_gid_to_lid_mapper_factory.h>
-namespace search { class IDocumentMetaStoreContext; }
+namespace search { struct IDocumentMetaStoreContext; }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference.h b/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference.h
index 1029bda191c..03acb3d5bad 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference.h
@@ -8,7 +8,7 @@ namespace search::attribute { class ReadableAttributeVector; }
namespace search {
class IGidToLidMapperFactory;
-class IDocumentMetaStoreContext;
+struct IDocumentMetaStoreContext;
}
diff --git a/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference_resolver.h b/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference_resolver.h
index 0aa44539f22..8db24855de4 100644
--- a/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference_resolver.h
+++ b/searchcore/src/vespa/searchcore/proton/reference/i_document_db_reference_resolver.h
@@ -4,7 +4,7 @@
#include <vespa/fastos/timestamp.h>
#include <memory>
-namespace search { class IAttributeManager; class IDocumentMetaStoreContext; }
+namespace search { class IAttributeManager; struct IDocumentMetaStoreContext; }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/document_scan_iterator.h b/searchcore/src/vespa/searchcore/proton/server/document_scan_iterator.h
index 361a65cb7b7..fec547236d2 100644
--- a/searchcore/src/vespa/searchcore/proton/server/document_scan_iterator.h
+++ b/searchcore/src/vespa/searchcore/proton/server/document_scan_iterator.h
@@ -6,7 +6,7 @@
namespace proton {
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
/**
* Iterator for scanning all documents in a document meta store.
diff --git a/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.h b/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.h
index d6e37b34491..a2ae11346f5 100644
--- a/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.h
+++ b/searchcore/src/vespa/searchcore/proton/server/document_subdb_initializer.h
@@ -5,7 +5,7 @@
#include "document_subdb_initializer_result.h"
#include <vespa/searchcore/proton/initializer/initializer_task.h>
-namespace searchcorespi { namespace index { class IThreadService; } }
+namespace searchcorespi { namespace index { struct IThreadService; } }
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentbucketmover.h b/searchcore/src/vespa/searchcore/proton/server/documentbucketmover.h
index 06cbfb8fe8f..5ed2226ce65 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentbucketmover.h
+++ b/searchcore/src/vespa/searchcore/proton/server/documentbucketmover.h
@@ -11,8 +11,8 @@
namespace proton {
class BucketDBOwner;
-class IDocumentMoveHandler;
-class IMoveOperationLimiter;
+struct IDocumentMoveHandler;
+struct IMoveOperationLimiter;
class MaintenanceDocumentSubDB;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentdb.h b/searchcore/src/vespa/searchcore/proton/server/documentdb.h
index 716a1058348..b4e58d6f178 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentdb.h
+++ b/searchcore/src/vespa/searchcore/proton/server/documentdb.h
@@ -45,7 +45,7 @@ namespace vespa::config::search::core::internal { class InternalProtonType; }
namespace proton {
class IDocumentDBOwner;
-class MetricsWireService;
+struct MetricsWireService;
class StatusReport;
class ExecutorThreadingServiceStats;
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentretriever.h b/searchcore/src/vespa/searchcore/proton/server/documentretriever.h
index 0b6f8ad76b5..b51516b2fb9 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentretriever.h
+++ b/searchcore/src/vespa/searchcore/proton/server/documentretriever.h
@@ -5,7 +5,7 @@
#include "documentretrieverbase.h"
namespace search {
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
class IAttributeManager;
class IDocumentStore;
namespace index { class Schema; }
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h
index 4f0e00c6ae5..934c11e485b 100644
--- a/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h
+++ b/searchcore/src/vespa/searchcore/proton/server/documentsubdbcollection.h
@@ -22,16 +22,16 @@ namespace search {
namespace searchcorespi {
class IFlushTarget;
- namespace index { class IThreadingService; }
+ namespace index { struct IThreadingService; }
}
namespace proton {
class DocumentDBConfig;
-class DocumentDBTaggedMetrics;
+struct DocumentDBTaggedMetrics;
class MaintenanceController;
-class MetricsWireService;
+struct MetricsWireService;
class ICommitable;
-class IDocumentDBReferenceResolver;
+struct IDocumentDBReferenceResolver;
class IGetSerialNum;
class DocTypeName;
class HwInfo;
@@ -49,7 +49,7 @@ namespace matching {
namespace initializer { class InitializerTask; }
-namespace index { class IndexConfig; }
+namespace index { struct IndexConfig; }
class DocumentSubDBCollection {
public:
diff --git a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h
index 4b1e8408c8e..521565358d9 100644
--- a/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h
+++ b/searchcore/src/vespa/searchcore/proton/server/executor_thread_service.h
@@ -6,7 +6,7 @@
namespace proton {
-namespace internal { class ThreadId; }
+namespace internal { struct ThreadId; }
/**
* Implementation of IThreadService using an underlying thread stack executor
* with a single thread.
diff --git a/searchcore/src/vespa/searchcore/proton/server/feedhandler.h b/searchcore/src/vespa/searchcore/proton/server/feedhandler.h
index 34f979b7115..ef554a2ee3a 100644
--- a/searchcore/src/vespa/searchcore/proton/server/feedhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/server/feedhandler.h
@@ -15,19 +15,19 @@
#include <vespa/searchlib/transactionlog/translogclient.h>
#include <mutex>
-namespace searchcorespi { namespace index { class IThreadingService; } }
+namespace searchcorespi { namespace index { struct IThreadingService; } }
namespace proton {
-class ConfigStore;
+struct ConfigStore;
class CreateBucketOperation;
class DDBState;
class DeleteBucketOperation;
-class FeedConfigStore;
+struct FeedConfigStore;
class FeedState;
class IDocumentDBOwner;
-class IFeedHandlerOwner;
+struct IFeedHandlerOwner;
class IFeedView;
-class IResourceWriteFilter;
+struct IResourceWriteFilter;
class IReplayConfig;
class JoinBucketsOperation;
class PutOperation;
diff --git a/searchcore/src/vespa/searchcore/proton/server/forcecommitcontext.h b/searchcore/src/vespa/searchcore/proton/server/forcecommitcontext.h
index 727b2556af1..494e12002a6 100644
--- a/searchcore/src/vespa/searchcore/proton/server/forcecommitcontext.h
+++ b/searchcore/src/vespa/searchcore/proton/server/forcecommitcontext.h
@@ -12,7 +12,7 @@ namespace vespalib { class Executor; }
namespace proton {
class ForceCommitDoneTask;
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
class DocIdLimit;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/server/forcecommitdonetask.h b/searchcore/src/vespa/searchcore/proton/server/forcecommitdonetask.h
index ca804c57db8..1b459ab6d02 100644
--- a/searchcore/src/vespa/searchcore/proton/server/forcecommitdonetask.h
+++ b/searchcore/src/vespa/searchcore/proton/server/forcecommitdonetask.h
@@ -7,7 +7,7 @@
namespace proton {
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
/**
* Class for task to be executed when a forced commit has completed and
diff --git a/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.h b/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.h
index be4d28f1e9e..339bb7fa5d0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.h
+++ b/searchcore/src/vespa/searchcore/proton/server/frozenbuckets.h
@@ -11,7 +11,7 @@
#include <vector>
-namespace searchcorespi { namespace index {class IThreadService; }}
+namespace searchcorespi { namespace index {struct IThreadService; }}
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/idocumentsubdb.h b/searchcore/src/vespa/searchcore/proton/server/idocumentsubdb.h
index 15ea112b7a3..eb297fc7987 100644
--- a/searchcore/src/vespa/searchcore/proton/server/idocumentsubdb.h
+++ b/searchcore/src/vespa/searchcore/proton/server/idocumentsubdb.h
@@ -16,7 +16,7 @@ namespace searchcorespi {
class IIndexManager;
}
namespace proton::index {
- class IndexConfig;
+ struct IndexConfig;
}
namespace proton {
@@ -27,11 +27,11 @@ class DocumentDBConfig;
class DocumentSubDbInitializer;
class DocumentSubDbInitializerResult;
class FeedHandler;
-class IAttributeManager;
-class IBucketStateCalculator;
-class IDocumentDBReferenceResolver;
+struct IAttributeManager;
+struct IBucketStateCalculator;
+struct IDocumentDBReferenceResolver;
class IDocumentDBReference;
-class IDocumentMetaStoreContext;
+struct IDocumentMetaStoreContext;
class IDocumentRetriever;
class IFeedView;
class IIndexWriter;
diff --git a/searchcore/src/vespa/searchcore/proton/server/ifeedview.h b/searchcore/src/vespa/searchcore/proton/server/ifeedview.h
index 3ded41180d5..9acb02c9b0f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/ifeedview.h
+++ b/searchcore/src/vespa/searchcore/proton/server/ifeedview.h
@@ -13,7 +13,7 @@ namespace proton {
class CompactLidSpaceOperation;
class DeleteBucketOperation;
-class ISimpleDocumentMetaStore;
+struct ISimpleDocumentMetaStore;
class MoveOperation;
class PruneRemovedDocumentsOperation;
class PutOperation;
diff --git a/searchcore/src/vespa/searchcore/proton/server/ireplaypackethandler.h b/searchcore/src/vespa/searchcore/proton/server/ireplaypackethandler.h
index 9acc3a530d3..8df51780c9f 100644
--- a/searchcore/src/vespa/searchcore/proton/server/ireplaypackethandler.h
+++ b/searchcore/src/vespa/searchcore/proton/server/ireplaypackethandler.h
@@ -9,7 +9,7 @@ namespace proton {
class PutOperation;
class RemoveOperation;
class UpdateOperation;
-class NoopOperation;
+struct NoopOperation;
class NewConfigOperation;
class WipeHistoryOperation;
class DeleteBucketOperation;
@@ -20,7 +20,7 @@ class MoveOperation;
class CreateBucketOperation;
class CompactLidSpaceOperation;
-namespace feedoperation { class IStreamHandler; }
+namespace feedoperation { struct IStreamHandler; }
/**
* Interface used to handle the various feed operations during
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h
index 55c218cca6d..94203e144dc 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenance_jobs_injector.h
@@ -13,12 +13,12 @@
namespace proton {
class IPruneRemovedDocumentsHandler;
-class IDocumentMoveHandler;
+struct IDocumentMoveHandler;
class IBucketModifiedHandler;
class IClusterStateChangedNotifier;
class IBucketStateChangedNotifier;
-class IBucketStateCalculator;
-class IAttributeManager;
+struct IBucketStateCalculator;
+struct IAttributeManager;
class AttributeUsageFilter;
class IDiskMemUsageNotifier;
namespace bucketdb { class IBucketCreateNotifier; }
diff --git a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h
index 434ef1e3532..69416ff63d7 100644
--- a/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h
+++ b/searchcore/src/vespa/searchcore/proton/server/maintenancecontroller.h
@@ -14,7 +14,7 @@ namespace vespalib {
class ThreadExecutor;
class Executor;
}
-namespace searchcorespi { namespace index {class IThreadService; }}
+namespace searchcorespi { namespace index { struct IThreadService; }}
namespace proton {
diff --git a/searchcore/src/vespa/searchcore/proton/server/pruneremoveddocumentsjob.h b/searchcore/src/vespa/searchcore/proton/server/pruneremoveddocumentsjob.h
index ab98882e6d1..551cf4615b0 100644
--- a/searchcore/src/vespa/searchcore/proton/server/pruneremoveddocumentsjob.h
+++ b/searchcore/src/vespa/searchcore/proton/server/pruneremoveddocumentsjob.h
@@ -8,7 +8,7 @@
namespace proton
{
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
class IPruneRemovedDocumentsHandler;
class IFrozenBucketHandler;
diff --git a/searchcore/src/vespa/searchcore/proton/server/removedonecontext.h b/searchcore/src/vespa/searchcore/proton/server/removedonecontext.h
index 912d31dde22..07057d1c431 100644
--- a/searchcore/src/vespa/searchcore/proton/server/removedonecontext.h
+++ b/searchcore/src/vespa/searchcore/proton/server/removedonecontext.h
@@ -10,7 +10,7 @@
namespace proton {
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/server/removedonetask.h b/searchcore/src/vespa/searchcore/proton/server/removedonetask.h
index 11858d12f4d..d9059e6ad6a 100644
--- a/searchcore/src/vespa/searchcore/proton/server/removedonetask.h
+++ b/searchcore/src/vespa/searchcore/proton/server/removedonetask.h
@@ -7,7 +7,7 @@
namespace proton
{
-class IDocumentMetaStore;
+struct IDocumentMetaStore;
/**
* Class for task to be executed when a document remove completed and
diff --git a/searchcore/src/vespa/searchcore/proton/server/sample_attribute_usage_job.h b/searchcore/src/vespa/searchcore/proton/server/sample_attribute_usage_job.h
index c6174efd480..4f2b6155cb1 100644
--- a/searchcore/src/vespa/searchcore/proton/server/sample_attribute_usage_job.h
+++ b/searchcore/src/vespa/searchcore/proton/server/sample_attribute_usage_job.h
@@ -6,7 +6,7 @@
namespace proton {
-class IAttributeManager;
+struct IAttributeManager;
class AttributeUsageFilter;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h
index 058c08b1ab4..5aac069853b 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h
+++ b/searchcore/src/vespa/searchcore/proton/server/searchable_doc_subdb_configurer.h
@@ -25,7 +25,7 @@
namespace proton {
-class IDocumentDBReferenceResolver;
+struct IDocumentDBReferenceResolver;
class ReconfigParams;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.h b/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.h
index b43b697112e..52e0309dc16 100644
--- a/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.h
+++ b/searchcore/src/vespa/searchcore/proton/server/searchabledocsubdb.h
@@ -24,8 +24,8 @@
namespace proton {
class DocumentDBConfig;
-class IDocumentDBReferenceResolver;
-class MetricsWireService;
+struct IDocumentDBReferenceResolver;
+struct MetricsWireService;
class GidToLidChangeHandler;
/**
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h
index d377166226e..450779de7dd 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlydocsubdb.h
@@ -23,11 +23,11 @@
namespace proton {
-class DocumentDBTaggedMetrics;
+struct DocumentDBTaggedMetrics;
class DocumentMetaStoreInitializerResult;
class FeedHandler;
class IDocumentSubDBOwner;
-class MetricsWireService;
+struct MetricsWireService;
class ShrinkLidSpaceFlushTarget;
namespace initializer { class InitializerTask; }
diff --git a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h
index 37f67399f4d..18b78642814 100644
--- a/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h
+++ b/searchcore/src/vespa/searchcore/proton/server/storeonlyfeedview.h
@@ -33,7 +33,7 @@ class PutDoneContext;
class RemoveDoneContext;
class CommitTimeTracker;
class IGidToLidChangeHandler;
-class IFieldUpdateCallback;
+struct IFieldUpdateCallback;
class RemoveDocumentsOperation;
class DocumentOperation;
diff --git a/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.h b/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.h
index 3b2c276c62d..8f48b9adc48 100644
--- a/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.h
+++ b/searchcore/src/vespa/searchcore/proton/server/transactionlogmanager.h
@@ -9,7 +9,7 @@
#include <vespa/searchlib/transactionlog/translogclient.h>
namespace proton {
-class ConfigStore;
+struct ConfigStore;
/**
* Class managing the initialization and replay of the transaction log.
diff --git a/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h b/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h
index 8c61a1c39d9..ffcdfbaf365 100644
--- a/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h
+++ b/searchcore/src/vespa/searchcore/proton/summaryengine/isearchhandler.h
@@ -7,7 +7,7 @@ namespace search::engine {
class SearchRequest;
class SearchReply;
class DocsumRequest;
- class DocsumReply;
+ struct DocsumReply;
}
namespace proton {
diff --git a/security-utils/src/main/java/com/yahoo/security/KeyUtils.java b/security-utils/src/main/java/com/yahoo/security/KeyUtils.java
index ca99598c1fb..76e0f5419a3 100644
--- a/security-utils/src/main/java/com/yahoo/security/KeyUtils.java
+++ b/security-utils/src/main/java/com/yahoo/security/KeyUtils.java
@@ -38,7 +38,6 @@ import static com.yahoo.security.KeyAlgorithm.RSA;
* @author bjorncs
*/
public class KeyUtils {
-
private KeyUtils() {}
public static KeyPair generateKeypair(KeyAlgorithm algorithm, int keySize) {
diff --git a/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java b/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java
index fc7a6780b23..33bd750bac5 100644
--- a/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java
+++ b/security-utils/src/main/java/com/yahoo/security/X509CertificateUtils.java
@@ -133,5 +133,4 @@ public class X509CertificateUtils {
throw new UncheckedIOException(e);
}
}
-
}