[3.0] add zookeeper node data created event check (#8833)

* add zookeeper node data created event check

* add NodeCreated process to support integration test
This commit is contained in:
zrlw 2021-09-21 23:43:30 +08:00 committed by GitHub
parent 22dc29472c
commit a9bbf1e4ca
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 12 additions and 2 deletions

View File

@ -94,7 +94,9 @@ public class CacheListener implements DataListener {
@Override
public void dataChanged(String path, Object value, EventType eventType) {
ConfigChangeType changeType;
if (value == null) {
if (EventType.NodeCreated.equals(eventType)) {
changeType = ConfigChangeType.ADDED;
} else if (value == null) {
changeType = ConfigChangeType.DELETED;
} else {
changeType = ConfigChangeType.MODIFIED;

View File

@ -89,7 +89,9 @@ public abstract class AbstractConfiguratorListener implements ConfigurationListe
", raw config content is:\n " + event.getContent());
}
if (event.getChangeType().equals(ConfigChangeType.DELETED)) {
if (event.getChangeType().equals(ConfigChangeType.ADDED)) {
return;
} else if (event.getChangeType().equals(ConfigChangeType.DELETED)) {
configurators.clear();
} else {
if (!genConfiguratorsFromRawRule(event.getContent())) {

View File

@ -338,6 +338,9 @@ public class Curator5ZookeeperClient extends AbstractZookeeperClient<Curator5Zoo
EventType eventType;
if (childData == null) {
eventType = EventType.NodeDeleted;
} else if (childData.getStat().getVersion() == 0) {
content = new String(childData.getData(), CHARSET);
eventType = EventType.NodeCreated;
} else {
content = new String(childData.getData(), CHARSET);
eventType = EventType.NodeDataChanged;

View File

@ -338,6 +338,9 @@ public class CuratorZookeeperClient extends AbstractZookeeperClient<CuratorZooke
EventType eventType;
if (childData == null) {
eventType = EventType.NodeDeleted;
} else if (childData.getStat().getVersion() == 0) {
content = new String(childData.getData(), CHARSET);
eventType = EventType.NodeCreated;
} else {
content = new String(childData.getData(), CHARSET);
eventType = EventType.NodeDataChanged;