Fix: Handle datasource not exists for query
This commit is contained in:
parent
177c329e69
commit
19b9e593d6
|
@ -20,6 +20,7 @@ const handleError = (e: any, errors?: any) => {
|
|||
}
|
||||
return
|
||||
}
|
||||
console.trace(e)
|
||||
throw e
|
||||
}
|
||||
|
||||
|
|
|
@ -22,10 +22,23 @@ export const backfill = async (appDb: any, timestamp: string | number) => {
|
|||
const queries: Query[] = await getQueries(appDb)
|
||||
|
||||
for (const query of queries) {
|
||||
const datasource: Datasource = await getDatasource(
|
||||
appDb,
|
||||
query.datasourceId
|
||||
)
|
||||
let datasource: Datasource
|
||||
|
||||
try {
|
||||
datasource = await getDatasource(appDb, query.datasourceId)
|
||||
} catch (e: any) {
|
||||
// handle known bug where a datasource has been deleted
|
||||
// and the query has not
|
||||
if (e.status === 404) {
|
||||
datasource = {
|
||||
_id: query.datasourceId,
|
||||
source: "unknown",
|
||||
}
|
||||
} else {
|
||||
throw e
|
||||
}
|
||||
}
|
||||
|
||||
await events.query.created(datasource, query, timestamp)
|
||||
}
|
||||
|
||||
|
|
|
@ -105,7 +105,9 @@ export const run = async (db: any) => {
|
|||
if (!allUsers || allUsers.length === 0) {
|
||||
// first time startup - we don't need to backfill anything
|
||||
// tenant will be identified when admin user is created
|
||||
if (env.SELF_HOSTED) {
|
||||
await events.installation.firstStartup()
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue