add --clusterjobs option and default to 1
The default of 1 is not ideal at all, but it avoids an accidental M*N causing so much concurrency it becomes unusable.
This commit is contained in:
parent
1259ad89b6
commit
fbbedae497
8 changed files with 60 additions and 30 deletions
|
@ -181,9 +181,10 @@ type AcquireP2PConnection
|
|||
withP2PConnections
|
||||
:: AnnexWorkerPool
|
||||
-> ProxyConnectionPoolSize
|
||||
-> ClusterConcurrency
|
||||
-> (AcquireP2PConnection -> Annex a)
|
||||
-> Annex a
|
||||
withP2PConnections workerpool proxyconnectionpoolsize a = do
|
||||
withP2PConnections workerpool proxyconnectionpoolsize clusterconcurrency a = do
|
||||
myuuid <- getUUID
|
||||
reqv <- liftIO newEmptyTMVarIO
|
||||
relv <- liftIO newEmptyTMVarIO
|
||||
|
@ -241,7 +242,7 @@ withP2PConnections workerpool proxyconnectionpoolsize a = do
|
|||
Right (Right (Left clusteruuid)) -> proxyconnection $
|
||||
openProxyConnectionToCluster workerpool
|
||||
(connectionProtocolVersion connparams)
|
||||
bypass clusteruuid
|
||||
bypass clusteruuid clusterconcurrency
|
||||
Left ex -> return $ Left $
|
||||
ConnectionFailed $ show ex
|
||||
where
|
||||
|
@ -557,16 +558,20 @@ openProxyConnectionToRemote workerpool clientmaxversion bypass remote =
|
|||
(Proxy.closeRemoteSide remoteside)
|
||||
concurrencyconfig
|
||||
|
||||
type ClusterConcurrency = Int
|
||||
|
||||
openProxyConnectionToCluster
|
||||
:: AnnexWorkerPool
|
||||
-> P2P.ProtocolVersion
|
||||
-> P2P.Bypass
|
||||
-> ClusterUUID
|
||||
-> ClusterConcurrency
|
||||
-> IO (Either SomeException ProxyConnection)
|
||||
openProxyConnectionToCluster workerpool clientmaxversion bypass clusteruuid =
|
||||
openProxyConnectionToCluster workerpool clientmaxversion bypass clusteruuid concurrency =
|
||||
inAnnexWorker' workerpool $ do
|
||||
(proxyselector, closenodes, concurrencyconfig) <-
|
||||
(proxyselector, closenodes) <-
|
||||
clusterProxySelector clusteruuid clientmaxversion bypass
|
||||
concurrencyconfig <- Proxy.mkConcurrencyConfig concurrency
|
||||
liftIO $ openedProxyConnection (fromClusterUUID clusteruuid)
|
||||
proxyselector closenodes concurrencyconfig
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue