diff options
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); } } - } |