Skip to content

Commit 3fb5164

Browse files
committed
Revert some strong+pedantic changes for async/await
1 parent 23298fc commit 3fb5164

File tree

4 files changed

+38
-31
lines changed

4 files changed

+38
-31
lines changed

src/database.ts

+12-3
Original file line numberDiff line numberDiff line change
@@ -1130,6 +1130,8 @@ class Database extends common.GrpcServiceObject {
11301130
} catch (e) {
11311131
setSpanErrorAndException(span, e as Error);
11321132
this.emit('error', e);
1133+
} finally {
1134+
span.end();
11331135
}
11341136
});
11351137
}
@@ -3086,6 +3088,11 @@ class Database extends common.GrpcServiceObject {
30863088
// Create a new data stream and add it to the end user stream.
30873089
dataStream = this.runStream(query, options);
30883090
dataStream.pipe(proxyStream);
3091+
dataStream.on('end', () => span.end());
3092+
dataStream.on('error', err => {
3093+
setSpanError(span, err);
3094+
span.end();
3095+
});
30893096
} else {
30903097
proxyStream.destroy(err);
30913098
snapshot.end();
@@ -3101,7 +3108,9 @@ class Database extends common.GrpcServiceObject {
31013108
if (err) {
31023109
setSpanError(span, err);
31033110
}
3104-
span.end();
3111+
if (span.isRecording()) {
3112+
span.end();
3113+
}
31053114
});
31063115

31073116
return proxyStream as PartialResultStream;
@@ -3219,6 +3228,7 @@ class Database extends common.GrpcServiceObject {
32193228
this.runTransaction(options, (err, txn) => {
32203229
if (err) {
32213230
setSpanError(span, err);
3231+
span.end();
32223232
runFn!(err, null);
32233233
return;
32243234
}
@@ -3285,7 +3295,7 @@ class Database extends common.GrpcServiceObject {
32853295
options
32863296
);
32873297

3288-
runner.run().then(release, async err => {
3298+
runner.run().then(release, err => {
32893299
setSpanError(span, err);
32903300

32913301
if (isSessionNotFoundError(err)) {
@@ -3662,7 +3672,6 @@ class Database extends common.GrpcServiceObject {
36623672
});
36633673
return;
36643674
}
3665-
36663675
if (err) {
36673676
setSpanError(span, err);
36683677
span.end();

src/instrument.ts

-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,6 @@ function ensureInitialContextManagerSet() {
119119
}
120120
export {ensureInitialContextManagerSet};
121121

122-
const debugTraces = process.env.SPANNER_DEBUG_TRACES === 'true';
123-
124122
/**
125123
* startTrace begins an active span in the current active context
126124
* and passes it back to the set callback function. Each span will

src/table.ts

+4-6
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,8 @@ import {
2929
CommitCallback,
3030
} from './transaction';
3131
import {google as databaseAdmin} from '../protos/protos';
32-
import {google} from '../protos/protos';
3332
import {Schema, LongRunningCallback} from './common';
3433
import IRequestOptions = databaseAdmin.spanner.v1.IRequestOptions;
35-
import {grpc} from 'google-gax';
3634
import {
3735
ObservabilityOptions,
3836
startTrace,
@@ -1108,21 +1106,21 @@ class Table {
11081106
requestOptions: requestOptions,
11091107
excludeTxnFromChangeStreams: excludeTxnFromChangeStreams,
11101108
},
1111-
async (err, transaction) => {
1109+
(err, transaction) => {
11121110
if (err) {
11131111
setSpanError(span, err);
11141112
span.end();
1115-
await callback(err);
1113+
callback(err);
11161114
return;
11171115
}
11181116

11191117
transaction![method](this.name, rows as Key[]);
1120-
transaction!.commit(options, async (err, resp) => {
1118+
transaction!.commit(options, (err, resp) => {
11211119
if (err) {
11221120
setSpanError(span, err);
11231121
}
11241122
span.end();
1125-
await callback(err, resp);
1123+
callback(err, resp);
11261124
});
11271125
}
11281126
);

src/transaction.ts

+22-20
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,7 @@ export class Snapshot extends EventEmitter {
470470
// and doesn't invoke any other subsequent code hence it is paramount
471471
// to invoke span.end() before returning results to the callback.
472472
span.end();
473-
await callback!(err, resp);
473+
callback!(err, resp);
474474
}
475475
);
476476
});
@@ -784,7 +784,9 @@ export class Snapshot extends EventEmitter {
784784
if (err) {
785785
setSpanError(span, err);
786786
}
787-
span.end();
787+
if (span.isRecording()) {
788+
span.end();
789+
}
788790
});
789791
}
790792

@@ -1316,8 +1318,8 @@ export class Snapshot extends EventEmitter {
13161318
} catch (e) {
13171319
const errorStream = new PassThrough();
13181320
setSpanErrorAndException(span, e as Error);
1319-
setImmediate(() => errorStream.destroy(e as Error));
13201321
span.end();
1322+
setImmediate(() => errorStream.destroy(e as Error));
13211323
return errorStream;
13221324
}
13231325
}
@@ -2135,19 +2137,22 @@ export class Transaction extends Dml {
21352137
} else if (!this._useInRunner) {
21362138
reqOpts.singleUseTransaction = this._options;
21372139
} else {
2138-
try {
2139-
await this.begin();
2140-
const resp = await this.commit(options);
2141-
span.end();
2142-
await callback(
2143-
null,
2144-
resp as spannerClient.spanner.v1.ICommitResponse
2145-
);
2146-
} catch (err) {
2147-
setSpanErrorAndException(span, err as Error);
2148-
span.end();
2149-
await callback(err as ServiceError, null);
2150-
}
2140+
this.begin().then(
2141+
() => {
2142+
this.commit(options, (err, resp) => {
2143+
if (err) {
2144+
setSpanError(span, err);
2145+
}
2146+
span.end();
2147+
callback(err, resp);
2148+
});
2149+
},
2150+
err => {
2151+
setSpanError(span, err);
2152+
span.end();
2153+
callback(err, null);
2154+
}
2155+
);
21512156
return;
21522157
}
21532158

@@ -2185,10 +2190,7 @@ export class Transaction extends Dml {
21852190
gaxOpts: gaxOpts,
21862191
headers: headers,
21872192
},
2188-
async (
2189-
err: null | Error,
2190-
resp: spannerClient.spanner.v1.ICommitResponse
2191-
) => {
2193+
(err: null | Error, resp: spannerClient.spanner.v1.ICommitResponse) => {
21922194
this.end();
21932195

21942196
if (err) {

0 commit comments

Comments
 (0)