Skip to content

Commit c8e7bed

Browse files
committed
feat:support fault injection.
1 parent 0a68711 commit c8e7bed

File tree

3 files changed

+17
-17
lines changed

3 files changed

+17
-17
lines changed

polaris-fault/polaris-fault-api/src/main/java/com/tencent/polaris/fault/api/rpc/FaultRequest.java

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -17,34 +17,34 @@
1717

1818
package com.tencent.polaris.fault.api.rpc;
1919

20-
import com.tencent.polaris.api.rpc.RequestBaseEntity;
20+
import com.tencent.polaris.api.pojo.ServiceKey;
2121
import com.tencent.polaris.metadata.core.manager.MetadataContext;
2222

2323
/**
2424
* 故障注入请求
2525
*
2626
* @author Haotian Zhang
2727
*/
28-
public class FaultRequest extends RequestBaseEntity {
28+
public class FaultRequest {
2929

30-
private final String namespace;
30+
private final ServiceKey sourceService;
3131

32-
private final String service;
32+
private final ServiceKey targetService;
3333

3434
private final MetadataContext metadataContext;
3535

36-
public FaultRequest(String namespace, String service, MetadataContext metadataContext) {
37-
this.namespace = namespace;
38-
this.service = service;
36+
public FaultRequest(String sourceNamespace, String sourceService, String targetNamespace, String targetService, MetadataContext metadataContext) {
37+
this.sourceService = new ServiceKey(sourceNamespace, sourceService);
38+
this.targetService = new ServiceKey(targetNamespace, targetService);
3939
this.metadataContext = metadataContext;
4040
}
4141

42-
public String getNamespace() {
43-
return namespace;
42+
public ServiceKey getSourceService() {
43+
return sourceService;
4444
}
4545

46-
public String getService() {
47-
return service;
46+
public ServiceKey getTargetService() {
47+
return targetService;
4848
}
4949

5050
public MetadataContext getMetadataContext() {
@@ -54,8 +54,8 @@ public MetadataContext getMetadataContext() {
5454
@Override
5555
public String toString() {
5656
return "FaultRequest{" +
57-
"namespace='" + namespace + '\'' +
58-
", service='" + service + '\'' +
57+
"sourceService=" + sourceService +
58+
", targetService=" + targetService +
5959
", metadataContext=" + metadataContext +
6060
'}';
6161
}

polaris-fault/polaris-fault-client/src/main/java/com/tencent/polaris/fault/client/flow/DefaultFaultFlow.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,16 +81,15 @@ public FaultResponse fault(FaultRequest faultRequest) throws PolarisException {
8181
}
8282

8383
FaultResponse faultResponse = new FaultResponse(false);
84-
ServiceKey serviceKey = new ServiceKey(faultRequest.getNamespace(), faultRequest.getService());
85-
List<FaultInjectionProto.FaultInjection> faultInjectionRules = getFaultInjectionRules(serviceKey);
84+
List<FaultInjectionProto.FaultInjection> faultInjectionRules = getFaultInjectionRules(faultRequest.getTargetService());
8685
if (CollectionUtils.isNotEmpty(faultInjectionRules)) {
8786
for (FaultInjectionProto.FaultInjection faultInjection : faultInjectionRules) {
8887
if (faultInjection != null && faultInjection.getEnabled().getValue()) {
8988
LOG.debug("FaultInjectionProto.FaultInjection:{}", faultInjection);
9089

9190
// 匹配source规则
9291
boolean sourceMatched = matchSource(faultInjection.getSourcesList(),
93-
serviceKey, faultRequest.getMetadataContext().getMetadataContainerGroup(false));
92+
faultRequest.getSourceService(), faultRequest.getMetadataContext().getMetadataContainerGroup(false));
9493
if (!sourceMatched) {
9594
LOG.debug("Source not matched, skipping fault injection. FaultInjectionProto.FaultInjection:{}", faultInjection);
9695
continue;

polaris-fault/polaris-fault-client/src/main/java/com/tencent/polaris/fault/client/utils/FaultValidator.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ public static void validateFaultRequest(FaultRequest faultRequest) throws Polari
3434
if (null == faultRequest) {
3535
throw new PolarisException(ErrorCode.API_INVALID_ARGUMENT, "FaultRequest can not be null");
3636
}
37-
CommonValidator.validateNamespaceService(faultRequest.getNamespace(), faultRequest.getService());
37+
CommonValidator.validateService(faultRequest.getSourceService());
38+
CommonValidator.validateService(faultRequest.getTargetService());
3839
}
3940
}

0 commit comments

Comments
 (0)