Я хочу обрабатывать данные из таблицы BigTable в потоке, но закончить поток раньше. Я использую этот код для Node.js (слегка измененный https://github.com/googleapis/nodejs-bigtable/blob/master/samples/document-snippets/table.js#L215):
const stream = new BigTable({projectId, keyFilename})
.instance(instanceId)
.table(tableName)
.createReadStream();
stream.on('data', () => {
stream.end();
});
stream.on('end', () => {
console.info('end');
stream.destroy();
});
stream.on('close', () => {
console.info('close');
});
Выход:
end
close
Но процесс еще не завершен. Итак, я считаю, что некоторые ресурсы не закрыты. Как мне остановить трансляцию и закрыть соответствующие ресурсы?





Похоже, это может быть ошибка в клиентской библиотеке. Я повторно разместил ваш вопрос как проблему github: https://github.com/googleapis/nodejs-bigtable/issues/506
Обновление: с тех пор это было исправлено, https://github.com/googleapis/nodejs-bigtable/pull/507. Версия клиента https://github.com/googleapis/nodejs-bigtable/tree/release-v2.0.4 и более поздние версии содержат исправление.