Commit 948ef6d1 authored by 彭勇升 pengys's avatar 彭勇升 pengys Committed by 吴晟
Browse files

Fixed the bugs of the OAP server running in cluster mode. (#1844)

* 1. Fixed the bug of the cluster node sync failure cause by curator instance cache is null.
2. Fixed the bug of the collection in remote data builder is not initialized.

* 1. Re-generate indicator.

* Fixed the bug of the collection in remote data builder is not initialized.

* Fixed the bug of the remote client created but not  initialize.
parent 7214329e
Loading
Loading
Loading
Loading
+17 −23
Original line number Diff line number Diff line
@@ -18,18 +18,10 @@

package org.apache.skywalking.oap.server.cluster.plugin.zookeeper;

import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.apache.curator.x.discovery.ServiceCache;
import org.apache.curator.x.discovery.ServiceDiscovery;
import org.apache.curator.x.discovery.ServiceInstance;
import org.apache.skywalking.oap.server.core.cluster.ClusterNodesQuery;
import org.apache.skywalking.oap.server.core.cluster.ClusterRegister;
import org.apache.skywalking.oap.server.core.cluster.RemoteInstance;
import org.apache.skywalking.oap.server.core.cluster.ServiceRegisterException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.*;
import org.apache.curator.x.discovery.*;
import org.apache.skywalking.oap.server.core.cluster.*;
import org.slf4j.*;

/**
 * @author peng-yongsheng
@@ -72,9 +64,10 @@ public class ZookeeperCoordinator implements ClusterRegister, ClusterNodesQuery
    }

    @Override public List<RemoteInstance> queryRemoteNodes() {
        List<RemoteInstance> remoteInstanceDetails = new ArrayList<>(20);
        if (Objects.nonNull(serviceCache)) {
            List<ServiceInstance<RemoteInstance>> serviceInstances = serviceCache.getInstances();

        List<RemoteInstance> remoteInstanceDetails = new ArrayList<>(serviceInstances.size());
            serviceInstances.forEach(serviceInstance -> {
                RemoteInstance instance = serviceInstance.getPayload();
                if (instance.equals(selfInstance)) {
@@ -84,6 +77,7 @@ public class ZookeeperCoordinator implements ClusterRegister, ClusterNodesQuery
                }
                remoteInstanceDetails.add(instance);
            });
        }
        return remoteInstanceDetails;
    }
}
+1 −1
Original line number Diff line number Diff line
@@ -20,7 +20,7 @@ package org.apache.skywalking.oap.server.core.analysis.generated.all;

import org.apache.skywalking.oap.server.core.analysis.SourceDispatcher;
import org.apache.skywalking.oap.server.core.analysis.worker.IndicatorProcess;
import org.apache.skywalking.oap.server.core.source.*;
import org.apache.skywalking.oap.server.core.source.All;

/**
 * This class is auto generated. Please don't change this class manually.
+6 −7
Original line number Diff line number Diff line
@@ -19,15 +19,14 @@
package org.apache.skywalking.oap.server.core.analysis.generated.all;

import java.util.*;
import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
import org.apache.skywalking.oap.server.core.alarm.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.storage.annotation.*;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.source.Scope;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntity;

/**
 * This class is auto generated. Please don't change this class manually.
@@ -75,11 +74,11 @@ public class AllHeatmapIndicator extends ThermodynamicIndicator implements Alarm
    @Override public RemoteData.Builder serialize() {
        RemoteData.Builder remoteBuilder = RemoteData.newBuilder();

        remoteBuilder.setDataLongs(0, getTimeBucket());
        remoteBuilder.addDataLongs(getTimeBucket());


        remoteBuilder.setDataIntegers(0, getStep());
        remoteBuilder.setDataIntegers(1, getNumOfSteps());
        remoteBuilder.addDataIntegers(getStep());
        remoteBuilder.addDataIntegers(getNumOfSteps());
        getDetailGroup().forEach(element -> remoteBuilder.addDataIntLongPairList(element.serialize()));

        return remoteBuilder;
+6 −7
Original line number Diff line number Diff line
@@ -19,15 +19,14 @@
package org.apache.skywalking.oap.server.core.analysis.generated.all;

import java.util.*;
import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
import org.apache.skywalking.oap.server.core.alarm.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.storage.annotation.*;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.source.Scope;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntity;

/**
 * This class is auto generated. Please don't change this class manually.
@@ -75,11 +74,11 @@ public class AllP50Indicator extends P50Indicator implements AlarmSupported {
    @Override public RemoteData.Builder serialize() {
        RemoteData.Builder remoteBuilder = RemoteData.newBuilder();

        remoteBuilder.setDataLongs(0, getTimeBucket());
        remoteBuilder.addDataLongs(getTimeBucket());


        remoteBuilder.setDataIntegers(0, getValue());
        remoteBuilder.setDataIntegers(1, getPrecision());
        remoteBuilder.addDataIntegers(getValue());
        remoteBuilder.addDataIntegers(getPrecision());
        getDetailGroup().forEach(element -> remoteBuilder.addDataIntLongPairList(element.serialize()));

        return remoteBuilder;
+6 −7
Original line number Diff line number Diff line
@@ -19,15 +19,14 @@
package org.apache.skywalking.oap.server.core.analysis.generated.all;

import java.util.*;
import org.apache.skywalking.oap.server.core.alarm.AlarmMeta;
import org.apache.skywalking.oap.server.core.alarm.AlarmSupported;
import org.apache.skywalking.oap.server.core.alarm.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.*;
import org.apache.skywalking.oap.server.core.analysis.indicator.annotation.IndicatorType;
import org.apache.skywalking.oap.server.core.remote.annotation.StreamData;
import org.apache.skywalking.oap.server.core.remote.grpc.proto.RemoteData;
import org.apache.skywalking.oap.server.core.storage.annotation.*;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.source.Scope;
import org.apache.skywalking.oap.server.core.storage.StorageBuilder;
import org.apache.skywalking.oap.server.core.storage.annotation.StorageEntity;

/**
 * This class is auto generated. Please don't change this class manually.
@@ -75,11 +74,11 @@ public class AllP75Indicator extends P75Indicator implements AlarmSupported {
    @Override public RemoteData.Builder serialize() {
        RemoteData.Builder remoteBuilder = RemoteData.newBuilder();

        remoteBuilder.setDataLongs(0, getTimeBucket());
        remoteBuilder.addDataLongs(getTimeBucket());


        remoteBuilder.setDataIntegers(0, getValue());
        remoteBuilder.setDataIntegers(1, getPrecision());
        remoteBuilder.addDataIntegers(getValue());
        remoteBuilder.addDataIntegers(getPrecision());
        getDetailGroup().forEach(element -> remoteBuilder.addDataIntLongPairList(element.serialize()));

        return remoteBuilder;
Loading