Skip to content

Commit 8469a50

Browse files
committed
spanner: fix stream destroy bug
1 parent 925e651 commit 8469a50

2 files changed

Lines changed: 19 additions & 3 deletions

File tree

packages/spanner/src/transaction.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -371,7 +371,7 @@ Transaction.prototype.requestStream = function(config) {
371371
return;
372372
}
373373

374-
requestStream.destroy();
374+
requestStream.end();
375375
userStream.destroy();
376376

377377
if (self.shouldRetry_(err)) {

packages/spanner/test/transaction.js

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -612,6 +612,14 @@ describe('Transaction', function() {
612612
var error = { code: 10 };
613613
var stream;
614614

615+
var end = fakeStream.end;
616+
var ended = false;
617+
618+
fakeStream.end = function() {
619+
ended = true;
620+
return end.call(fakeStream);
621+
};
622+
615623
transaction.shouldRetry_ = function(err) {
616624
assert.strictEqual(err, error);
617625
return true;
@@ -620,7 +628,7 @@ describe('Transaction', function() {
620628
transaction.runFn_ = done; // should not be called
621629

622630
transaction.retry_ = function() {
623-
assert(fakeStream._destroyed);
631+
assert(ended);
624632
assert(stream._destroyed);
625633
done();
626634
};
@@ -635,6 +643,14 @@ describe('Transaction', function() {
635643
var error = { code: 10 };
636644
var stream;
637645

646+
var end = fakeStream.end;
647+
var ended = false;
648+
649+
fakeStream.end = function() {
650+
ended = true;
651+
return end.call(fakeStream);
652+
};
653+
638654
var deadlineError = {};
639655
var createDeadlineError = Transaction.createDeadlineError_;
640656

@@ -652,7 +668,7 @@ describe('Transaction', function() {
652668

653669
transaction.runFn_ = function(err) {
654670
assert.strictEqual(err, deadlineError);
655-
assert(fakeStream._destroyed);
671+
assert(ended);
656672
assert(stream._destroyed);
657673

658674
Transaction.createDeadlineError_ = createDeadlineError;

0 commit comments

Comments
 (0)