Browse Source

Ignore 409s in write-through cache

master
Andrew Kingston 4 years ago
parent
commit
c79e53db80
  1. 7
      packages/backend-core/src/cache/writethrough.ts
  2. 5
      packages/backend-core/src/logging.ts

7
packages/backend-core/src/cache/writethrough.ts

@ -1,5 +1,6 @@
import BaseCache from "./base"
import { getWritethroughClient } from "../redis/init"
import { logInfo } from "../logging"
const DEFAULT_WRITE_RATE_MS = 10000
let CACHE: BaseCache | null = null
@ -51,10 +52,8 @@ export async function put(
if (err.status !== 409) {
throw err
} else {
// get the rev, update over it - this is risky, may change in future
const readDoc = await db.get(doc._id)
doc._rev = readDoc._rev
await writeDb(doc)
// Swallow 409s but log them
logInfo(`Ignoring conflict in write-through cache`)
}
}
}

5
packages/backend-core/src/logging.ts

@ -15,6 +15,11 @@ export function logAlert(message: string, e?: any) {
console.error(`bb-alert: ${message} ${errorJson}`)
}
export function logInfo(message: string) {
console.warn(`bb-info: ${message}`)
}
export default {
logAlert,
logInfo,
}

Loading…
Cancel
Save