From 67729abd133b9b4249934de9cbb2061a481e0e89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=88=98=E7=A5=A5=E8=B6=85?= Date: Fri, 9 Sep 2022 21:06:43 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=A4=9A=E4=B8=AA=E6=97=A5?= =?UTF-8?q?=E5=BF=97=E6=95=B0=E6=8D=AE=E5=BA=93=E8=8A=82=E7=82=B9=E5=86=99?= =?UTF-8?q?=E5=85=A5NS=E6=97=A5=E5=BF=97=E6=97=B6=E5=88=86=E5=B8=83?= =?UTF-8?q?=E4=B8=8D=E5=B9=B3=E5=9D=87=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/db/models/db_node_initializer.go | 28 ++++++++++++++++------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/internal/db/models/db_node_initializer.go b/internal/db/models/db_node_initializer.go index f96f1bdd..81f9361a 100644 --- a/internal/db/models/db_node_initializer.go +++ b/internal/db/models/db_node_initializer.go @@ -100,21 +100,33 @@ func randomHTTPAccessLogDAO() (dao *HTTPAccessLogDAOWrapper) { return daoList[0] } - return daoList[rands.Int(0, len(daoList)-1)] + return daoList[rands.Int(0, l-1)] } func randomNSAccessLogDAO() (dao *NSAccessLogDAOWrapper) { accessLogLocker.RLock() + defer accessLogLocker.RUnlock() if len(nsAccessLogDAOMapping) == 0 { dao = nil - } else { - for _, d := range nsAccessLogDAOMapping { - dao = d - break - } + return } - accessLogLocker.RUnlock() - return + + var daoList = []*NSAccessLogDAOWrapper{} + + for _, d := range nsAccessLogDAOMapping { + daoList = append(daoList, d) + } + + var l = len(daoList) + if l == 0 { + return + } + + if l == 1 { + return daoList[0] + } + + return daoList[rands.Int(0, l-1)] } func findNSAccessLogTableName(db *dbs.DB, day string) (tableName string, ok bool, err error) {