in src/scaler/scaler-core/state.js [263:282]
async get() {
try {
const query = {
columns: STATE_KEY_DEFINITIONS.map((c) => c.name),
keySet: {keys: [{values: [{stringValue: this.getClusterId()}]}]},
};
const [rows] = await this.table.read(query);
if (rows.length == 0) {
return StateSpanner.convertFromStorage(await this.init());
}
return StateSpanner.convertFromStorage(rows[0].toJSON());
} catch (e) {
logger.fatal({
message: `Failed to read from Spanner State storage: ${StateSpanner.getStateDatabasePath(this.stateProjectId, this.stateDatabase)}/tables/${this.table.name}: ${e}`,
err: e,
});
throw e;
}
}