summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwanglihui <[email protected]>2020-08-26 10:51:24 +0800
committerwanglihui <[email protected]>2020-08-26 10:51:24 +0800
commite5f30f5bfd3a527b3fb95f8108a103bafcabb71c (patch)
treea5e3c4855c8b880c12e1a2b79fd1600237ce5c08
parent9c2831013eaba9e7499a119474007c8fc18f5288 (diff)
修改读取client IP空指针异常bug
-rw-r--r--ip-learning-spark/src/main/java/cn/ac/iie/service/read/ReadHistoryArangoData.java6
-rw-r--r--ip-learning-spark/src/main/resources/application.properties10
2 files changed, 11 insertions, 5 deletions
diff --git a/ip-learning-spark/src/main/java/cn/ac/iie/service/read/ReadHistoryArangoData.java b/ip-learning-spark/src/main/java/cn/ac/iie/service/read/ReadHistoryArangoData.java
index 4ccd6e1..2fdd582 100644
--- a/ip-learning-spark/src/main/java/cn/ac/iie/service/read/ReadHistoryArangoData.java
+++ b/ip-learning-spark/src/main/java/cn/ac/iie/service/read/ReadHistoryArangoData.java
@@ -107,6 +107,12 @@ public class ReadHistoryArangoData<T extends BaseDocument> extends Thread {
private void deleteDistinctClientIpByTime(T doc) {
ArrayList<String> distCip = (ArrayList<String>) doc.getAttribute("DIST_CIP");
ArrayList<Long> distCipTs = (ArrayList<Long>) doc.getAttribute("DIST_CIP_TS");
+ if (distCip == null || distCip.isEmpty()){
+ doc.updateAttribute("DIST_CIP", new String[0]);
+ doc.updateAttribute("DIST_CIP_TS", new long[0]);
+ return;
+ }
+
distCipTs.add(currentHour - RECENT_COUNT_HOUR * 3600);
Collections.sort(distCipTs);
int index = distCipTs.indexOf(currentHour - RECENT_COUNT_HOUR * 3600);
diff --git a/ip-learning-spark/src/main/resources/application.properties b/ip-learning-spark/src/main/resources/application.properties
index 3aded0c..622dc28 100644
--- a/ip-learning-spark/src/main/resources/application.properties
+++ b/ip-learning-spark/src/main/resources/application.properties
@@ -27,14 +27,14 @@ arangoDB.ttl=3600
thread.pool.number=5
#读取clickhouse时间范围方式,0:读取过去一小时;1:指定时间范围
-clickhouse.time.limit.type=0
-read.clickhouse.max.time=1571245220
-read.clickhouse.min.time=1571245210
+clickhouse.time.limit.type=1
+read.clickhouse.max.time=1598246519
+read.clickhouse.min.time=1597161600
#读取arangoDB时间范围方式,0:正常读;1:指定时间范围
arango.time.limit.type=0
-read.arango.max.time=1571245320
-read.arango.min.time=1571245200
+read.arango.max.time=1598246519
+read.arango.min.time=1597161600
arangoDB.read.limit=
update.arango.batch=10000