This is an automated email from the ASF dual-hosted git repository.
mhanson pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push:
new 718aafeb35 GEODE-10248: Adding a new Suspicious Strings exception
(#7612)
718aafeb35 is described below
commit 718aafeb35906c6f25dac0bf266a2cdb962bd37a
Author: mhansonp <[email protected]>
AuthorDate: Tue Apr 26 09:33:05 2022 -0700
GEODE-10248: Adding a new Suspicious Strings exception (#7612)
for Management Requests that get logged and a test
---
.../apache/geode/test/greplogs/LogConsumer.java | 21 ++++++---
.../org/apache/geode/test/greplogs/Patterns.java | 6 ++-
.../geode/test/greplogs/LogConsumerTest.java | 52 ++++++++++++++++++++++
3 files changed, 71 insertions(+), 8 deletions(-)
diff --git
a/geode-dunit/src/main/java/org/apache/geode/test/greplogs/LogConsumer.java
b/geode-dunit/src/main/java/org/apache/geode/test/greplogs/LogConsumer.java
index c313418344..93da8d05ac 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/greplogs/LogConsumer.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/greplogs/LogConsumer.java
@@ -31,6 +31,7 @@ import static
org.apache.geode.test.greplogs.Patterns.JAVA_LANG_ERROR;
import static org.apache.geode.test.greplogs.Patterns.LOG_STATEMENT;
import static org.apache.geode.test.greplogs.Patterns.MALFORMED_I18N_MESSAGE;
import static org.apache.geode.test.greplogs.Patterns.MALFORMED_LOG4J_MESSAGE;
+import static org.apache.geode.test.greplogs.Patterns.MANAGEMENT_REQUEST;
import static org.apache.geode.test.greplogs.Patterns.RMI_WARNING;
import static org.apache.geode.test.greplogs.Patterns.RVV_BIT_SET_MESSAGE;
import static org.apache.geode.test.greplogs.Patterns.WARN_OR_LESS_LOG_LEVEL;
@@ -43,6 +44,7 @@ import java.util.regex.MatchResult;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+
public class LogConsumer {
/** Limit long errors to this many lines */
@@ -162,13 +164,18 @@ public class LogConsumer {
}
private boolean isExceptionErrorOrSomeSpecialCase(CharSequence line) {
- return (EXCEPTION.matcher(line).find() ||
- JAVA_LANG_ERROR.matcher(line).find() ||
- MALFORMED_I18N_MESSAGE.matcher(line).find() ||
- MALFORMED_LOG4J_MESSAGE.matcher(line).find()) &&
- !(HYDRA_MASTER_LOCATORS_WILDCARD.matcher(line).find()) &&
- !(WARN_OR_LESS_LOG_LEVEL.matcher(line).find() &&
- RVV_BIT_SET_MESSAGE.matcher(line).find());
+ // if one of the following finds is true
+ return (EXCEPTION.matcher(line).find() ||
JAVA_LANG_ERROR.matcher(line).find()
+ || MALFORMED_I18N_MESSAGE.matcher(line).find()
+ || MALFORMED_LOG4J_MESSAGE.matcher(line).find()) &&
+ // and we don't find the below
+ !(HYDRA_MASTER_LOCATORS_WILDCARD.matcher(line).find())
+ && !(WARN_OR_LESS_LOG_LEVEL.matcher(line).find()
+ && MANAGEMENT_REQUEST.matcher(line).find())
+ && !(WARN_OR_LESS_LOG_LEVEL.matcher(line).find() // Warning message or
lower
+ && RVV_BIT_SET_MESSAGE.matcher(line).find()); // rvv bit sit
message
+ // then it is an exception error or some special case.
+
}
private void addErrLinesToAll(CharSequence line) {
diff --git
a/geode-dunit/src/main/java/org/apache/geode/test/greplogs/Patterns.java
b/geode-dunit/src/main/java/org/apache/geode/test/greplogs/Patterns.java
index 662bad915d..514a7b9e2c 100644
--- a/geode-dunit/src/main/java/org/apache/geode/test/greplogs/Patterns.java
+++ b/geode-dunit/src/main/java/org/apache/geode/test/greplogs/Patterns.java
@@ -58,7 +58,11 @@ public enum Patterns {
/** "{}" literal which is probably unused Log4J parameter */
MALFORMED_LOG4J_MESSAGE(compile("\\{\\}")),
/** "{}" literal used for hydra master locators wildcard */
-
HYDRA_MASTER_LOCATORS_WILDCARD(compile("hydra\\.MasterDescription\\.master\\.locators=\\{\\}"));
+
HYDRA_MASTER_LOCATORS_WILDCARD(compile("hydra\\.MasterDescription\\.master\\.locators=\\{\\}")),
+ /**
+ * "Management Request:" messages "Management Request:
PUT[url=/management/v1/deployments]...."
+ */
+ MANAGEMENT_REQUEST(compile("Management Request:"));
private final Pattern pattern;
diff --git
a/geode-dunit/src/test/java/org/apache/geode/test/greplogs/LogConsumerTest.java
b/geode-dunit/src/test/java/org/apache/geode/test/greplogs/LogConsumerTest.java
index 1380db652c..b221440a5a 100644
---
a/geode-dunit/src/test/java/org/apache/geode/test/greplogs/LogConsumerTest.java
+++
b/geode-dunit/src/test/java/org/apache/geode/test/greplogs/LogConsumerTest.java
@@ -157,6 +157,58 @@ public class LogConsumerTest {
assertThat(value).isNull();
}
+ @Test
+ public void close_returnsNull_ifLineContains_ManagementRequest() {
+ String managmentRequest =
+ "[info 2022/04/16 09:39:11.008 UTC locator-0 <qtp773068785-114>
tid=0x72] Management Request: PUT[url=/management/v1/deployments]; user=null;
payload=---YMBX204KTK7fmoVc8vVmUZOfJOmATtYGRLlAK\n"
+ + "Content-Disposition: form-data; name=\"file\";
filename=\"lib.jar\"\n"
+ + "Content-Type: application/java-archive\n"
+ + "Content-Length: 426\n"
+ + "\n"
+ +
"PK?????????L?T????????????????Class1.class????;?o?>?????^.?f?.v?nv??F?6?????;F?f\n"
+ + "?0F?????TF?~???T????????????Wp~iQr?[&?????X\\l???X??????\n"
+ + "4?\"?? ????I?K??O?JM.aPd`?????@?T\n"
+ +
"$??<Y0???Uk;??F?4;?d????8?4??'?PK??k??6????????PK?????????L?T????????????????timestamp3435040?447????PK??{6}?????\n"
+ +
"???PK???????????L?Tk??6??????????????????????????Class1.class????PK???????????L?T{6}?????\n"
+ + "?????????????????????timestampPK??????????u?????????\n"
+ + "---YMBX204KTK7fmoVc8vVmUZOfJOmATtYGRLlAK\n"
+ + "Content-Disposition: form-data; name=\"config\"\n"
+ + "Content-Type: application/json\n"
+ + "\n"
+ +
"{\"class\":\"org.apache.geode.management.configuration.Deployment\",\"group\":\"group1\",\"deployedTime\":null,\"deployedBy\":null,\"fileName\":\"lib.jar\"}\n"
+ + "---YMBX204KTK7fmoVc8vVmUZOfJOmATtYGRLlAK--";
+ logConsumer.consume(managmentRequest);
+ String value = logConsumer.close();
+
+ assertThat(value).isNull();
+ }
+
+ @Test
+ public void close_returnsLine_ifLineContains_ManagementRequest() {
+ String managmentRequest =
+ "[error 2022/04/16 09:39:11.008 UTC locator-0 <qtp773068785-114>
tid=0x72] Management Request: PUT[url=/management/v1/deployments]; user=null;
payload=---YMBX204KTK7fmoVc8vVmUZOfJOmATtYGRLlAK\n"
+ + "Content-Disposition: form-data; name=\"file\";
filename=\"lib.jar\"\n"
+ + "Content-Type: application/java-archive\n"
+ + "Content-Length: 426\n"
+ + "\n"
+ +
"PK?????????L?T????????????????Class1.class????;?o?>?????^.?f?.v?nv??F?6?????;F?f\n"
+ + "?0F?????TF?~???T????????????Wp~iQr?[&?????X\\l???X??????\n"
+ + "4?\"?? ????I?K??O?JM.aPd`?????@?T\n"
+ +
"$??<Y0???Uk;??F?4;?d????8?4??'?PK??k??6????????PK?????????L?T????????????????timestamp3435040?447????PK??{6}?????\n"
+ +
"???PK???????????L?Tk??6??????????????????????????Class1.class????PK???????????L?T{6}?????\n"
+ + "?????????????????????timestampPK??????????u?????????\n"
+ + "---YMBX204KTK7fmoVc8vVmUZOfJOmATtYGRLlAK\n"
+ + "Content-Disposition: form-data; name=\"config\"\n"
+ + "Content-Type: application/json\n"
+ + "\n"
+ +
"{\"class\":\"org.apache.geode.management.configuration.Deployment\",\"group\":\"group1\",\"deployedTime\":null,\"deployedBy\":null,\"fileName\":\"lib.jar\"}\n"
+ + "---YMBX204KTK7fmoVc8vVmUZOfJOmATtYGRLlAK--";
+ logConsumer.consume(managmentRequest);
+ String value = logConsumer.close();
+
+ assertThat(value).contains(managmentRequest);
+ }
+
@Test
public void close_returnsLine_ifLineContainsException() {
logConsumer.consume(EXCEPTION_MESSAGE);