Ali Alsuliman has uploaded a new change for review. https://asterix-gerrit.ics.uci.edu/3125
Change subject: [NO ISSUE][OTH] Support log redaction 2 ...................................................................... [NO ISSUE][OTH] Support log redaction 2 - user model changes: no - storage format changes: no - interface changes: no Details: - Modify ILogRedactor to enable reversing the redaction - Redact user data in exceptions thrown in the grammar file Change-Id: If971d0a913e2b7efe521e2d54646568f789937b5 --- M asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj M hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ILogRedactor.java M hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/LogRedactionUtil.java 3 files changed, 30 insertions(+), 6 deletions(-) git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb refs/changes/25/3125/1 diff --git a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj index 45ba7c3..19a4da2 100644 --- a/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj +++ b/asterixdb/asterix-lang-sqlpp/src/main/javacc/SQLPP.jj @@ -184,6 +184,7 @@ import org.apache.hyracks.algebricks.core.algebra.expressions.IndexedNLJoinExpressionAnnotation; import org.apache.hyracks.algebricks.core.algebra.functions.FunctionIdentifier; import org.apache.hyracks.api.exceptions.SourceLocation; +import org.apache.hyracks.util.LogRedactionUtil; class SQLPPParser extends ScopeChecker implements IParser { @@ -400,7 +401,7 @@ } private SqlppParseException createUnexpectedTokenError() { - return new SqlppParseException(getSourceLocation(token), "Unexpected token: " + token.image); + return new SqlppParseException(getSourceLocation(token), "Unexpected token: " + LogRedactionUtil.userData(token.image)); } private boolean laToken(int idx, int kind, String image) { @@ -2445,7 +2446,7 @@ try { lit.setValue(new LongIntegerLiteral(Long.valueOf(token.image))); } catch (NumberFormatException e) { - throw new SqlppParseException(getSourceLocation(token), "Could not parse numeric literal \"" + token.image +'"'); + throw new SqlppParseException(getSourceLocation(token), "Could not parse numeric literal \"" + LogRedactionUtil.userData(token.image) +'"'); } } | <FLOAT_LITERAL> @@ -2453,7 +2454,7 @@ try { lit.setValue(new FloatLiteral(Float.valueOf(token.image))); } catch (NumberFormatException e) { - throw new SqlppParseException(getSourceLocation(token), "Could not parse numeric literal \"" + token.image +'"'); + throw new SqlppParseException(getSourceLocation(token), "Could not parse numeric literal \"" + LogRedactionUtil.userData(token.image) +'"'); } } | <DOUBLE_LITERAL> @@ -2461,7 +2462,7 @@ try { lit.setValue(new DoubleLiteral(Double.valueOf(token.image))); } catch (NumberFormatException e) { - throw new SqlppParseException(getSourceLocation(token), "Could not parse numeric literal \"" + token.image +'"'); + throw new SqlppParseException(getSourceLocation(token), "Could not parse numeric literal \"" + LogRedactionUtil.userData(token.image) +'"'); } } | <MISSING> diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ILogRedactor.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ILogRedactor.java index 18e9a34..b133894 100644 --- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ILogRedactor.java +++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/ILogRedactor.java @@ -22,8 +22,17 @@ /** * Redacts user data argument. + * * @param text user data to redact. * @return redacted user data. */ String userData(String text); + + /** + * Unredacts user data found in the argument. + * + * @param text text that contains some redacted user data. + * @return the text with user data unredacted. + */ + String unredactUserData(String text); } diff --git a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/LogRedactionUtil.java b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/LogRedactionUtil.java index 29242be..89c957e 100644 --- a/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/LogRedactionUtil.java +++ b/hyracks-fullstack/hyracks/hyracks-util/src/main/java/org/apache/hyracks/util/LogRedactionUtil.java @@ -21,8 +21,18 @@ public class LogRedactionUtil { - private static final ILogRedactor defaultLogRedactor = text -> text; - private static ILogRedactor redactor = defaultLogRedactor; + private static final ILogRedactor DEFAULT_LOG_REDACTOR = new ILogRedactor() { + @Override + public String userData(String text) { + return text; + } + + @Override + public String unredactUserData(String text) { + return text; + } + }; + private static ILogRedactor redactor = DEFAULT_LOG_REDACTOR; private LogRedactionUtil() { } @@ -34,4 +44,8 @@ public static String userData(String text) { return redactor.userData(text); } + + public static String unredactUserData(String text) { + return redactor.unredactUserData(text); + } } -- To view, visit https://asterix-gerrit.ics.uci.edu/3125 To unsubscribe, visit https://asterix-gerrit.ics.uci.edu/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If971d0a913e2b7efe521e2d54646568f789937b5 Gerrit-PatchSet: 1 Gerrit-Project: asterixdb Gerrit-Branch: master Gerrit-Owner: Ali Alsuliman <ali.al.solai...@gmail.com>