diff --git a/docker-compose.yml b/docker-compose.yml index 8130b72..eea4933 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,6 +9,7 @@ services: restart: unless-stopped volumes: - ./data:/var/lib/mysql + command: --max_connections=2000 # this container's job is to initialize MySQL database. It should run just 1 time. databunker-init: #build: . diff --git a/src/storage/mysql-storage.go b/src/storage/mysql-storage.go index 2b62f31..2a04e9d 100644 --- a/src/storage/mysql-storage.go +++ b/src/storage/mysql-storage.go @@ -492,13 +492,16 @@ func (dbobj MySQLDB) getRecordInTableDo(q string, values []interface{}) (bson.M, } defer tx.Rollback() rows, err := tx.Query(q, values...) - if err == sql.ErrNoRows { - return nil, nil - } else if err != nil { + if err != nil { + if rows != nil { + rows.Close() + } + if err == sql.ErrNoRows { + return nil, nil + } return nil, err } defer rows.Close() - flag := rows.Next() if flag == false { fmt.Printf("no result, flag: %t\n", flag) diff --git a/src/users_api.go b/src/users_api.go index 9040ff3..eca99b3 100644 --- a/src/users_api.go +++ b/src/users_api.go @@ -146,7 +146,7 @@ func (e mainEnv) userGet(w http.ResponseWriter, r *http.Request, ps httprouter.P event.Record = userTOKEN } if err != nil { - returnError(w, r, "internal error", 405, nil, event) + returnError(w, r, "internal error", 405, err, event) return } authResult = e.enforceAuth(w, r, event)