Skip to content
Snippets Groups Projects
Unverified Commit fe8e2f82 authored by Joe Zou's avatar Joe Zou Committed by GitHub
Browse files

Merge pull request #739 from skyao/improve/map-access-concurreny

Imp: Improve map access concurrency
parents 51f4bc31 6299ce4f
No related branches found
No related tags found
No related merge requests found
......@@ -98,7 +98,10 @@ func (rpc *RPCStatus) GetSuccessiveRequestFailureCount() int32 {
// GetURLStatus get URL RPC status.
func GetURLStatus(url common.URL) *RPCStatus {
rpcStatus, _ := serviceStatistic.LoadOrStore(url.Key(), &RPCStatus{})
rpcStatus, found := serviceStatistic.Load(url.Key())
if !found {
rpcStatus, _ = serviceStatistic.LoadOrStore(url.Key(), &RPCStatus{})
}
return rpcStatus.(*RPCStatus)
}
......@@ -107,15 +110,13 @@ func GetMethodStatus(url common.URL, methodName string) *RPCStatus {
identifier := url.Key()
methodMap, found := methodStatistics.Load(identifier)
if !found {
methodMap = &sync.Map{}
methodStatistics.Store(identifier, methodMap)
methodMap, _ = methodStatistics.LoadOrStore(identifier, &sync.Map{})
}
methodActive := methodMap.(*sync.Map)
rpcStatus, found := methodActive.Load(methodName)
if !found {
rpcStatus = &RPCStatus{}
methodActive.Store(methodName, rpcStatus)
rpcStatus, _ = methodActive.LoadOrStore(methodName, &RPCStatus{})
}
status := rpcStatus.(*RPCStatus)
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment