Skip to content
This repository was archived by the owner on Mar 4, 2025. It is now read-only.

Commit fe06757

Browse files
committed
common, webui: Use new Minio naming when deleting live databases
1 parent c57a409 commit fe06757

File tree

2 files changed

+18
-32
lines changed

2 files changed

+18
-32
lines changed

common/minio.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ func LiveRetrieveDatabaseMinio(baseDir, dbOwner, dbName, objectID string) (dbPat
5050
}
5151
var bkt string
5252
if usr.MinioBucket == "" {
53+
// No bucket name is stored for the user, so the database will be using the initial "live-username" approach
5354
bkt = fmt.Sprintf("live-%s", dbOwner)
5455
} else {
5556
bkt = usr.MinioBucket

webui/main.go

Lines changed: 17 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2269,64 +2269,49 @@ func deleteDatabaseHandler(w http.ResponseWriter, r *http.Request) {
22692269
err = com.InvalidateCacheEntry(loggedInUser, dbOwner, dbName, "") // Empty string indicates "for all versions"
22702270
if err != nil {
22712271
// Something went wrong when invalidating memcached entries for the database
2272-
log.Printf("Error when invalidating memcache entries: %s\n", err.Error())
2272+
log.Printf("Error when invalidating memcache entries: %s", err.Error())
22732273
return
22742274
}
22752275
}
22762276

2277-
// Delete the database
2278-
err = com.DeleteDatabase(dbOwner, dbName)
2279-
if err != err {
2280-
w.WriteHeader(http.StatusInternalServerError)
2281-
fmt.Fprint(w, "Internal server error")
2282-
return
2283-
}
2284-
22852277
// For a live database, delete it from both Minio and our AMQP backend
2286-
// FIXME: This code to delete the live database from the AMQP backend was directly copied from
2287-
// FIXME api/main.go. Move the code into a shared function at some point
22882278
if isLive {
2289-
// Delete the database from Minio
2290-
bucket := fmt.Sprintf("live-%s", dbOwner)
2291-
id := dbName
2292-
err = com.MinioDeleteDatabase("webUI", dbOwner, dbName, bucket, id)
2279+
// Get the Minio bucket name and object id
2280+
var bucket, objectID string
2281+
bucket, objectID, err = com.LiveGetMinioNames(dbOwner, dbOwner, dbName)
22932282
if err != nil {
22942283
w.WriteHeader(http.StatusInternalServerError)
22952284
fmt.Fprint(w, "Internal server error")
22962285
log.Println(err)
22972286
return
22982287
}
22992288

2300-
// Delete the database from our AMQP backend
2301-
var rawResponse []byte
2302-
rawResponse, err = com.MQRequest(com.AmqpChan, liveNode, "delete", loggedInUser, dbOwner, dbName, "")
2289+
// Delete the database from Minio
2290+
err = com.MinioDeleteDatabase("webUI", dbOwner, dbName, bucket, objectID)
23032291
if err != nil {
23042292
w.WriteHeader(http.StatusInternalServerError)
23052293
fmt.Fprint(w, "Internal server error")
23062294
log.Println(err)
23072295
return
23082296
}
23092297

2310-
// Decode the response
2311-
var resp com.LiveDBErrorResponse
2312-
err = json.Unmarshal(rawResponse, &resp)
2298+
// Delete the database from our AMQP backend
2299+
err = com.LiveDelete(liveNode, loggedInUser, dbOwner, dbName)
23132300
if err != nil {
23142301
w.WriteHeader(http.StatusInternalServerError)
23152302
fmt.Fprint(w, "Internal server error")
23162303
log.Println(err)
23172304
return
23182305
}
2319-
if resp.Error != "" {
2320-
err = errors.New(resp.Error)
2321-
w.WriteHeader(http.StatusInternalServerError)
2322-
fmt.Fprint(w, resp.Error)
2323-
log.Println(err)
2324-
return
2325-
}
2326-
if resp.Node == "" {
2327-
log.Printf("In webUI (Live) deleteDatabaseHandler(). A node responded, but didn't identify itself.")
2328-
return
2329-
}
2306+
}
2307+
2308+
// Delete the database in PostgreSQL
2309+
err = com.DeleteDatabase(dbOwner, dbName)
2310+
if err != err {
2311+
w.WriteHeader(http.StatusInternalServerError)
2312+
fmt.Fprint(w, "Internal server error")
2313+
log.Println(err)
2314+
return
23302315
}
23312316

23322317
// Update succeeded

0 commit comments

Comments
 (0)