aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/Query.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-08-18 11:15:50 +0200
committerJon Bratseth <bratseth@gmail.com>2020-08-18 11:15:50 +0200
commitc30bbdb0fa50cedc56eec71feeadc969ba5a3edf (patch)
tree6935b4d042618900ee0f7fd291c14ed55ae06cf8 /container-search/src/main/java/com/yahoo/search/Query.java
parent529694a88d48270298171fdcb87d1439f183202b (diff)
Skip logging only for IllegalInputException
- Add IllegalInputException to signal cases where we know the exception is caused by illegal input received from the requestor. - Only skip logging for IllegalInputException instead of the superclass IllegalArgumentException as that is also used to signal illegal arguments to methods due to bugs which are otherwise hard to debug. - Throw IllegalInputException rather than IllegalArgumentException where appropriate. - Deprecated QueryException as it was only used to be able to separate between query string and query parameter exceptions, and not doing that consistently, and is in a package we don't want more use of. - Clean up some cases where the wrong exception was thrown.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/Query.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/Query.java22
1 files changed, 4 insertions, 18 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/Query.java b/container-search/src/main/java/com/yahoo/search/Query.java
index 9e3f6d20e36..4995927f7a2 100644
--- a/container-search/src/main/java/com/yahoo/search/Query.java
+++ b/container-search/src/main/java/com/yahoo/search/Query.java
@@ -10,7 +10,6 @@ import com.yahoo.fs4.MapEncoder;
import java.util.logging.Level;
import com.yahoo.prelude.fastsearch.DocumentDatabase;
import com.yahoo.prelude.query.Highlight;
-import com.yahoo.prelude.query.QueryException;
import com.yahoo.prelude.query.textualrepresentation.TextualQueryRepresentation;
import com.yahoo.processing.request.CompoundName;
import com.yahoo.search.dispatch.Dispatcher;
@@ -413,11 +412,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
if (field.getType() == FieldType.genericQueryProfileType) { // Generic map
CompoundName fullName = prefix.append(field.getName());
for (Map.Entry<String, Object> entry : originalProperties.listProperties(fullName, context).entrySet()) {
- try {
- properties().set(fullName.append(entry.getKey()), entry.getValue(), context);
- } catch (IllegalArgumentException e) {
- throw new QueryException("Invalid request parameter", e);
- }
+ properties().set(fullName.append(entry.getKey()), entry.getValue(), context);
}
}
else if (field.getType() instanceof QueryProfileFieldType) { // Nested arguments
@@ -427,11 +422,7 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
CompoundName fullName = prefix.append(field.getName());
Object value = originalProperties.get(fullName, context);
if (value != null) {
- try {
- properties().set(fullName, value, context);
- } catch (IllegalArgumentException e) {
- throw new QueryException("Invalid request parameter", e);
- }
+ properties().set(fullName, value, context);
}
}
}
@@ -440,13 +431,8 @@ public class Query extends com.yahoo.processing.Request implements Cloneable {
/** Calls properties.set on all entries in requestMap */
private void setPropertiesFromRequestMap(Map<String, String> requestMap, Properties properties, boolean ignoreSelect) {
for (var entry : requestMap.entrySet()) {
- try {
- if (ignoreSelect && entry.getKey().equals(Select.SELECT)) continue;
- properties.set(entry.getKey(), entry.getValue(), requestMap);
- }
- catch (IllegalArgumentException e) {
- throw new QueryException("Invalid request parameter", e);
- }
+ if (ignoreSelect && entry.getKey().equals(Select.SELECT)) continue;
+ properties.set(entry.getKey(), entry.getValue(), requestMap);
}
}