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

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

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

Loading…
Cancel
Save