Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

xds: HttpFilter support #7932

Merged
merged 27 commits into from
Mar 17, 2021
Merged
Show file tree
Hide file tree
Changes from 10 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
0e292de
xds: HttpFilter support
dapengzhang0 Mar 2, 2021
50a8bdf
add tests
dapengzhang0 Mar 2, 2021
c93e4a2
move constructor after fields declaration
dapengzhang0 Mar 4, 2021
c2678cb
add javadoc and rename field name in Registry
dapengzhang0 Mar 4, 2021
2d78841
Merge branch 'master' of https://github.com/grpc/grpc-java into httpf…
dapengzhang0 Mar 4, 2021
23781b9
minor cleanup
dapengzhang0 Mar 4, 2021
c9fda44
change parseFilterConfig argument type
dapengzhang0 Mar 5, 2021
d6857a3
Merge branch 'master' of https://github.com/grpc/grpc-java into httpf…
dapengzhang0 Mar 8, 2021
d2ba7df
remove empty line
dapengzhang0 Mar 8, 2021
884cc4c
fix typo
dapengzhang0 Mar 8, 2021
dc46c71
use util method to avoid duplicate code
dapengzhang0 Mar 9, 2021
6e8f269
futhure reduce duplicate code
dapengzhang0 Mar 10, 2021
5027c65
enhance error message
dapengzhang0 Mar 10, 2021
193677d
remove unused fields in FaultConfig data type
dapengzhang0 Mar 10, 2021
700305d
change generateServiceConfig() signature
dapengzhang0 Mar 11, 2021
db898a5
Merge branch 'master' of https://github.com/grpc/grpc-java into httpf…
dapengzhang0 Mar 12, 2021
ab14e89
move test
dapengzhang0 Mar 12, 2021
69356f1
append LameFilter
dapengzhang0 Mar 12, 2021
4805d43
override toString() for filter config
dapengzhang0 Mar 13, 2021
2552468
Merge branch 'master' of https://github.com/grpc/grpc-java into httpf…
dapengzhang0 Mar 17, 2021
1a9141b
simplify field assignment
dapengzhang0 Mar 17, 2021
641dfe3
remove hasLameFilter()
dapengzhang0 Mar 17, 2021
c8298cc
equals() and hashCode()
dapengzhang0 Mar 17, 2021
934815a
add HttpFilter to printables
dapengzhang0 Mar 17, 2021
9485e53
refactor Filter.Registry
dapengzhang0 Mar 17, 2021
10c2646
refactor NamedFilter
dapengzhang0 Mar 17, 2021
937f2b3
rename Filter.StructOrError to Filter.ConfigOrError
dapengzhang0 Mar 17, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
361 changes: 181 additions & 180 deletions xds/src/main/java/io/grpc/xds/ClientXdsClient.java

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,14 @@
import com.google.auto.value.AutoValue;
import com.google.common.collect.ImmutableList;
import io.grpc.Status;
import io.grpc.xds.Filter.FilterConfig;
import io.grpc.xds.Matchers.HeaderMatcher;
import java.util.List;
import javax.annotation.Nullable;

/** Fault injection configurations. */
@AutoValue
abstract class HttpFault {
abstract class FaultConfig implements FilterConfig {
@Nullable
abstract FaultDelay faultDelay();

Expand All @@ -43,10 +44,16 @@ abstract class HttpFault {
@Nullable
abstract Integer maxActiveFaults();

static HttpFault create(@Nullable FaultDelay faultDelay, @Nullable FaultAbort faultAbort,
@Override
public final String typeUrl() {
return FaultFilter.TYPE_URL;
}

static FaultConfig create(
@Nullable FaultDelay faultDelay, @Nullable FaultAbort faultAbort,
String upstreamCluster, List<String> downstreamNodes, List<HeaderMatcher> headers,
@Nullable Integer maxActiveFaults) {
return new AutoValue_HttpFault(faultDelay, faultAbort, upstreamCluster,
return new AutoValue_FaultConfig(faultDelay, faultAbort, upstreamCluster,
ImmutableList.copyOf(downstreamNodes), ImmutableList.copyOf(headers), maxActiveFaults);
}

Expand All @@ -70,7 +77,7 @@ static FaultDelay forHeader(FractionalPercent percentage) {

private static FaultDelay create(
@Nullable Long delayNanos, boolean headerDelay, FractionalPercent percent) {
return new AutoValue_HttpFault_FaultDelay(delayNanos, headerDelay, percent);
return new AutoValue_FaultConfig_FaultDelay(delayNanos, headerDelay, percent);
}
}

Expand All @@ -95,7 +102,7 @@ static FaultAbort forHeader(FractionalPercent percent) {

private static FaultAbort create(
@Nullable Status status, boolean headerAbort, FractionalPercent percent) {
return new AutoValue_HttpFault_FaultAbort(status, headerAbort, percent);
return new AutoValue_FaultConfig_FaultAbort(status, headerAbort, percent);
}
}

Expand Down Expand Up @@ -123,7 +130,7 @@ static FractionalPercent perMillion(int numerator) {

static FractionalPercent create(
int numerator, DenominatorType denominatorType) {
return new AutoValue_HttpFault_FractionalPercent(numerator, denominatorType);
return new AutoValue_FaultConfig_FractionalPercent(numerator, denominatorType);
}
}
}
Loading