Fix `timeBucket` not taking effect in EqualsAndHashCode annotation. (#6153)
This commit is contained in:
parent
e3fbb3f705
commit
5fd06a7c4a
|
|
@ -54,6 +54,7 @@ Release Notes.
|
|||
* Fix bug that istio version metric type on UI template mismatches the otel rule.
|
||||
* Improve ReadWriteSafeCache concurrency read-write performance
|
||||
* Fix bug that if use JSON as InfluxDB.ResponseFormat then NumberFormatException maybe occur.
|
||||
* Fix `timeBucket` not taking effect in EqualsAndHashCode annotation of some relationship metrics.
|
||||
|
||||
#### UI
|
||||
* Fix un-removed tags in trace query.
|
||||
|
|
|
|||
|
|
@ -35,9 +35,8 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
|
|||
@Stream(name = EndpointRelationServerSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.ENDPOINT_RELATION,
|
||||
builder = EndpointRelationServerSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
|
||||
@EqualsAndHashCode(of = {
|
||||
"entityId",
|
||||
"timeBucket"
|
||||
})
|
||||
"entityId"
|
||||
}, callSuper = true)
|
||||
public class EndpointRelationServerSideMetrics extends Metrics {
|
||||
|
||||
public static final String INDEX_NAME = "endpoint_relation_server_side";
|
||||
|
|
|
|||
|
|
@ -35,9 +35,8 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
|
|||
@Stream(name = ServiceInstanceRelationClientSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_INSTANCE_RELATION,
|
||||
builder = ServiceInstanceRelationClientSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
|
||||
@EqualsAndHashCode(of = {
|
||||
"entityId",
|
||||
"timeBucket"
|
||||
})
|
||||
"entityId"
|
||||
}, callSuper = true)
|
||||
public class ServiceInstanceRelationClientSideMetrics extends Metrics {
|
||||
|
||||
public static final String INDEX_NAME = "service_instance_relation_client_side";
|
||||
|
|
|
|||
|
|
@ -35,9 +35,8 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
|
|||
@Stream(name = ServiceInstanceRelationServerSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_INSTANCE_RELATION,
|
||||
builder = ServiceInstanceRelationServerSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
|
||||
@EqualsAndHashCode(of = {
|
||||
"entityId",
|
||||
"timeBucket"
|
||||
})
|
||||
"entityId"
|
||||
}, callSuper = true)
|
||||
public class ServiceInstanceRelationServerSideMetrics extends Metrics {
|
||||
|
||||
public static final String INDEX_NAME = "service_instance_relation_server_side";
|
||||
|
|
|
|||
|
|
@ -35,9 +35,8 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
|
|||
@Stream(name = ServiceRelationClientSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_RELATION,
|
||||
builder = ServiceRelationClientSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
|
||||
@EqualsAndHashCode(of = {
|
||||
"entityId",
|
||||
"timeBucket"
|
||||
})
|
||||
"entityId"
|
||||
}, callSuper = true)
|
||||
public class ServiceRelationClientSideMetrics extends Metrics {
|
||||
|
||||
public static final String INDEX_NAME = "service_relation_client_side";
|
||||
|
|
|
|||
|
|
@ -35,9 +35,8 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
|
|||
@Stream(name = ServiceRelationServerSideMetrics.INDEX_NAME, scopeId = DefaultScopeDefine.SERVICE_RELATION,
|
||||
builder = ServiceRelationServerSideMetrics.Builder.class, processor = MetricsStreamProcessor.class)
|
||||
@EqualsAndHashCode(of = {
|
||||
"entityId",
|
||||
"timeBucket"
|
||||
})
|
||||
"entityId"
|
||||
}, callSuper = true)
|
||||
public class ServiceRelationServerSideMetrics extends Metrics {
|
||||
|
||||
public static final String INDEX_NAME = "service_relation_server_side";
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
|
||||
package org.apache.skywalking.oap.server.core.analysis.metrics;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.apache.skywalking.oap.server.core.analysis.TimeBucket;
|
||||
|
|
@ -29,6 +30,9 @@ import org.apache.skywalking.oap.server.core.storage.annotation.Column;
|
|||
* Metrics represents the statistic data, which analysis by OAL script or hard code. It has the lifecycle controlled by
|
||||
* TTL(time to live).
|
||||
*/
|
||||
@EqualsAndHashCode(of = {
|
||||
"timeBucket"
|
||||
})
|
||||
public abstract class Metrics extends StreamData implements StorageData {
|
||||
|
||||
public static final String TIME_BUCKET = "time_bucket";
|
||||
|
|
|
|||
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.skywalking.oap.server.core.analysis.manual.relation.endpoint;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class EndpointCallRelationTest {
|
||||
@Test
|
||||
public void testEndpointRelationServerSideMetricsEquals() {
|
||||
EndpointRelationServerSideMetrics thisObject = new EndpointRelationServerSideMetrics();
|
||||
thisObject.setEntityId(
|
||||
"VXNlcg==.0-VXNlcg==-em1iaXotcHJvbW90aW9uMi1hZG1pbkAxMjUyNw==.1-L0Bpbi9hcGkvaGVhbHRo");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
EndpointRelationServerSideMetrics otherObject = new EndpointRelationServerSideMetrics();
|
||||
otherObject.setEntityId(
|
||||
"VXNlcg==.0-VXNlcg==-em1iaXotcHJvbW90aW9uMi1hZG1pbkAxMjUyNw==.1-L0Bpbi9hcGkvaGVhbHRo");
|
||||
otherObject.setTimeBucket(202101071505L);
|
||||
|
||||
Assert.assertTrue(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testEndpointRelationServerSideMetricsNotEquals() {
|
||||
EndpointRelationServerSideMetrics thisObject = new EndpointRelationServerSideMetrics();
|
||||
thisObject.setEntityId(
|
||||
"VXNlcg==.0-VXNlcg==-em1iaXotcHJvbW90aW9uMi1hZG1pbkAxMjUyNw==.1-L0Bpbi9hcGkvaGVhbHRo");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
EndpointRelationServerSideMetrics otherObject = new EndpointRelationServerSideMetrics();
|
||||
otherObject.setEntityId(
|
||||
"VXNlcg==.0-VXNlcg==-em1iaXotcHJvbW90aW9uMi1hZG1pbkAxMjUyNw==.1-L0Bpbi9hcGkvaGVhbHRo");
|
||||
otherObject.setTimeBucket(202101071506L);
|
||||
|
||||
Assert.assertFalse(thisObject.equals(otherObject));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.skywalking.oap.server.core.analysis.manual.relation.instance;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ServiceInstanceRelationTest {
|
||||
@Test
|
||||
public void testServiceInstanceRelationClientSideMetricsEquals() {
|
||||
ServiceInstanceRelationClientSideMetrics thisObject = new ServiceInstanceRelationClientSideMetrics();
|
||||
thisObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceInstanceRelationClientSideMetrics otherObject = new ServiceInstanceRelationClientSideMetrics();
|
||||
otherObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
otherObject.setTimeBucket(202101071505L);
|
||||
|
||||
Assert.assertTrue(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceInstanceRelationClientSideMetricsNotEquals() {
|
||||
ServiceInstanceRelationClientSideMetrics thisObject = new ServiceInstanceRelationClientSideMetrics();
|
||||
thisObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceInstanceRelationClientSideMetrics otherObject = new ServiceInstanceRelationClientSideMetrics();
|
||||
otherObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
otherObject.setTimeBucket(202101071506L);
|
||||
|
||||
Assert.assertFalse(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceInstanceRelationServerSideMetricsEquals() {
|
||||
ServiceInstanceRelationServerSideMetrics thisObject = new ServiceInstanceRelationServerSideMetrics();
|
||||
thisObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceInstanceRelationServerSideMetrics otherObject = new ServiceInstanceRelationServerSideMetrics();
|
||||
otherObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
otherObject.setTimeBucket(202101071505L);
|
||||
|
||||
Assert.assertTrue(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceInstanceRelationServerSideMetricsNotEquals() {
|
||||
ServiceInstanceRelationServerSideMetrics thisObject = new ServiceInstanceRelationServerSideMetrics();
|
||||
thisObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceInstanceRelationServerSideMetrics otherObject = new ServiceInstanceRelationServerSideMetrics();
|
||||
otherObject.setEntityId(
|
||||
"em1jLWJlYWNvbi1taWRkbGV3YXJlQDExMTIz.1_MTAuMTExLjIzMi4yMDc=-MTkyLjE2OC40Ni4xNDM6NDY2MDY=.0_MTkyLjE2OC40Ni4xNDM6NDY2MDY=");
|
||||
otherObject.setTimeBucket(202101071506L);
|
||||
|
||||
Assert.assertFalse(thisObject.equals(otherObject));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
/*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The ASF licenses this file to You under the Apache License, Version 2.0
|
||||
* (the "License"); you may not use this file except in compliance with
|
||||
* the License. You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*
|
||||
*/
|
||||
|
||||
package org.apache.skywalking.oap.server.core.analysis.manual.relation.service;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class ServiceRelationTest {
|
||||
@Test
|
||||
public void testServiceRelationClientSideMetricsEquals() {
|
||||
ServiceRelationClientSideMetrics thisObject = new ServiceRelationClientSideMetrics();
|
||||
thisObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceRelationClientSideMetrics otherObject = new ServiceRelationClientSideMetrics();
|
||||
otherObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
otherObject.setTimeBucket(202101071505L);
|
||||
|
||||
Assert.assertTrue(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceRelationClientSideMetricsNotEquals() {
|
||||
ServiceRelationClientSideMetrics thisObject = new ServiceRelationClientSideMetrics();
|
||||
thisObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceRelationClientSideMetrics otherObject = new ServiceRelationClientSideMetrics();
|
||||
otherObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
otherObject.setTimeBucket(202101071506L);
|
||||
|
||||
Assert.assertFalse(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceRelationServerSideMetricsEquals() {
|
||||
ServiceRelationServerSideMetrics thisObject = new ServiceRelationServerSideMetrics();
|
||||
thisObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceRelationServerSideMetrics otherObject = new ServiceRelationServerSideMetrics();
|
||||
otherObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
otherObject.setTimeBucket(202101071505L);
|
||||
|
||||
Assert.assertTrue(thisObject.equals(otherObject));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testServiceRelationServerSideMetricsNotEquals() {
|
||||
ServiceRelationServerSideMetrics thisObject = new ServiceRelationServerSideMetrics();
|
||||
thisObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
thisObject.setTimeBucket(202101071505L);
|
||||
|
||||
ServiceRelationServerSideMetrics otherObject = new ServiceRelationServerSideMetrics();
|
||||
otherObject.setEntityId("VXNlcg==.0-em0tY2xpZW50LXNldHRpbmctd2ViYXBpQDEwNjQ4.1");
|
||||
otherObject.setTimeBucket(202101071506L);
|
||||
|
||||
Assert.assertFalse(thisObject.equals(otherObject));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue