Skip to content

Commit 4c69c51

Browse files
committed
store revoked transaction and contract event.
1 parent b889f2c commit 4c69c51

File tree

6 files changed

+39
-14
lines changed

6 files changed

+39
-14
lines changed

plugins/kafkaplugin/src/main/java/org/tron/eventplugin/KafkaEventListener.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.slf4j.Logger;
55
import org.slf4j.LoggerFactory;
66
import org.tron.common.logsfilter.IPluginEventListener;
7+
78
import java.util.Objects;
89

910
@Extension

plugins/mongodbplugin/src/main/java/org/tron/eventplugin/MongodbEventListener.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import org.slf4j.Logger;
55
import org.slf4j.LoggerFactory;
66
import org.tron.common.logsfilter.IPluginEventListener;
7+
78
import java.util.Objects;
89

910
@Extension

plugins/mongodbplugin/src/main/java/org/tron/eventplugin/MongodbSenderImpl.java

Lines changed: 28 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,8 @@ public class MongodbSenderImpl{
2929
private String contractEventTopic = "";
3030
private String contractLogTopic = "";
3131

32-
private String revokingItems = "";
32+
private String revokedTransaction = "revokedtransaction";
33+
private String revokedEvent = "revokedevent";
3334

3435
private Thread triggerProcessThread;
3536
private boolean isRunTriggerProcessThread = true;
@@ -135,8 +136,11 @@ private void createCollections(){
135136
mongoManager.createCollection(contractEventTopic);
136137
createMongoTemplate(contractEventTopic);
137138

138-
mongoManager.createCollection(revokingItems);
139-
createMongoTemplate(revokingItems);
139+
mongoManager.createCollection(revokedEvent);
140+
createMongoTemplate(revokedEvent);
141+
142+
mongoManager.createCollection(revokedTransaction);
143+
createMongoTemplate(revokedTransaction);
140144
}
141145

142146
private void loadMongoConfig(){
@@ -248,7 +252,26 @@ public void handleTransactionTrigger(Object data) {
248252
service.execute(new Runnable() {
249253
@Override
250254
public void run() {
251-
template.addEntity((String)data);
255+
String dataStr = (String)data;
256+
// Block revoking events:
257+
if (dataStr.contains("\"removed\":true")) {
258+
try {
259+
JSONObject jsStr = JSONObject.parseObject(dataStr);
260+
String uniqueId = jsStr.getString("uniqueId");
261+
if (uniqueId != null) {
262+
template.delete("uniqueId", uniqueId);
263+
}
264+
265+
MongoTemplate revokingTemplate = mongoTemplateMap.get(revokedTransaction);
266+
if (Objects.nonNull(revokingTemplate)){
267+
revokingTemplate.addEntity(dataStr);
268+
}
269+
} catch (Exception ex) {
270+
log.error("unknown exception happened in parse object ", ex);
271+
}
272+
} else {
273+
template.addEntity(dataStr);
274+
}
252275
}
253276
});
254277
}
@@ -290,7 +313,7 @@ public void run() {
290313
template.delete("uniqueId", uniqueId);
291314
}
292315

293-
MongoTemplate revokingTemplate = mongoTemplateMap.get(revokingItems);
316+
MongoTemplate revokingTemplate = mongoTemplateMap.get(revokedEvent);
294317
if (Objects.nonNull(revokingTemplate)){
295318
revokingTemplate.addEntity(dataStr);
296319
}

plugins/mongodbplugin/src/main/java/org/tron/mongodb/MongoManager.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import com.mongodb.ServerAddress;
77
import com.mongodb.client.MongoDatabase;
88
import org.pf4j.util.StringUtils;
9+
910
import java.util.ArrayList;
1011
import java.util.List;
1112
import java.util.Objects;

plugins/mongodbplugin/src/main/java/org/tron/mongodb/MongoTemplate.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
package org.tron.mongodb;
22

3-
import java.util.ArrayList;
4-
import java.util.List;
5-
import java.util.Objects;
6-
7-
import org.bson.Document;
8-
import org.bson.conversions.Bson;
93
import com.mongodb.BasicDBObject;
104
import com.mongodb.client.FindIterable;
115
import com.mongodb.client.MongoCollection;
126
import com.mongodb.client.MongoCursor;
137
import com.mongodb.client.model.Filters;
148
import com.mongodb.client.result.DeleteResult;
159
import com.mongodb.client.result.UpdateResult;
10+
import org.bson.Document;
11+
import org.bson.conversions.Bson;
1612
import org.tron.mongodb.util.Converter;
1713
import org.tron.mongodb.util.Pager;
1814

15+
import java.util.ArrayList;
16+
import java.util.List;
17+
import java.util.Objects;
18+
1919
public abstract class MongoTemplate {
2020

2121
private MongoManager manager;

plugins/mongodbplugin/src/main/java/org/tron/mongodb/util/Converter.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
package org.tron.mongodb.util;
22

3-
import java.io.Serializable;
4-
3+
import com.alibaba.fastjson.JSON;
54
import org.bson.Document;
65

7-
import com.alibaba.fastjson.JSON;
6+
import java.io.Serializable;
87

98
public class Converter {
109

0 commit comments

Comments
 (0)