mirror of https://github.com/grpc/grpc-node.git
reset process env and add trace log
This commit is contained in:
parent
3aaf0c6e52
commit
a9aea45570
|
@ -91,11 +91,17 @@ const testWithAlternativeResolver = checkTask(() => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const resetEnv = () => {
|
||||||
|
process.env.GRPC_NODE_USE_ALTERNATIVE_RESOLVER = 'false';
|
||||||
|
return Promise.resolve();
|
||||||
|
};
|
||||||
|
|
||||||
const test = gulp.series(
|
const test = gulp.series(
|
||||||
install,
|
install,
|
||||||
copyTestFixtures,
|
copyTestFixtures,
|
||||||
runTests,
|
runTests,
|
||||||
testWithAlternativeResolver
|
testWithAlternativeResolver,
|
||||||
|
resetEnv
|
||||||
);
|
);
|
||||||
|
|
||||||
export { install, lint, clean, cleanAll, compile, test };
|
export { install, lint, clean, cleanAll, compile, test };
|
||||||
|
|
|
@ -73,7 +73,7 @@ class DnsResolver implements Resolver {
|
||||||
private isNextResolutionTimerRunning = false;
|
private isNextResolutionTimerRunning = false;
|
||||||
private isServiceConfigEnabled = true;
|
private isServiceConfigEnabled = true;
|
||||||
private returnedIpResult = false;
|
private returnedIpResult = false;
|
||||||
private independentResolver = new dns.Resolver();
|
private alternativeResolver = new dns.Resolver();
|
||||||
|
|
||||||
constructor(
|
constructor(
|
||||||
private target: GrpcUri,
|
private target: GrpcUri,
|
||||||
|
@ -82,7 +82,7 @@ class DnsResolver implements Resolver {
|
||||||
) {
|
) {
|
||||||
trace('Resolver constructed for target ' + uriToString(target));
|
trace('Resolver constructed for target ' + uriToString(target));
|
||||||
if (target.authority) {
|
if (target.authority) {
|
||||||
this.independentResolver.setServers([target.authority]);
|
this.alternativeResolver.setServers([target.authority]);
|
||||||
}
|
}
|
||||||
const hostPort = splitHostPort(target.path);
|
const hostPort = splitHostPort(target.path);
|
||||||
if (hostPort === null) {
|
if (hostPort === null) {
|
||||||
|
@ -297,9 +297,11 @@ class DnsResolver implements Resolver {
|
||||||
|
|
||||||
private async lookup(hostname: string): Promise<TcpSubchannelAddress[]> {
|
private async lookup(hostname: string): Promise<TcpSubchannelAddress[]> {
|
||||||
if (GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
|
if (GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
|
||||||
|
trace('Using alternative DNS resolver.');
|
||||||
|
|
||||||
const records = await Promise.allSettled([
|
const records = await Promise.allSettled([
|
||||||
this.independentResolver.resolve4(hostname),
|
this.alternativeResolver.resolve4(hostname),
|
||||||
this.independentResolver.resolve6(hostname),
|
this.alternativeResolver.resolve6(hostname),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (records.every(result => result.status === 'rejected')) {
|
if (records.every(result => result.status === 'rejected')) {
|
||||||
|
@ -328,7 +330,8 @@ class DnsResolver implements Resolver {
|
||||||
|
|
||||||
private async resolveTxt(hostname: string): Promise<string[][]> {
|
private async resolveTxt(hostname: string): Promise<string[][]> {
|
||||||
if (GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
|
if (GRPC_NODE_USE_ALTERNATIVE_RESOLVER) {
|
||||||
return this.independentResolver.resolveTxt(hostname);
|
trace('Using alternative DNS resolver.');
|
||||||
|
return this.alternativeResolver.resolveTxt(hostname);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dns.resolveTxt(hostname);
|
return dns.resolveTxt(hostname);
|
||||||
|
|
Loading…
Reference in New Issue