diff --git a/dax/controller/client/client.go b/dax/controller/client/client.go index 146a88bfa..e88fe3943 100644 --- a/dax/controller/client/client.go +++ b/dax/controller/client/client.go @@ -702,12 +702,10 @@ func (c *Client) SnapshotTable(ctx context.Context, qtid dax.QualifiedTableID) e return nil } -func (c *Client) GetDatabaseNumberOfWorkers() (int, error) { - //url := fmt.Sprintf("%s/database-number-of-workers", c.address.WithScheme(defaultScheme)) - //url := fmt.Sprintf("%s/database-number-of-workers", "localhost:8080/controller") - - // url := fmt.Sprintf("%s/database-number-of-workers", c.address.WithScheme(defaultScheme)) - url := fmt.Sprintf("%s/database-number-of-workers", "http://localhost:8080/controller") +func (c *Client) GetDatabaseNumberOfWorkers(ctx context.Context, orgID string, databaseID string) (int, error) { + // baseEndpoint := c.address.WithScheme(defaultScheme) + baseEndpoint := "http://localhost:8080/controller" + url := fmt.Sprintf("%s/database-number-of-workers/%s/%s", baseEndpoint, orgID, databaseID) // print something //fmt.Println("GetDatabaseNumberOfWorkers url: %s", url) diff --git a/dax/controller/http/handler.go b/dax/controller/http/handler.go index 15fb2ccfb..6953de786 100644 --- a/dax/controller/http/handler.go +++ b/dax/controller/http/handler.go @@ -25,7 +25,7 @@ func Handler(c *controller.Controller) http.Handler { router.HandleFunc("/database-by-name", server.postDatabaseByName).Methods("POST").Name("PostDatabaseByName") router.HandleFunc("/databases", server.postDatabases).Methods("POST").Name("PostDatabases") router.HandleFunc("/database/options", server.patchDatabaseOptions).Methods("PATCH").Name("PatchDatabaseOptions") - router.HandleFunc("/database-number-of-workers", server.getDatabaseNumberOfWorkers).Methods("GET").Name("DatabaseWorkers") + router.HandleFunc("/database-number-of-workers/{organization-id}/{database-id}", server.getDatabaseNumberOfWorkers).Methods("GET").Name("DatabaseWorkers") router.HandleFunc("/create-table", server.postCreateTable).Methods("POST").Name("PostCreateTable") router.HandleFunc("/drop-table", server.postDropTable).Methods("POST").Name("PostDropTable") @@ -229,13 +229,10 @@ func (s *server) getDatabaseNumberOfWorkers(w http.ResponseWriter, r *http.Reque // get the context ctx := r.Context() - // create a variable to hold the id - var id dax.QualifiedDatabaseID - - // for now, fill the id with a hard-coded value - id = dax.QualifiedDatabaseID{ - OrganizationID: dax.OrganizationID("3ff24bf5-2dff-4c33-993a-8459d53c92c2"), - DatabaseID: dax.DatabaseID("b75114bf-75d4-4581-8899-7ba758548f56"), + // get the id from the request + id := dax.QualifiedDatabaseID{ + OrganizationID: dax.OrganizationID(mux.Vars(r)["organization-id"]), + DatabaseID: dax.DatabaseID(mux.Vars(r)["database-id"]), } //send the id into the controller, get the number of workers back diff --git a/dax/controller/sqldb/workerjob.go b/dax/controller/sqldb/workerjob.go index 22e00b12c..774f8dac7 100644 --- a/dax/controller/sqldb/workerjob.go +++ b/dax/controller/sqldb/workerjob.go @@ -87,22 +87,17 @@ func (w *workerJobService) WorkerCount(tx dax.Transaction, roleType dax.RoleType if roleType != "" { // print the role type - query = query.Where("role = ?", roleType) + query = query.Where(fmt.Sprintf("role_%s = true", roleType)) } - fmt.Println("query before: ", query) if qdbid.DatabaseID != "" { // print the database id fmt.Println("database id: [", qdbid.DatabaseID, "]") query = query.Where("database_id = ?", qdbid.DatabaseID) } - // sql := fmt.Sprintf("role_%s = true and database_id = ?", roleType) - // cnt, err := dt.C.Where(sql, qdbid.DatabaseID).Count(worker) - - // print the query - fmt.Println("query after: ", query) count, err := query.Count(worker) + return count, errors.Wrap(err, "getting count") }