Browse Source

Merge pull request #931 from gravitl/hotfix_v0.12.1_db_mutex

set max open conns to 1 for sqlite
dcarns 3 years ago
parent
commit
400ce8843a
1 changed files with 1 additions and 11 deletions
  1. 1 11
      database/sqlite.go

+ 1 - 11
database/sqlite.go

@@ -5,7 +5,6 @@ import (
 	"errors"
 	"os"
 	"path/filepath"
-	"sync"
 
 	_ "github.com/mattn/go-sqlite3" // need to blank import this package
 )
@@ -28,8 +27,6 @@ var SQLITE_FUNCTIONS = map[string]interface{}{
 	CLOSE_DB:     sqliteCloseDB,
 }
 
-var mutex sync.Mutex
-
 func initSqliteDB() error {
 	// == create db file if not present ==
 	if _, err := os.Stat("data"); os.IsNotExist(err) {
@@ -45,6 +42,7 @@ func initSqliteDB() error {
 	if dbOpenErr != nil {
 		return dbOpenErr
 	}
+	SqliteDB.SetMaxOpenConns(1)
 	return nil
 }
 
@@ -63,8 +61,6 @@ func sqliteCreateTable(tableName string) error {
 
 func sqliteInsert(key string, value string, tableName string) error {
 	if key != "" && value != "" && IsJSONString(value) {
-		mutex.Lock()
-		defer mutex.Unlock()
 		insertSQL := "INSERT OR REPLACE INTO " + tableName + " (key, value) VALUES (?, ?)"
 		statement, err := SqliteDB.Prepare(insertSQL)
 		if err != nil {
@@ -82,8 +78,6 @@ func sqliteInsert(key string, value string, tableName string) error {
 
 func sqliteInsertPeer(key string, value string) error {
 	if key != "" && value != "" && IsJSONString(value) {
-		mutex.Lock()
-		defer mutex.Unlock()
 		err := sqliteInsert(key, value, PEERS_TABLE_NAME)
 		if err != nil {
 			return err
@@ -94,8 +88,6 @@ func sqliteInsertPeer(key string, value string) error {
 }
 
 func sqliteDeleteRecord(tableName string, key string) error {
-	mutex.Lock()
-	defer mutex.Unlock()
 	deleteSQL := "DELETE FROM " + tableName + " WHERE key = \"" + key + "\""
 	statement, err := SqliteDB.Prepare(deleteSQL)
 	if err != nil {
@@ -109,8 +101,6 @@ func sqliteDeleteRecord(tableName string, key string) error {
 }
 
 func sqliteDeleteAllRecords(tableName string) error {
-	mutex.Lock()
-	defer mutex.Unlock()
 	deleteSQL := "DELETE FROM " + tableName
 	statement, err := SqliteDB.Prepare(deleteSQL)
 	if err != nil {